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

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でした。