Amazon ec2 “配置资源”;aws“云分布”;以ec2为原点,地形

Amazon ec2 “配置资源”;aws“云分布”;以ec2为原点,地形,amazon-ec2,terraform,amazon-cloudfront,Amazon Ec2,Terraform,Amazon Cloudfront,我正在用Terraform建立一个“aws_cloud_distribution”,并试图将ec2设置为我的原点 在我的模块中,我有: origin { domain_name = var.domain_name origin_id = var.origin_id } 在主文件中,我调用这个模块并使用ec2公共dns的输出 module "cloudfront" { source = "./modules/cloudfront"

我正在用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"
}
当我运行计划时,我没有任何问题。但是,当我运行apply并开始构建过程时,会出现以下错误:

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


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

因此,我通过在origin参数中添加
custom\u origin\u 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"]
    }
  }
如果不定义自定义的\u origin\u config参数,Terraform默认为S3 origin。Terraform的AWS插件正在搜索s3 bucket,而不是要解析的AWS FQDN