Подтвердить что ты не робот

Экспорт DNS-зоны из маршрута Amazon 53

Я хотел бы экспортировать зонный файл DNS из моей установки Amazon Route 53. Возможно ли это, или могут быть созданы только файлы зон вручную? (например, через http://www.zonefile.org/?lang=en)

4b9b3361

Ответ 1

Это пока невозможно. Вам нужно будет использовать API ListResourceRecordSets и самостоятельно создать зонный файл.

Ответ 2

Следующий скрипт экспортирует детали зоны в формате связывания из Route53. Передайте имя домена в качестве параметра для сценария. (Для этого требуется awscli быть установленным и настроенным.)

#!/bin/bash

zonename=$1
hostedzoneid=$(aws route53 list-hosted-zones | 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"'

Ответ 4

Как указано в комментарии, cli53 - отличный инструмент для взаимодействия с Route 53 с использованием интерфейса командной строки.

Сначала настройте ключи своей учетной записи в файле ~/.aws/config:

[default]
aws_access_key_id = AK.....ZP
aws_secret_access_key = 8j.....M0

Затем используйте команду export:

$ cli53 export --full --debug example.com > example.com.zone 2> example.com.zone.log

Проверьте файл example.com.zone после экспорта, чтобы убедиться, что все экспортировано правильно.

Вы можете импортировать зону в последнее время:

$ cli53 import --file ./example.com.zone example.com

И если вы хотите перенести зону Route53 из одной учетной записи AWS в другую, вы можете использовать опцию profile. Просто добавьте две именованные учетные записи в файл ~/.aws/config и свяжите их со свойством profile во время экспорта и импорта. Вы даже можете передать эти две команды по конвейеру.