AWSのDNSサービスRoute53
クラウド3強の一角を占めるAWS。DNSのサービスもあるわけで、当然APIで設定できる。
200件ほど登録する必要があり、awscliを使ってみた。ちょっとうまくいかなかったところがあるので、ここにメモしておく。
awscliのオプションではおさまらない
便利なawscli。設定scriptには欠かせないコマンドなのだが、Route53の設定は、コマンドラインオプションですべてOK!とはならない。設定をJsonファイルに書いて、awscliにオプションとして渡して設定する。いちいちJson作るの面倒とか思ったけど、テンプレートがあるじゃないか!
awscliでRoute53にレコードを登録する(A、ALIAS、CNAME) | tonbiworks
Route53、使いますよね。イメージ的にEC2、RDS、S3と同じくらい使うんじゃないでしょうか。普通はAWSマネージメントコンソールが使えると思いますが、いつも恵まれた環境ではなかったりします。請負で何個もAWSアカウントを持っていたり、お客さんのセキュリティポリシー的に縛られていたり、帰り間際ですでにブラウザを落...
設定項目を変数にしたヒアドキュメントとして持っておいて、一旦Jsonファイルと出力してからawscliに渡してあげればOK。ミッションコンプリート!
FQDNを指定する
世の中そんなに甘くない。A client error (InvalidChangeBatch) occurred: RRSet with DNS name
というエラーが出てしまう。ググって見つかったstackoverflowにズバリ。

Error on using aws change-resource-record-sets to add an alias
I am trying to use aws change-resource-record-sets to add an alias. The idea is to allow access to a Cloudfront distribution via URL on our domain (e.g. mydomai...
Nameパラメータには、ドメインを含んだFQDNで書け。
この通りやったらエラーにならずに登録できた。
ValueもFQDNで
登録できたら確認。確認してみたところ、名前解決ができていない。digで解決の様子を確認したところ、Valueの内容がそのまま登録されるのではなく、最後にピリオドが追加されている。bindのzoneファイルのつもりで指定していたのだが、これもFQDNで指定するもののようだ。
というわけで、更新のscriptを用意して修正。APIの呼び出し回数に制限があるので、適当にwaitしながら変更して、今度こそコンプリート。
コメント