Route53のレコード管理は困難を極める。
いつの間にかレコードが増えてきて、後から消そうと思っても用途などが思い出せず消すに消せない…そんなレコードが増える経験をした。
Route53をGitで管理するようにすればPRによる第三者のレビューがやりやすいし、何より誰がいつどんな用途でレコードを追加・変更・削除したのかが丸分かりである。
ここではroadworkerというナイスなRuby製のGemを使った。
https://github.com/codenize-tools/roadworker
使い方は上記リポジトリもあるが、基本的には次の通り。
-
現在のRoute53登録情報をファイルにする (初回のみ)
roadwork -e -o Routefile
-
ファイルを編集する
-
確認のためにdry-runする
roadwork -a –dry-run
-
Route53に反映
roadwork -a
-
反映確認
roadwork -t
これでRoute53の管理が楽になった。
次はGitHubにファイルをプッシュするとCIツールによってRoute53に自動的に反映させるようにしたい。
8/20追記
Jenkinsで自動反映するようにした。
GitHubのWebHookをJenkinsで受けて、roadworkを実行。進捗はJenkinsのSlackプラグインを使った。