Alibaba Cloud DNS のセカンダリDNS を使ってみる

Alibaba Cloud DNS のセカンダリDNS 機能を使ってみる話です。

既存のプライマリDNSサーバが管理するゾーン情報を保持するセカンダリDNSとして構成します。

Alibaba Cloud DNS をセカンダリDNSとして利用するメリットは以下になります。

  • コスト (有償版で月額36円~)
  • 全世界にDNSサーバが配備( China (Hangzhou)s, China (Shanghai), China (Zhangbei), China (Shenzhen), Hong Kong, Siegapore, Malaysia, India, Australia, Germany, USA East, USA West, Dubai, Japanなど19 node)

セカンダリだけではなく、プライマリとして利用する場合、DDoS対策や1秒のTTL設定、GeoDNS、API操作などAlibaba Cloud DNS の長所をフルに享受することが可能だったりします。

1. セカンダリDNS の機能

1.1. 同期の方式

セカンダリDNS を構築する場合にもっとも気になるのが同期の方式です。

Alibaba Cloud DNS では以下の方式に対応しています。

  • RFC 標準の XFR
  • NOTIFY
  • およびその他のプロトコル

上記は以下の公式ドキュメントからの抜粋ですが、”およびその他のプロトコル”は何でしょうかね?? ” BIND v9.1.0 以上と互換性”との記載もあるのでBIND 独自の実装のことかもしれません。

https://jp.alibabacloud.com/help/doc-detail/90856.htm?spm=a21mg.p38356.b99.25.34ac68ffYnTee5

1.2. 利用にあたっての制限

現在、セカンダリDNS の利用には以下の制限があるとのこと。” 有料ユーザーのみパブリックベータテストを利用可能です。 ”ということで、セカンダリでは無くプライマリDNSとしてAlibaba Cloud DNS を利用している場合は期間限定かつ無償でセカンダリDNS 機能を利用出来るということです。

使用制限
Alibaba Cloud DNS のセカンダリ DNS 機能は、自己構築型 DNS または非 Alibaba Cloud DNS のホスティングサービスを使用しているユーザーに提供します。
現在、セカンダリ DNS 機能は、有料ユーザーのみパブリックベータテストを利用可能です。Alibaba Cloud DNS の VIP DNS を利用中の有料ユーザーは、この機能を使用する際に追加料金を支払う必要はありません。パブリックベータテストの終了後に関連する課金ポリシーに変更がある場合は、1 ヶ月前に通知させていただきます。

https://jp.alibabacloud.com/help/doc-detail/90856.htm?spm=a21mg.p38356.b99.25.34ac68ffYnTee5

2. セカンダリDNS の設定

2.1. プライマリDNS 側の設定

プライマリDNS 側では セカンダリとあるAlibaba Cloud DNS へのゾーン転送の許可設定や通知先の設定などを実施する必要があります。

2.1.1. ゾーン転送先のDNSサーバのIPアドレス

具体的なサーバのIPアドレスの情報などは以下の公式サイトに記載があります。

https://jp.alibabacloud.com/help/doc-detail/90859.htm?spm=a21mg.p38356.b99.26.4d947adfJp0VuJ

secondarydns1.alidns.com47.101.22.159
secondarydns2.alidns.com106.15.210.94

2.1.2. TSIG 鍵の準備

bind 互換のallow-transfer の利用のためにTSIG 鍵をプライマリDNS 側で準備します。

bind での作成方法は以下サイトに手順がありますが、他のDNSサーバソフトウェアやサービス提供のDNS を利用している場合はそれぞれの手順で実施する必要があります。

https://jp.alibabacloud.com/help/doc-detail/90859.htm?spm=a21mg.p38356.b99.26.4d947adfJp0VuJ

今回テストで利用しているお名前.com ではWebコンソールからTSIG の生成ができます。

2.2. Alibaba Cloud DNS インスタンスの作成

Alibaba Cloud コンソールにログインし、DNSの管理画面から ”ドメイン名を追加”をクリックします。

プライマリDNSで管理しているゾーン名を入力します。

権威DNSの設定は未実施なのでDNSサーバのステータスは ”Alibaba Cloud DNS 未使用”です。 また、エディションが無償なので、セカンダリを利用するために有償エディションにアップグレードします。

一番安価な構成で購入します。 月額 36円です。

正常に購入が完了しました。

2.3. Alibaba Cloud DNS でセカンダリ DNS を有効化(1/2)

Alibaba Cloud コンソールにログインし、DNSの管理画面から”セカンダリ DNS を有効にする” をクリックします。

”セカンダリ DNS の追加”をクリックします。

リストボックスから前の手順で追加したドメインを選択します。

しかし、失敗します。 メッセージは”選択したドメイン名を Advanced DNS にアップグレードする必要があります” とのこと。 

前の手順では購入まで完了しているのにおかしいですね??

2.4. セカンダリ有効化失敗のトラブルシューティング

状態を確認します。 無料エディションから変わっていません。 先ほど、有償版にアップグレードしているのでここが問題の被疑箇所のようです。

購入履歴を確認します。問題なく支払い済みとなっています。

セカンダリDNS を有効化するには有償エディションにアップグレードしたドメインが必要なのですが、購入したにもかかわらずアップグレードされないため、この先の手順に進めません。

エディションパックのタブの画面に移動します。 このトラブルシューティングの中で何回かアップグレードを実行したのですが、その数の分だけCustum Edition (有償エディション)が出来上がっています。

操作メニューからドメインのバインドをクリックします。

今回、セカンダリDNSとしたいドメイン名を入力し、バインドします。

結果、セカンダリDNSとしたいドメイン名を有償エディションに変更することが出来ました。  手順の問題だったようでとりあえず解決です。

2.5. Alibaba Cloud DNS でセカンダリ DNS を有効化(2/2)

2.3 の手順を再度繰り返していきます。

Alibaba Cloud コンソールにログインし、DNSの管理画面から”セカンダリ DNS を有効にする” をクリックします。

”セカンダリ DNS の追加”をクリックします。

リストボックスから前の手順で追加したドメインを選択します。 先ほどはドメイン選択後に赤文字で表示された警告がありません。 先に進めます。

まずはプライマリDNSを追加します。”追加”をクリックします。

プライマリDNSのIPアドレス、TSIGの情報を入力します。

続いてNotifyの通知元(プライマリDNS側)を通知送信元IPアドレスとして登録します。

設定に誤りが無ければ接続状態が”接続済み”となります。

2.6. NSレコードの追加

プライマリDNS側で Alibaba Cloud DNS のセカンダリDNS をNSレコードとして追加します。 (手順は省略)

3. まとめ

途中、Alibaba Cloud DNS の有償エディションへのアップグレードで少し手間取りましたが無事セカンダリDNS を構成することが出来ました。

私が管理しているドメインはこのブログのbigriver.jp ともう1つありますが、どちらも既にAlibaba Cloud DNS をプライマリとして利用しており、今回テストはしたもののこのセカンダリDNS を今後も継続して使用する予定はなかったりします。 

結論としては、36円/月額で世界中にセカンダリDNSを簡単に配置できるという点ではこのAlibaba Cloud DNS はなかなかおすすめです。 ただ、Alibaba Cloud DNS の持つ長所( DDoS対策や1秒のTTL設定、GeoDNS、API操作 )を考えるとプライマリDNS として利用することをお勧めします。