.net column

.NET開発者のためのブログメディア

DNSイメージ

Azure DNSが持つ機能を解説|価格やゾーンの作成方法は?

2020年09月30日
SE
先日プロジェクトでドメインを取得しました。Azure DNSを使うみたいですが、どのようなサービスなのでしょうか?
PM
Azure DNSはクラウド型のDNSサーバで、プライベートDNSの機能を使える点が特徴ですね。

目次

Azure DNSとは


Azure DNSは、DNS(ドメインネームシステム)ドメインのホスティングサービスであり、Azure内で提供されている仕組みを使って変換します。

まずDNSは、ドメインをIPアドレスに変換する仕組みです。私たちがWebサイトを見る場合、httpやhttpsから始まるURLにアクセスしています。画面に表示されるまでには様々な処理が行われていますが、その中の1つにDNSサーバーによる名前解決があるのです。
他にも、Azure DNSには「プライベートDNS」と呼ばれる機能があります。

DNSドメインとプライベートDNSの違い

大きな違いは、WAN(Wide Area Network)かLAN(Local Area Network)のどちらで名前解決をするかにあります。
DNSドメインは、誰でもアクセスが可能なインターネットであるWANに接続して名前解決をします。対してプライベートDNSは、LANで構築されたネットワークで名前解決をします。

DNSゾーンとは

DNSゾーンとは、DNSサーバーがドメイン名を管理する範囲を表します。

DNSは階層構造になっており、上位ドメインを管理するDNSサーバーはその下位ドメインのゾーン情報をすべて持たず、下位のゾーン情報を管理しているDNSサーバーのみを把握しています。
Azure DNSでドメインのホストを開始するには、そのドメイン名用に DNS ゾーンの作成が必要です。

Azure DNSの価格


2020年9月現在、Azure DNSの価格を以下の表にまとめました。なおDNSクエリとは、ドメイン名をIPアドレスに変換するためにDNSサーバーへ問いかけることを指します。

DNS パブリック/プライベート
最初の 25 件のホストされる DNS ゾーン ¥56/ゾーン/月
追加のホストされる DNS ゾーン (25 超) ¥11.200/ゾーン/月
最初の 10 億 DNS クエリ/月 ¥44.800/100 万
追加の DNS クエリ (10 億超)/月 ¥22.400/100 万

Azure DNSが持つ機能の概要6つ


Azure DNSはAzure環境で高いパフォーマンスを発揮するサービスです。それでは、Azure DNSには具体的にどのような機能があるのでしょうか。

ここではAzure DNSが持つ機能の概要6つについてご紹介しますので、ぜひ参考にしてください。

1:エニーキャストが通信方式として採用されている

Azure DNSの通信方式は、クライアントにもっとも近いDNSサーバーが応答するエニーキャスト方式を採用しています。エニーキャスト方式は分散しているサーバーの中で一番近い宛先へデータを送信するルーティング方式となっており、近年では他のDNSサーバーでも採用されています。

エニーキャスト方式により、Azure DNSでは応答時間を短縮することに成功しています。

2:Azure Resource Managerと連携が可能

Azure DNSではAzure Resource Managerとの連携機能を備えており、Azure Resource Managerと連携することによってリソースの変更を監視したり、リソースのロックを行ったり、トラブルが発生した場合にはエラーの発見をサポートしたりすることができます。

3:仮想ネットワーク間で共有できる

Azure DNSのプライベートDNSゾーンは仮想ネットワーク間で共有することが可能です。そのため、仮想ネットワーク間での名前解決機能が利用でき、ピアリングなどのネットワークとサービス検索のシナリオがスムーズに行えます。

4:水平分割ビュー

Azure DNSでは水平分割DNS機能を利用できます。この機能では水平分割ビューによって、プライベートDNSゾーンとパブリックDNSゾーン両方のドメイン名が共有できるようになります。

また、Azure内など同一のDNSゾーンに存在するクライアントの場所に応じて名前解決ができるようになるため、情報セキュリティを向上できます。

5:IPアドレスに対して特殊な別名URLを付けられる

Azure DNSではエイリアスレコードをサポートしており、IPアドレスに別名URLを付与することが可能です。エイリアスレコードは2段階の名前解決を要するCNAMEレコードと違い、別名URLからIPアドレスへの1段階の変換で名前解決が完了します。

6:デュアルスタック機能

近年はIPv4アドレスが枯渇しつつあるため、IPv6アドレスへの移行が進められています。Azure DNSのネームサーバーはデュアルスタックとなっているため、IPv4アドレスとIPv6アドレスの両方に対応することができます。

