Just completed a migration away from AWS to Digital Ocean
Need to install the Digital Ocean dotctl
command line utility (this is using brew on a mac)
1 | brew install dotctl |
Transfer domain records away from AWS using the aws-cli
1 2 3 4 5 6 7 8 9 | #!/bin/bash domains=$(aws route53 list-hosted-zones | jq '.HostedZones[].Name' | sed -E 's/\.*\"//g' ) for i in $domains; do zonename=$i hostedzoneid=$(aws route53 list-hosted-zones --output json | jq -r ".HostedZones[] | select(.Name == \"$zonename.\") | .Id" | cut -d '/' -f3) aws route53 list-resource-record-sets --hosted-zone- id $hostedzoneid --output json | jq -jr '.ResourceRecordSets[] | "\(.Name) \t\(.TTL) \t\(.Type) \t\(.ResourceRecords[].Value)\n"' >zone- file -${i} done |
With the exported zone files use them to create a scripted DNS transfer. I have commented out the zone records and interspersed them with the doctl commands
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | doctl compute domain delete ausfoodexports.com.au doctl compute domain create ausfoodexports.com.au doctl compute domain records create --record- type A --record-name @ \ --record-data 167.71.215.46 ausfoodexports.com.au doctl compute domain records create --record- type AAAA --record-name @ \ --record-data 2400:6180:0:d1::841:e001 ausfoodexports.com.au # ausfoodexports.com.au. 300 A 13.55.162.0 # ausfoodexports.com.au. 300 AAAA 2406:da1c:f72:aa73:f84e:74fa:4f91:e542 # ausfoodexports.com.au. 3600 MX 0 ausfoodexports-com-au.mail.protection.outlook.com. doctl compute domain records create --record- type MX --record-name @ \ --record-priority 0 --record-data "ausfoodexports-com-au.mail.protection.outlook.com." ausfoodexports.com.au # ausfoodexports.com.au. 172800 NS ns-41.awsdns-05.com. # ausfoodexports.com.au. 172800 NS ns-1686.awsdns-18.co.uk. # ausfoodexports.com.au. 172800 NS ns-717.awsdns-25.net. # ausfoodexports.com.au. 172800 NS ns-1515.awsdns-61.org. # ausfoodexports.com.au. 900 SOA ns-1686.awsdns-18.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400 # ausfoodexports.com.au. 3600 TXT "MS=ms47011853" doctl compute domain records create --record- type TXT --record-name @ \ --record-data "MS=ms47011853" ausfoodexports.com.au # ausfoodexports.com.au. 3600 TXT "v=spf1 include:spf.protection.outlook.com -all" doctl compute domain records create --record- type TXT --record-name @ \ --record-data "v=spf1 include:spf.protection.outlook.com -all" ausfoodexports.com.au # autodiscover.ausfoodexports.com.au. 3600 CNAME autodiscover.outlook.com. doctl compute domain records create --record- type CNAME --record-name autodiscover \ --record-data "autodiscover.outlook.com." ausfoodexports.com.au # www.ausfoodexports.com.au. 300 CNAME ausfoodexports.com.au. doctl compute domain records create --record- type CNAME --record-name www \ --record-data "ausfoodexports.com.au." ausfoodexports.com.au |
0 Comments