DNSレコード情報をRoute53からエクスポート

もくじ
このサイトのDNSは、AWSのRoute53で管理しています。
今回、REDKETTLE.JPドメインを廃止し、そこにあったブログも含めてWINPROJECT.JPへ統合したので、DNSの大幅な変更をしました。
大きな変更をする前には、切り戻しできるようにしておいてから行うので、変更の前にDNSをエクスポートしたかったのです。
cli53 と aws ってのがあれば良いことが分かったので、やってみました。
割と簡単に、無事ZONE情報を書き出すことができました。
これ、いいですね。
以下、やったこと。
AWS Route53 ホストゾーンのレコードをエクスポートの仕方
1.IAMユーザーを作成
AWSでエクスポート専用のユーザーを作成して行います。
「IAM>ユーザー>」から、ユーザー「route53-export-zone」を「AmazonRoute53ReadOnlyAccess」を許可ポリシーに設定して作成。
(参考:設定方法キャプチャIAM.png)
ユーザーの詳細からアクセスキーを作成します。

2.cli53をインストール
ターミナルでいつものbrewでインストールします。
brew cli53 install
3.AWSアプリをインストール
公式の下記からダウンロードします。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
Mac用は、macOSタブを開いて、GUI installer タブの、「1.ブラウザで、macOS pkg ファイルをダウンロードします: https://awscli.amazonaws.com/AWSCLIV2.pkg」ってとこからDLできました。

4.AWSアプリをコマンドラインから設定
ターミナルから設定します。
aws configure
下記のように対話型で設定ができます。
「XXXXXXXXXXXXXXXXXXXXXXXXXXXXX」のところへ、それぞれ「1.IAMユーザーを作成」で作成したIAMの情報を入れ、その他は指定不要ならリターンキーで終了します。
AWS Access Key ID [None]: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Default region name [None]:
Default output format [None]:
設定が完了すると、~/.aws/ に config と credentials の2ファイルができています。

必要に応じて、開いて追記します。今回、私は何もしません。コマンドラインから1回エクスポートしたいだけなので。
5.コマンドラインからエクスポートします
ターミナルから、
cli53 list
と打ってみて、下記みたく登録されているドメインが表示されたらOKです。
ID Name Record count Comment
XXXXXXXXXXXXXX winproject.jp. XX WINPROJECT.JP
XXXXXXXXXXXXXX redkettle.jp. XX REDKETTLE.JP
ターミナルから、下記コマンドでDNSをエクスポートします。
cli53 export --full redkettle.jp > redkettle.jp.zone
redkettle.jp.zone というファイルが出力されます。
他のドメインのゾーン情報も全てエクスポートします。
以上です。
今回は、大規模な変更だったので、上記方法で全てエクスポートしてから、Route53で変更しました。
廃止するドメインは開発でも使用していたサーバーだったため、かなりのレコード数がありました。コピペで保存は勘弁だったので、一気にエクスポートしたかったんで、大変結構助りました。(このページのアイキャッチ画像はあくまでイメージで(笑)、実際には結構な数のレコードがあったのです。)
ふぅ、これで安心して作業できるぞいっと!それではまた、TTでした。