名前解決の問題のトラブルシューティング

完了

Azure での名前解決は、次の 3 つのいずれかの方法で行われます。

  • Azure 組み込みの名前解決

  • Azure カスタムの名前解決

  • Azure DNS プライベート ゾーン

このユニットでは、これらの各方法でトラブルシューティングする方法について説明します。

2.1 組み込みの Azure 名前解決のトラブルシューティング

組み込みの Azure 名前解決では、基本的な権限のあるドメイン ネーム システム (DNS) 機能が提供されます。 DNS 名とレコードは Azure によって管理されます。 組み込みの Azure 名前解決では、DNS 名や、DNS レコードのライフ サイクルを制御できません。

Azure 組み込みの名前解決では、パブリック DNS 名と連携し、同じ仮想ネットワークまたはクラウド サービス内に存在する VM とロール インスタンス用に内部の名前解決が提供されます。

組み込みの Azure 名前解決には、いくつかの制限があります。

  • Azure によって作成される DNS サフィックスは変更できません。

  • DNS 参照のスコープは仮想ネットワークです。 ある仮想ネットワークに対して作成された DNS 名を、他の仮想ネットワークから解決することはできません。

  • 独自のレコードを手動で登録することはできません。

  • WINS と NetBIOS はサポートされません Windows エクスプローラーに VM を表示することはできません。

  • ホスト名は DNS 互換である必要があります。 名前に使用できる文字は 0-9、a-z、および "-" のみであり、最初または最後の文字として "-" は使用できません。

  • DNS クエリ トラフィックは仮想マシン (VM) ごとに調整されます。 調整は、ほとんどのアプリケーションに影響がありません。 要求の調整が発生した場合は、クライアント側のキャッシュが有効になっていることを確認します。

  • 最初の 180 のクラウド サービス内の VM だけが、クラシック デプロイ モデルの各仮想ネットワークに対して登録されます。 この制限は、Azure Resource Manager の仮想ネットワークには適用されません。

  • Azure DNS IP アドレスは 168.63.129.16 です。 これは静的 IP アドレスであり、すべての地域とすべての国のクラウドで使用され、変更されることはありません。

  • Azure の動的ホスト構成プロトコル (DHCP) によって内部 DNS サフィックス (.internal.cloudapp.net) が各 VM に提供されます。 ホスト名のレコードは internal.cloudapp.net ゾーン内に存在するため、このサフィックスによってホスト名を解決できます。 

2.2 ドメイン ネーム システムのプライベート ゾーンのトラブルシューティング

Azure プライベート DNS では、仮想ネットワーク内のドメイン名を管理および解決することができます。カスタムの DNS ソリューションを追加する必要はありません。 Azure で提供される名前ではなく、カスタム ドメイン名を使用できます。

プライベート DNS ゾーンを使用する DNS 解決は、それにリンクされている仮想ネットワークからのみ機能します。 これらのプライベート DNS ゾーン レコードはインターネットから解決できますが、プライベート IP アドレスはインターネット経由ではルーティングできません。

仮想ネットワーク リンクを作成することによって、プライベート DNS ゾーンを 1 つ以上の仮想ネットワークにリンクできます。 また、自動登録機能を有効にして、仮想ネットワークにデプロイされている仮想マシンの DNS レコードのライフサイクルを自動的に管理することもできます。 自動登録を有効にすると、仮想マシンの作成または削除、あるいはその IP アドレスの変更を行うたびに、Azure DNS でそのゾーン レコードが更新されます。

Note

Virtual Network では、1 つのプライベート DNS ゾーン リンクでのみ自動登録を有効にすることができます。 2 つのプライベート DNS ゾーンを同じ VNet にリンクしようとすると、リンクの 1 つだけで自動登録が有効になります。

Diagram of private DNS zones on the same Vnet.

作成できるプライベート DNS ゾーンの数、レコード セットの数、レコード セットあたりのレコード数には制限があります。

単一ラベルのプライベート DNS ゾーンはサポートされていません。 プライベート DNS ゾーンには、2 つ以上のラベルが必要です。 たとえば、contoso.com にはドットで区切られた 2 つのラベルがあります。 プライベート DNS ゾーンには、最大 34 個のラベルを含めることができます。

プライベート DNS ゾーンにゾーンの委任 (NS レコード) を作成することはできません。 子ドメインを使用する場合は、ドメインをプライベート DNS ゾーンとして直接作成できます。 その後、親ゾーンからネームサーバーの委任を設定せずに、仮想ネットワークにリンクすることができます。

プライベート DNS ゾーンを作成するには:

  1. Azure portal で、検索テキスト ボックスに「プライベート DNS ゾーン」と入力し、Enter キーを押します。 [プライベート DNS ゾーン] ブレードが表示されます。

  2. [作成] を選択します [プライベート DNS ゾーンの作成] ブレードが表示されます。

  3. 次の項目を入力または選択します。

    1. サブスクリプション

    2. リソース グループ

    3. 名前 – これは、リソース グループ内で一意である必要があります。

    4. リソース グループの場所

  4. [確認および作成] を選択します。

  5. [作成] を選択します

