我正在尝试使用 ansible 来配置 Route53 故障转移(尽管我使用 ansible 的事实并不是特别相关)。
我有这个有效的任务:
- name: Route 53 Failover | Add ALIAS
route53:
command: create
zone: "{{ top_level_domain }}"
record: "{{ cname_record_domain }}"
type: A
alias: true
alias_hosted_zone_id: "Z2FDTNDATAQYW2"
value: "{{ cname_target_domain }}"
wait: yes
failover: SECONDARY
identifier: "{{ cname_record_identifier }}"
overwrite: true
硬编码的
alias_hosted_zone_id
是我的cloudfront发行版的托管区域。找到这个(据我所知)的唯一方法是在 Route53 控制台的“添加记录集”对话框中选择 cloudfront 发行版作为别名。然后它会在对话框中指出托管区域。
我想做的是将硬编码字符串替换为从
aws cli
命令或 ansible 任务填充的变量。这可能吗?
对于 CloudFront 发行版,该值始终为
Z2FDTNDATAQYW2
。
Route 53 文档本身的实际引用比我预期的更难以捉摸——(截至撰写本文时)该字符串有一些搜索引擎错误命中(大概正在进行一些文档重构),但是请看,例如 http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html.
对于来自 AWS 中国区域的用户,CloudFront 托管区域 ID 为
Z3RFFRIM2A3IF5
。
如前所述,所有常规 AWS 区域的值为
Z2FDTNDATAQYW2
。