aws boto route53为存储桶添加别名

时间:2013-08-30 04:29:47

标签: python amazon-web-services boto

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

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

此函数接受r53连接,区域对象和带有桶对象的dict。它试图将适当的记录添加到区域。

我如何才能正确创建转发到存储桶的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

1 个答案:

答案 0 :(得分:1)

显然你无法通过api

获得存储桶的hosted_zone_id
  

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

您必须手动设置托管区域(您可以查看here)。

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

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