Mit Hilfe der folgende Python AWS Lambda Funktion kann man einen A Record in Route53 erstellen/updaten:
import json import boto3 route53 = boto3.client('route53') def lambda_handler(event, context): print("Received event: " + json.dumps(event, indent=2)) domain = event['domain'] route53.change_resource_record_sets( HostedZoneId='HostedZoneId', ChangeBatch={ 'Comment': 'Update or Insert an A Record', 'Changes': [ { 'Action': 'UPSERT', 'ResourceRecordSet': { 'Name': domain, 'Type': 'A', 'SetIdentifier': domain, 'Region': 'region', 'ResourceRecords': [ { 'Value': '1.1.1.1' } ], 'TTL': 300 } } ] } )
Dazu muss die Labda Funktion die notwendigen Rechte für Route53 besitzen.
Die Dokumentation ist hier.
Die Funktion kann getestet werden mit:
{ "domain": "foo.bar.de" }