【发布时间】:2020-06-10 01:00:38
【问题描述】:
我有一个 terraform 脚本,它部署了一个包含 route53 记录的微服务(我们称之为 myservice)。
此脚本在东京地区运行良好,因为该地区拥有 myservice 所需的所有 AWS 服务。
现在我要将myservice部署到中国宁夏地区的cn-norhthwest-1。
由于AWS中国不存在route53,目前我的解决方法是在普通AWS账户(即包含Tokyo, Ohio, Oregon的AWS账户)手动设置中国的myservice的域名... 地区)。
例如,将www.myservice.com.cn指向一条CNAME记录myservice-ningxia-elb-1234567890.cn-northwest-1.elb.amazonaws.com.cn,这是一个ELB在宁夏地区的域名。
如何使用 terraform 自动化这个过程?
这是我的文件夹结构:
.
├── environments
│ ├── ningxia
│ │ ├── main.tf
│ │ └── versions.tf
│ └── tokyo
│ ├── main.tf
│ └── versions.tf
└── modules
├── cloud-init.yaml
├── outputs.tf
├── myservice.tf
└── variables.tf
我可以通过运行在东京地区创建 myservice
cd environments && \
terraform init && \
terraform apply
这个post 表明我们可以使用以下代码在cn-northwest-1 区域中创建aws_route53_zone
# configure AWS provider for China region.
provider "aws" {
region = "cn-northwest-1"
access_key = AK
secret_key = SK
endpoints {
route53 = "https://api.route53.cn"
}
}
# create a route 53 pub zone
resource "aws_route53_zone" "test" {
name = "bobtest3.cn"
comment = "try to create a pub zone with terraform in China region v2!"
}
这怎么可能?
我什至在宁夏地区的 AWS 控制台中都找不到 route53。
【问题讨论】:
-
stackoverflow.com/a/52206826/2291321 回答你的问题了吗?
-
不,“担任角色”在 AWS 中国账户和非中国账户之间不起作用。
-
你有这方面的文件吗?我的印象是,在中国地区担任角色时,您只需要使用另一个 STS 端点。
标签: amazon-web-services terraform amazon-route53