3

我正在编写一个脚本,该脚本创建一个网站存储桶,然后为其分配 dns 条目。

我不知道如何将正确的 ALIAS 记录分配给顶点,以便它指向存储桶。

此函数接受 r53 连接、区域对象和带有存储桶对象的字典。它尝试将正确的记录添加到区域。

我将如何正确创建将转发到存储桶的 dns 条目?

请注意,www 存储桶转发到顶点。

def create_website_records(r53,zone,buckets):
  records = r53.get_all_rrsets(zone.id)
  change = records.add_change('CREATE', zone.name, 'A',alias_hosted_zone_id=buckets['apex'])
  change.add_value('%s' % buckets['apex'].get_website_endpoint())
  change = records.add_change('CREATE', 'www.' + zone.name, 'CNAME')
  change.add_value('%s' % buckets['www'].get_website_endpoint())
  records.commit()
  return records
4

1 回答 1

1

显然您无法通过 api 获取存储桶的 hosts_zone_id

https://forums.aws.amazon.com/thread.jspa?threadID=116724#

您必须手动设置托管区域(您可以在此处查找它们)。

我的方法最终看起来像这样:

def create_website_records(r53,zone,buckets):
  records = r53.get_all_rrsets(zone.id)
  change = records.add_change('CREATE', zone.name,    'A',alias_hosted_zone_id='Z3AQBSTGFYJSTF',alias_dns_name='s3-website-us-east-1.amazonaws.com')
  change.add_value('ALIAS s3-website-us-east-1.amazonaws.com (Z3AQBSTGFYJSTF)')
  change = records.add_change('CREATE', 'www.' + zone.name, 'CNAME')
  change.add_value('%s' % buckets['www'].get_website_endpoint())
  records.commit()
  return records
于 2013-08-30T14:20:06.143 回答