DNS ゾーンに関連する問題のトラブルシューティングを行うには:

  1. Azure DNS 監査ログを確認します。

  2. 各 DNS ゾーン名がリソース グループ内で一意であることを確認します。

  3. azure.com など、Microsoft サービスの DNS 解決に影響する可能性のあるゾーン名は作成しないでください。

  4. .local ドメインをプライベート DNS ゾーンに使用しないでください。 すべてのオペレーティング システムでこれがサポートされているわけではありません。

  5. サブスクリプションのゾーンの最大数に達していないかどうかを確認します。 そうである場合、"サブスクリプション {サブスクリプション ID} のゾーンが最大数に達したか、最大数を超えました" というエラー メッセージが表示されます。別の Azure サブスクリプションを使用するか、ゾーンのいくつかを削除するか、あるいは Azure サポートに連絡して、サブスクリプションの上限を引き上げてください。

  6. "ゾーン '{ゾーン名}' は使用できません" は、Azure DNS がこの DNS ゾーンのネーム サーバーを割り当てることができなかったことを示します。 ゾーンの名前を変更するか、あるいは Azure サポートに連絡して、ネーム サーバーを割り当てます。

DNS レコードに関連する問題のトラブルシューティングを行うには:

  1. レコード セットが既に存在しています。 レコード セット名は、ゾーン内で一意である必要があります。

  2. CNAME レコードを頂点に作成することはできません。

  3. CNAME レコード セットには、他のレコード セットと同じ名前を付けることはできません。

  4. apex レコードは "@" 文字で構成されます。

  5. 作成できるレコードの最大数は、ゾーンの [プロパティ] の下の Azure portal に表示されます。 この上限に達している場合、一部のレコード セットを削除するか、Azure サポートに連絡してこのゾーンのレコードの上限を引き上げます。

Note

apex レコードは、ゾーンのルートに追加されたレコードです。

DNS レコードの解決のトラブルシューティングを行うには:

  1. 完全修飾名、ゾーン名、レコードの種類が正しいことを確認します。

  2. DNS レコードの種類が異なる場合でも、同じ名前のものがないことを確認します。

  3. Azure DNS ネーム サーバーで DNS レコードが正しく解決されていることを確認します。

  4. digwebinterface などのサービスで名前解決を確認します。 これにより、プロキシ サーバーとキャッシュされた結果を削除することで、ネーム サーバーの現在の状態がテストされます。

  5. Azure portal の表示に従って、DNS ゾーンに適切なネーム サーバーであることを確認します。

  6. DNS ドメイン名が適切に Azure DNS に委任されていることを確認します。 nslookup を使用して、ゾーンが組み込みの Azure DNS に委任されていることを検証します。

Note

環境でハイブリッド アプローチを使用し、プライベート ゾーン DNS とパブリック ゾーンの両方を使用している場合、プライベート ゾーン DNS のレコードは最初に解決されます。

DNS レコードの解決のトラブルシューティングを行うには:

  1. 完全修飾名、ゾーン名、レコードの種類が正しいことを確認します。

  2. DNS レコードの種類が異なる場合でも、同じ名前のものがないことを確認します。

  3. Azure DNS ネーム サーバーで DNS レコードが正しく解決されていることを確認します。

  4. digwebinterface などのサービスで名前解決を確認します。 これにより、プロキシ サーバーとキャッシュされた結果が削除され、ネーム サーバーの現在の状態のみがテストされます。

  5. Azure portal の表示に従って、DNS ゾーンに適切なネーム サーバーであることを確認します。

Azure プライベート DNS ゾーンには、次の制限があります。

  • VM DNS の自動登録が有効になっている場合、仮想ネットワークにリンクできるプライベート ゾーンは 1 つだけです。 ただし、複数の仮想ネットワークを 1 つの DNS ゾーンにリンクできます。

  • 逆引き DNS は、リンクされた仮想ネットワーク内のプライベート IP 空間に対してのみ機能します。

  • リンクされた仮想ネットワーク内のプライベート IP アドレスの逆引き DNS は、仮想マシンの既定のサフィックスとして internal.cloudapp.net を返します。 自動登録が有効にされたプライベート ゾーンにリンクされている仮想ネットワークでは、プライベート IP アドレスの逆引き DNS は 2 つの完全修飾ドメイン名 (FQDN) を返します。1 つは、既定の internal.cloudapp.net というサフィックスが付き、もう 1 つはプライベート ゾーンのサフィックスが付きます。

  • 条件付き転送は、現在ネイティブにサポートされていません。 Azure とオンプレミス ネットワーク間の解決を有効にするには、VM とロール インスタンスの名前解決に関するページを参照してください。

2.3 カスタム ドメイン ネーム システムの構成に関する問題のトラブルシューティング

Azure の組み込み DNS だけでなく、カスタム DNS サーバーを構成することもできます。 たとえば、オンプレミスの Active Directory と統合したり、VNet 間の名前を解決したりすることができます。

Azure のカスタム DNS を使用するには、DNS サーバーを指す IP アドレスの一覧を追加する必要があります。 この一覧は、Azure DNS サーバーを使用していた仮想ネットワーク内のすべてのデバイスに配布されます。

Azure のカスタム DNS にはいくつかの制限があります。

  • Azure のカスタム DNS を使用してパブリック ドメイン名を登録することはできません。

  • DNSSEC が有効になっていません。

  • ゾーン転送を実行できません。

Note

組み込みの DNS (仮想ネットワークから継承) からカスタム DNS に更新すると、影響を受けるすべての VM が再起動されます。

DNS 設定では、仮想ネットワークから DNS 設定を継承するか、カスタム DNS を使用するかを選択できます。 Azure の組み込み DNS からカスタム DNS への変更が保存されていることを確認します。そうしないと、変更は保持されません。

カスタム DNS が機能しているかどうかをテストするには、PowerShell コマンドを使用します。

test-netconnection -computername -port  

カスタム DNS が正しい DNS サーバーを使用していることを確認するには、コマンド プロンプトから次のように入力します。

Ipconfig /all