【问题标题】:Configure Resource "aws_cloud_distribution" with ec2 as the origin with Terraform使用 Terraform 配置以 ec2 作为源的资源“aws_cloud_distribution”
【发布时间】:2021-07-05 09:50:48
【问题描述】:

我正在使用 Terraform 设置“aws_cloud_distribution”并尝试将 ec2 设置为我的来源。

在我的模块中,我有:

origin {
    domain_name = var.domain_name
    origin_id = var.origin_id
  }

在主文件中,我调用这个模块并使用 ec2 公共 dns 的输出。

module "cloudfront" {
  source = "./modules/cloudfront"

  domain_name = module.ec2.ec2_public_dns

  origin_id = "myid"

  target_origin_id = "myid"
}

当我运行计划时,我没有任何问题。但是,当我运行应用并开始构建过程时,我收到以下错误:

创建 CloudFront 分配时出错:InvalidArgument:参数 源域名不引用有效的 S3 存储桶。 状态码:400

出于对公司其他基础设施的某些公司限制,我正在使用 terraform 0.13.6。这是 Terraform 版本问题还是我在配置步骤中遗漏了什么?

【问题讨论】:

    标签: amazon-ec2 terraform amazon-cloudfront


    【解决方案1】:

    所以,我通过在 origin 参数中添加 custom_origin_config 参数来解决这个问题。解决方案如下所示:

    origin {
        domain_name = var.domain_name
        origin_id = var.origin_id
        custom_origin_config {
          http_port = 80
          https_port = 443
          origin_protocol_policy = "match-viewer"
          origin_ssl_protocols = ["TLSv1"]
        }
      }
    

    如果您未定义 custom_origin_config 参数,Terraform 默认为 S3 源。 Terraform 的 AWS 插件正在搜索 s3 存储桶,而不是要解析的 AWS FQDN。

    【讨论】:

      猜你喜欢
      • 2021-03-03
      • 2019-11-17
      • 2023-02-11
      • 2020-04-22
      • 2018-06-30
      • 2020-09-02
      • 2022-01-13
      • 2019-05-14
      • 1970-01-01
      相关资源
      最近更新 更多