【问题标题】:Run terraform plan/init on AWS instance without internet access在没有互联网访问的情况下在 AWS 实例上运行 terraform plan/init
【发布时间】:2022-08-24 20:03:21
【问题描述】:

我正在尝试在没有互联网连接的情况下在 AWS 实例中运行 terraform。

我已经设法将 terraform 配置为使用离线模块运行(terraform init)

现在我尝试最小的行动部署另一个 AWS 实例

凭据已配置,并且我使用详细模式

Action=GetUser&Version=2010-05-08
[DEBUG] [aws-sdk-go] DEBUG: Send Request iam/GetUser failed, attempt 0/1, error RequestError: send request failed
caused by: Post \"https://iam.amazonaws.com/\": dial tcp 52.119.198.223:443: i/o timeout
[DEBUG] [aws-sdk-go] DEBUG: Retrying Request iam/GetUser, attempt 1
[DEBUG] [aws-sdk-go] DEBUG: Request iam/GetUser Details:
Host: iam.amazonaws.com
User-Agent: aws-sdk-go/1.35.19 (go1.14.5; linux; amd64) APN/1.0 HashiCorp/1.0 Terraform/1.2.7 (+https://www.terraform.io)
Content-Length: 33
Authorization: AWS4-HMAC-SHA256 Credential=<MY KEY>/us-east-1/iam/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature=2af8836c385a80f3d49d88ac
Content-Type: application/x-www-form-urlencoded; charset=utf-8
X-Amz-Date: 20220823T142231Z
Accept-Encoding: gzip

这是可以理解的......但我该如何绕过它? 谢谢。

  • 因此,您正在尝试在使用 terraform 代码的云提供商中部署一些东西,该代码需要互联网访问才能访问 AWS API 端点,但没有互联网访问?
  • iirc 您可以为所需的 AWS 服务创建 VPC 终端节点,如果它的 IAM 则为您使用的区域中的 IAM 的 VPC 终端节点。但不确定 VPC 终端节点是否支持 IAM 服务。
  • @MarkoE - 完全正确!
  • 你认为这会如何运作?

标签: amazon-web-services terraform terraform-provider-aws


【解决方案1】:

好吧,我已经做到了。 希望它会在未来对其他人有所帮助。

像这样配置我的提供程序:

provider "aws" {
  region                      = "us-east-1"
  skip_credentials_validation = true
  skip_metadata_api_check     = true
  skip_requesting_account_id  = true
  endpoints {
   ec2 = "vpce-XXXXXXXXXXXXX.ec2.us-east-1.vpce.amazonaws.com"
}

【讨论】:

    猜你喜欢
    • 2021-10-15
    • 2021-10-31
    • 2012-12-06
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    相关资源
    最近更新 更多