Azure DNSを利用する10のメリット


ここまではAzure DNSの機能の概要についてご紹介しましたが、Azure DNSを利用することでどのようなメリットがあるのでしょうか。

次に、Azure DNSを利用する10のメリットをご紹介します。

1:高い可用性がある

Microsoft社が提供しているAzureは、ワールドワイドな企業で採用されており、多くのサービスを継続的に利用できる強固なインフラ基盤となっています。

そのため、同様にAzure上で運用されているAzure DNSを利用することにより、高い可用性を実現できると言えます。

2:応答時間が短縮する

前述のとおり、Azure DNSでは通信方式としてクライアントに近いサーバーが応答してデータ送信を行うエニーキャスト方式を採用しています。そのため、応答時間の短縮を実現しており、ユーザーに高速なレスポンスを提供します。

3:DNSの管理を自動化できる

Azure DNSはDNSの管理自動化に対応しているため、REST APIやSDKを利用することにより、DNSの管理が自動化できます。そのため、従来ではユーザー自身で行う必要があった定形的な作業を自動化し、効率化が可能になります。

4:独自ドメイン名が利用できる

Azure DNSではプライベートDNSドメインをサポートしているため、Azureが提供しているドメイン名だけでなく、独自ドメイン名を利用することが可能です。そのため、独自ドメイン名を使用するためにサードパーティのサービスと契約する必要はありません。

5:レコード更新ミスによるトラブルの防止

Azure DNSでは、IPアドレスの変更などを行った場合には自動的にレコードに反映する仕組みになっています。たとえば、IPアドレスを削除した場合は関連したレコードも自動的に削除されることから、レコード更新ミスによるトラブルを防ぐことができます。

6:DNSネームサーバーのトラブル防止

Azure DNSが提供するSLAでは、DNS要求に対して必ず1つはAzure DNSネームサーバーが応答することを保証しています。そのため、DNSネームサーバーの名前解決のトラブルを防止することができます。

7:システムの情報セキュリティが向上する

前述のとおり、Azure DNSが提供している水平分割ビューにより、プライベートDNSとパブリックDNSのドメイン名を共有することができます。

この機能により、同じDNSゾーンにあるクライアントの場所に応じて名前解決ができるようになることから、システムの情報セキュリティを向上させることができます。

8:DNSの他サービスとのドメイン共同ホスティングが可能

Azure DNSでは他のDNSサーバーやユーザードメインのDNSサーバーを登録することで、他のDNSサービスとのドメイン共同ホスティングが実現可能です。

そのため、Azure以外のDNSサービスとの連携が必要なシステムにも対応できます。

9:ゾーンの移動時にDNSクエリへの影響がない

Azure DNSでは、リソースグループ間やサブスクリプション間でゾーンの移動を行ってもDNSクエリへの影響がありません。また、ゾーン割り当て済みのネームサーバーが変更されることもありません。

10:Azure CLIを使用してDNSにインポートが可能

Azure DNSでは、直接のゾーン転送については対応していません。しかし、Azure CLIを使用して、DNSゾーンをAzure DNSにインポートできるようになっています。

Azure DNSの利用上のデメリット8つ


ここまでさまざまなAzure DNSを利用するメリットについてご紹介しましたが、一方で利用上のデメリットもあります。そのため、Azure DNSの利用を検討する場合はメリットだけでなくデメリットについても十分把握しておくようにしましょう。

ここではAzure DNSの利用上のデメリット8つをご紹介します。

1:Azure内ではドメインを購入できない

Azureではドメインの購入サービスがないことから、Azure内でドメインを購入することができません。そのため、サードパーティのドメイン購入サービスを利用して、ドメインを用意する必要があります。

ただし、他のサービスでドメインを購入しておけば、他のドメインのレコードであってもAzure DNSで問題なく管理することが可能です。

2:DNSSECはサポート対象外

DNSSEC(Domain Name System Security Extensions)とは、DNSでの応答の正当性を保証するため仕組みです。DNSSECは電子署名の仕組みを利用することで、問い合わせた権威ネームサーバーの応答かどうか、パケットが改ざんされていないかどうか、問い合わせ先レコードが存在するかどうかなどを検証します。

しかしAzure DNSではDNSSECがサポートされていないため、システム上DNSSECが必要な場合はサードパーティのDNSとの連携運用が必須となります。

3:動的DNSドメインはサポートされていない

Azure DNSでは静的なDNSドメインのホスティングのみをサポートしています。そのため、IPアドレスを動的に変更できる動的DNSドメインを利用することはできません。

