我正在创建一个Route53 URL,指向CloudFront分配并击中API网关端点。我得到了Terraform定义的工作和正确部署的一切。但是,我需要为CloudFront分配添加标签。是否可以更改Terraform API网关域名资源上的标签信息?
下面是相关Terraform代码:
resource "aws_api_gateway_domain_name" "api-gateway-domain" {
domain_name = "${var.domain_name}"
certificate_arn = "${var.arn}
count = "${var.count}"
}
resource "aws_route53_record" "route53" {
zone_id = "${data.aws_route53_zone.route53-zone.zone_id}"
name = "${var.domain_name}"
type = "A"
alias {
name = "${aws_api_gateway_domain_name.api-gateway-domain.cloudfront_domain_name}"
zone_id = "${aws_api_gateway_domain_name.api-gateway-domain.cloudfront_zone_id}"
evaluate_target_health = true
}
count = "${var.count}"
}
我想知道如果我可以这样做"${aws_api_gateway_domain_name.api-gateway-domain.cloudfront_domain_name.id.tags}" = { TAGS = "foobar" }
或诸如此类的话。
这可能吗?或者是否必须手动设置CloudFront分配以将我的Route53 URL指向?
这是不是很清楚你想在这里实现什么。您的API网关前是否有Cloudfront发行版? API Gateway由Cloudfront支持,但创建API Gateway不会在您的AWS账户中创建Cloudfront分配资源。 – ydaetskcoR
根据aws_api_gateway_domain_name资源上的Terraform文档“内部API网关创建CloudFront分配以在给定主机名上路由请求。” (https://www.terraform.io/docs/providers/aws/r/api_gateway_domain_name.html) 在AWS文档上,“对于您创建的每个API,API Gateway都会为该API设置Amazon CloudFront分配。” (http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) Terraform使我可以通过api_gateway_domain_name访问CloudFront分配'domain_name'和'zone_id' '。 –