我正在创建一个S3存储桶并将其配置为通过boto2为静态网站提供服务。
我想创建一个R53 ALIAS记录集,它将S3存储桶名称(例如something.some.com
)与相同的子域(something.some.com
)连接起来。
我编写了以下代码但它返回了一个错误。
changes = boto.route53.record.ResourceRecordSets(R53conn, HostedZone_id)
change = changes.add_change(
action="CREATE",
name="something.some.com",
type="A",
alias_hosted_zone_id=HostedZone_id,
alias_dns_name='s3-website-us-east-1.amazonaws.com',
alias_evaluate_target_health=False
)
result = changes.commit()
我得到的错误是
File "F:\Python27\lib\site-packages\boto\route53\connection.py", line 475, in change_rrsets
body)
boto.route53.exception.DNSServerError: DNSServerError: 400 Bad Request
<?xml version="1.0"?>
<ErrorResponse xmlns="https://route53.amazonaws.com/doc/2013-04-01/"><Error><Type>Sender</Type><Code>InvalidChangeBatch</Code><Message>Tried to create an alias that targets s3-website-us-east-1.amazonaws.com., type A in zone Z26JTS7LAE8OIN, but the alias target name does not lie within the target zone</Message></Error><RequestId>74e609ed-be51-11e6-99bd-69e41e07a223</RequestId></ErrorResponse>
我无法理解......我错过了什么?
答案 0 :(得分:0)
我无法用Boto2取得进展所以我用Boto3解决了它(更好)。
以下是代码:
Route53_Hosted_Zone_ID = "Z3AQBSTGFYJSTF" #Notice: Fixed ID for us-east-1
Custom_HZ_id = "use_yours"
record_set_obj = clientR53.change_resource_record_sets(
HostedZoneId=Custom_HZ_id,
ChangeBatch={
'Changes': [
{
'Action': 'CREATE',
'ResourceRecordSet': {
'Name': client_bucket_name,
'Type': 'A',
'AliasTarget': {
'HostedZoneId': Route53_Hosted_Zone_ID,
'DNSName': 's3-website-us-east-1.amazonaws.com',
'EvaluateTargetHealth': False
},
}
},
]
}
)
我希望它会帮助某人:]