Azure DNSでは、特定のDNSレコードに対するDNSクエリにおいては、常に同一のDNS応答が返されます。

4:基本機能だけではフル機能で使えない

Azure DNSが提供する基本機能のみでは、仮想ネットワークに対応したフル機能のDNSにはなりません。

具体的には、前述したようにDNSSECはAzure DNSのサポート対象外となっているなど、システム要件によってはサードパーティのDNSソリューションと契約しなければいけない可能性があります。

5:SLAを満たすためには全てのネームサーバーに委譲する必要がある

Azure DNSのSLAを満たすには、ドメインの管理を4つのAzure DNSネームサーバーに全て委譲することが必須となります。さらに、委譲はDNSゾーンごとに行われる必要があります。

6:エイリアスレコード数が制限されている

Azure DNSのエイリアスレコードはDNSレコードセットを修飾するもので、現在「A」「AAAA」「CNAME」という種類がサポートされています。

ただし、リソース1つにつきエイリアスレコードセット数は20に制限されています。そのため、無制限にエイリアスレコードを利用することはできません。

7:既存DNSレコードの変更反映に時間がかかる

Azure DNSではDNSキャッシュなどの仕様の関係で、デフォルトの設定では既存のDNSレコードの変更を反映するために60秒前後の時間が必要となっています。

そのため、変更反映の時間を短縮したい場合には、レコードの「Time-To-Live(TTL)プロパティ」を利用することでDNSキャッシュ期間を制御するようにしましょう。

8:IDNはPunycodeへ変換する必要がある

IDN(Internationalized Domain Name:国際化ドメイン名)とは、従来のドメイン名に使用されていた数字やアルファベットなど以外に、漢字やアラビア文字なども使えるようにする仕組みです。

IDNを構成する場合、ゾーン名もしくはレコードセット名をPunycodeへ変換することが必要です。しかし現時点では、Azure DNSではPunycodeへの変換機能はサポートされていません。

DNSゾーンの作成方法


Azure DNSの概要を理解したところで、ここからはDNSゾーンの作成方法をご紹介します。

1. Azure Portalにアクセス

2. 「DNSゾーン」を検索し「DNSゾーンの作成」を押下

3. 「DNS ゾーンを作成する」の ページで、以下の値を入力または選択
リソースグループ:「新規作成」を選択し、任意のグループ名を入力して選択します。Azureサブスクリプション内で使用するリソースグループ名を使用してください。
名前:DNSゾーン名には、取得したドメイン名を入力します。

4. 「確認および作成」を選択し作成が完了

パブリックDNSゾーンの設定方法


Azure DNSでパブリックDNSゾーンを設定する場合、DNSゾーンの作成方法でDNSゾーンを作成し、DNSレコードを作成する際にIPアドレスにWebサーバーのパブリックIPアドレスを入力することでパブリックDNSの設定が可能です。

DNSゾーンの作成方法

DNSゾーンを作成する際には、Azure portalにアクセスして左上にある「リソースの作成」から「ネットワーク」「DNS ゾーン」へ進みます。さらに「DNS ゾーンの作成」で「Name」に購入したドメイン名を入力し、「リソース グループ」では「新規作成」を選択し、Azureサブスクリプション内で一意のグループ名を入力してOKをクリックしましょう。

その後、「作成」を選択することでゾーンが作成できます。

名前解決のためのテストをするやり方

Azure portalの「すべてのリソース」から、作成したリソースグループのDNSゾーンを開きます。「概要」ページにあるネームサーバーの一覧からネームサーバーを1つコピーし、コマンドプロンプトで「nslookup www.DNSゾーン名 ネームサーバー名」を実行しましょう。

実行後、画面に「Address:10.10.10.10」のように作成したDNSレコードのパブリックIPアドレスが表示されると、名前解決ができていることが確認できます。

SE
Azure DNSゾーンの作成は、意外と簡単にできるのですね。
PM
簡単に実現できることは、クラウドサービス「Azure」の魅力です。Azureでシステム基盤を構築する場合は、今回紹介したDNSの活用も必須ですね。

Azure DNSサーバーのクラウド運用も検討しよう


Azure DNSは、DNSドメインのホスティングサービスです。DNSはドメインをIPアドレスに変換するもので、インターネットの世界では必須の機能といえます。

最近ではテレワークの推進によりクラウドの需要も高まっています。今までオンプレミスでDNSサーバーを構築していた企業も、Azure DNSの運用に切り替えることで他のサービスとの連携でき、素早いサービス開発にもつながります。これからDNSサーバーを独自運用していきたいと考えている方は、今回の記事を参考にサーバーの構築をしてみましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags