创建R53 ALIAS记录集,指向使用Boto2托管静态网站的S3存储桶

时间:2016-12-09 21:07:59

标签: amazon-web-services amazon-s3 amazon-route53

我正在创建一个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>

我无法理解......我错过了什么?

1 个答案:

答案 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
                                               },
                }
            },
        ]
    }
)

我希望它会帮助某人:]