2016-12-09 4 views
0

Je crée un compartiment S3 et le configure pour servir un site Web statique via boto2.Création d'un jeu d'enregistrements R53 ALIAS pour pointer vers un compartiment S3 hébergeant un site Web statique à l'aide de Boto2

Je souhaite créer un jeu d'enregistrements R53 ALIAS qui connecte le nom du compartiment S3 (par exemple, something.some.com) au même sous-domaine (something.some.com).

J'ai écrit le code suivant mais il renvoie une erreur.

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() 

et l'erreur que je reçois est

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> 

que je ne comprends pas .... Qu'est-ce que je rate?

Répondre

0

Je ne pouvais pas faire de progrès avec Boto2 donc je l'ai résolu avec Boto3 (beaucoup mieux).

Voici le code:

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

J'espère que cela aidera quelqu'un:]