AWSのDNSサービスRoute53
クラウド3強の一角を占めるAWS。DNSのサービスもあるわけで、当然APIで設定できる。
200件ほど登録する必要があり、awscliを使ってみた。ちょっとうまくいかなかったところがあるので、ここにメモしておく。
awscliのオプションではおさまらない
便利なawscli。設定scriptには欠かせないコマンドなのだが、Route53の設定は、コマンドラインオプションですべてOK!とはならない。設定をJsonファイルに書いて、awscliにオプションとして渡して設定する。いちいちJson作るの面倒とか思ったけど、テンプレートがあるじゃないか!
https://blog.tonbiworks.com/infrastructure/2016/08/09/awscli-route53/
設定項目を変数にしたヒアドキュメントとして持っておいて、一旦Jsonファイルと出力してからawscliに渡してあげればOK。ミッションコンプリート!
FQDNを指定する
世の中そんなに甘くない。A client error (InvalidChangeBatch) occurred: RRSet with DNS name
というエラーが出てしまう。ググって見つかったstackoverflowにズバリ。
Attention Required! | Cloudflare
Nameパラメータには、ドメインを含んだFQDNで書け。
この通りやったらエラーにならずに登録できた。
ValueもFQDNで
登録できたら確認。確認してみたところ、名前解決ができていない。digで解決の様子を確認したところ、Valueの内容がそのまま登録されるのではなく、最後にピリオドが追加されている。bindのzoneファイルのつもりで指定していたのだが、これもFQDNで指定するもののようだ。
というわけで、更新のscriptを用意して修正。APIの呼び出し回数に制限があるので、適当にwaitしながら変更して、今度こそコンプリート。
コメント