This simple python script can be used to update Route53 A record sets automatically. It supports multiple zones.
For python 3 compatible version, see python3 branch.
- Create a new IAM user that is able to edit Route53 zones (The user has AmazonRoute53FullAccess permission)
- Create a new access key for the user
- Configure AWS Credentials on your host. The script assumes to find credentials under profile name "dyndns" (ie. using aws-cli: aws configure --profile dyndns)
- Install required python modules (boto3): pip install -r requirements.txt
- Configure the client (config.yml). If you wish to use some other source for your external IP, the site should return only your IP in plain text and nothing else.
- Run the script: ./client.py --config /path/to/config.yml
- Optional: Add script to crontab
- Maybe add support for other record types ie. MX?
- Maybe send error messages over email?
- Maybe run script as a service and do update when network interface goes up?