Backup and restore Route53 zones, or transfer between AWS accounts.
Project description
Quickly backup and restore AWS Route53 DNS zones.
## Motivation
route53-transfer-ng started as a pull-request to [route53-transfer](https://github.com/cosmin/route53-transfer) and slowly turned into a port to boto3 of that software, and then finally a complete rewrite.
I intentionally avoided retaining compatibility with the original code. In fact, route53-transfer-ng does not use the CSV format anymore, as that wouldn’t easily allow support for all the Route53 routing policies and features.
## Installation
pip install route53-transfer-ng
## Usage
List all the hosted zones in the current AWS account (use the AWS_PROFILE environment variable to control which account is active):
route53-transfer-ng zones
Backup the example.com zone to a YAML file:
route53-transfer-ng dump –format yaml example.com example.com.yaml
Use STDOUT instead of a file:
route53-transfer-ng dump –format yaml example.com -
Restore the example.com zone from a YAML file:
route53-transfer-ng load –format yaml example.com example.com.yaml
To perform a dry run load, add the –dry-run option switch. The command will show the changes that would be made to the R53 zone without carrying out any operation.
route53-transfer-ng –dry-run load example.com example.com.yaml
It’s possible to use upsert operations when performing a route53 change operation, instead of the default DELETE + CREATE of recordsets. To enable this behaviour, supply the –use-upserts option.
route53-transfer-ng –dry-run –use-upserts load example.com example.com.yaml
Use - as filename to load from STDIN instead.
Migrate between accounts:
Use the AWS_PROFILE environment variable to change the AWS account to be used by route53-transfer-ng. Dump from one account, load into another.
AWS_PROFILE=aws_account1 route53-transfer dump example.com test.yaml AWS_PROFILE=aws_account2 route53-transfer load example.com test.yaml
## Credits
Thanks to Cosmin Sterejan for the original [route53-transfer](https://github.com/cosmin/route53-transfer) that I used for some time as-is and then as base and inspiration for this boto3 “ng” version.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file route53_transfer_ng-1.0.6.tar.gz
.
File metadata
- Download URL: route53_transfer_ng-1.0.6.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dd5498b16f41daa8853e44fa532da6983df688aed0a1a78f9abec90e1d6f00e |
|
MD5 | 43180e4ec2df68281483751d4263b10a |
|
BLAKE2b-256 | ed28a51ce49245a654a0e26201851f0bd3f4a80a94d5405a9815154105d0879a |
File details
Details for the file route53_transfer_ng-1.0.6-py3-none-any.whl
.
File metadata
- Download URL: route53_transfer_ng-1.0.6-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7f567e288da862ef976832476533612a09e8edee03a275d222bbe4b8f26c933 |
|
MD5 | d0d5ec045f9ab9b3e0177fea2d2704ab |
|
BLAKE2b-256 | 8e011669efcf274358a78d3efef568463e25092b4893bc23106247854fda3da4 |