Gehirn DNS がBIND形式のゾーンファイルに対応したので、ローカルのゾーンファイルをGehirn DNSに一括適用するTIPS。
BINDのファイルを一括で適用させたいとき、もしくは定期的に適用したいときにはcurlコマンドから送ってやると楽です。
例:
curl -X PUT --basic --user TOKEN:SECRET --data-binary 'data=@/tmp/isidai.com.zone' https://dns.gehirn.jp/api/domain/isidai.com/import
data=@ の後ろにはファイルのパスを書いてください。 また、APIのURIは domain/{DomainID OR DomainName}/import に適時置き換えてください。
こうすることで直接ゾーンファイルを送りつけて適用することができます。定期的に送ることでスレーブサーバみたいな動かし方ができそうですね。
for i in `ls *.zone|sed -e 's/\.zone$//'` do curl -X PUT --basic --user TOKEN:SECRET --data-binary "data=@/var/cache/bind/$i.zone" https://dns.gehirn.jp/api/domain/$i/import done
これでゾーンファイルを一括転送できます。
なお、これをやる前に予めGehirn DNS側でドメインのゾーンを登録(作成)しておく必要があります。ドメインゾーンを登録していないと404エラーになりますのでご注意ください。
Gehirn DNSにゾーンを一括で作成するには
for i in `ls *.zone|sed -e 's/\.zone$//'` do curl -X POST --basic --user TOKEN:SECRET -d "domain=$i." https://dns.gehirn.jp/api/domain done
で作れる。