Tips

Gehirn DNS にローカルのBINDゾーンファイルを一括転送する

2011年12月15日

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

で作れる。

Pocket

You Might Also Like