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"
}
