获取云端分发的托管区域

Get hosted zone for cloudfront distribution

我正在尝试使用 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 是我的云端分发的托管区域。找到它的唯一方法(据我所知)是在 Route53 控制台的 "Add record set" 对话框中选择云端分发作为别名。然后它会在对话框中说明托管区域。

我想做的是用从 aws cli 命令或 ansible 任务填充的变量替换硬编码字符串。这可能吗?

对于 CloudFront 分配,该值始终为 Z2FDTNDATAQYW2

事实证明,Route 53 文档本身的实际引用比我预期的更难以捉摸——(在撰写本文时)这个字符串有一些搜索引擎错误命中(可能正在进行一些文档重构) ,但是请看,例如 http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html.