Roadworker - Route53を管理するRubyコマンド
ドメインの設定を変更するというのは神経をつかいます。万一間違えればサーバに接続できなくなる訳で、初期設定や移行時はよくとも、プログラマブルに自在にやるというのは相当大変なものです。 しかしAmazon Web Servicesの提供するRoute53にはAPIがあり、プログラマブルな管理もできるようになっています。そのためのツールとしてRoadworkerを紹介します。
Roadworkerの使い方
RoadworkerはRubygemsでインストールできます。
gem install roadworker
まず最初に現状のデータを取得します。
roadwork -e -o Routefile
vi Routefile
内容は次のような感じです。
# -*- mode: ruby -*-
# vi: set ft=ruby :
hosted_zone "devrel.jp." do
rrset "devrel.jp.", "A" do
dns_name "xxxxxxxx.cloudfront.net."
end
rrset "devrel.jp.", "MX" do
ttl 3600
resource_records(
"1 aspmx.l.google.com.",
"5 alt1.aspmx.l.google.com.",
"5 alt2.aspmx.l.google.com.",
"10 aspmx2.googlemail.com.",
"10 aspmx3.googlemail.com."
)
end
end
hosted_zone "moongift.co.jp." do
rrset "moongift.co.jp.", "A" do
dns_name "xxxxxxxxxxx.cloudfront.net."
end
end
後はこれを編集し、実行することでRoute53の内容が更新される仕組みです。
roadwork -a --dry-run
roadwork -a
Roadworkerを使うことで、Gitのpushをフックしてエラーがなければ実際に反映するといったような仕組みも作れるようになります。バージョン管理することでより自動化したドメイン管理ができるようになりそうです。
RoadworkerはRuby製、MIT Licenseのオープンソース・ソフトウェアです。