Route53でDNSを構築、管理している場合が多いと思うが、基本的にGUIで、オンプレやサーバを立てた時のようにゾーンファイル単位での管理ができない。
そんな場合、cli53を使ってゾーンファイルをエクスポート(生成)する。
インストール方法はこちら。
cli53 とシェルを使って AWS Route 53 に複数レコードを追加してみた
https://engineers.weddingpark.co.jp/sli53-aws-route-53/
公式
https://github.com/barnybug/cli53
前提条件
- 操作する端末がLinux/UNIX(Macとか)
- AWSCLIがインストール済
- AWSCLIでAWSアカウントへの認証が通っている
エクスポート方法
まず、AWSマネジメントコンソールのRoute53 GUI画面で、エクスポート対象ドメインのホストゾーンIDを確認し、テキストにコピーしておく。
GUIで見るのが嫌な方は、以下AWSCLIコマンドで、ホストゾーンID一覧出力して、エクスポートしたいドメイン名のホストゾーンIDをチェックする。
# aws route53 list-hosted-zones | jq -c -r '.HostedZones[]|[.Name,.Config,.Id]'
次にcli53をインストールしたマシンで、以下コマンドでエクスポートする。
# cli53 export ホストゾーンID > 任意ゾーンファイル名
例えば「example-cli53.co.jp」というドメインをR53で管理しているとして、ホストゾーンIDが「ZXXXXXXXXXXXXXXXXXXXXX」の場合、こんな感じにコマンド実行。
※example-cli53.co.jp.txt の部分は任意名称に指定可能。ここではわかりやすくするために、ドメイン名.txtにしている。
# cli53 export ZXXXXXXXXXXXXXXXXXXXXX > example-cli53.co.jp.txt
エクスポートしたファイルを開くと、ゾーンファイル形式で各レコードが記載されている。
# cat example-cli53.co.jp.txt
DNS - ゾーンファイルとリソースレコード(ネットワークエンジニアとして) より
https://www.infraexpert.com/study/tcpip23.html
これでファイルとしてR53のゾーンファイル情報を管理することが可能。
定期的にエクスポートしておくと、何かあったときのために役立つかと思います。