ドメインのDNSを管理するのにどんなサービスを使っていますか。プログラマブルに、またはAWSと組み合わせて使いたいならば便利なのがRoute53です。しかしWebの管理画面で何十個も設定するのは面倒ですし、かといってコマンドを都度叩くのも大変です。 そこで使ってみたいのがRoadworkerです。ドメイン情報をまとめて設定していくレルコマンドラインツールです。

Roadworkerの使い方

まずは現状のデータをピックアップします。

$ roadwork -e -o Routefile

そうするとRoutefileができあがります。内容は以下のような漢字になっています。

# -*- mode: ruby -*-
# vi: set ft=ruby :
hosted_zone "devrel.jp." do
  rrset "devrel.jp.", "A" do
    dns_name "d3l6bjtau0r8lj.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

後はこのファイルを編集して roadwork コマンドを実行するだけです。それで設定ファイルの内容に従ってドメインを設定してくれます。ドメイン管理をプログラマブルに、自動化を進めていく中で便利なソフトウェアです。

RoadworkerはRuby製のオープンソース・ソフトウェア(MIT License)です。

codenize-tools/roadworker: Roadworker is a tool to manage Route53. It defines the state of Route53 using DSL, and updates Route53 according to DSL.