我正在创建一个脚本,用于创建网站存储桶,然后为其分配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
答案 0 :(得分:1)
显然你无法通过api
获得存储桶的hosted_zone_id您必须手动设置托管区域(您可以查看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