Azure DNS Private Resolver エンドポイントとルールセット

この記事では、Azure DNS Private Resolver のコンポーネントについて説明します。 受信エンドポイント、送信エンドポイント、DNS 転送ルールセットについて説明します。 これらのコンポーネントのプロパティと設定について説明し、その使用方法の例を示します。

次の図に Azure DNS Private Resolver のアーキテクチャがまとめられています。 このネットワーク例では、スポーク仮想ネットワークとピアリングするハブ仮想ネットワークに DNS リゾルバーがデプロイされます。

Private Resolver のアーキテクチャを示す図

図 1: DNS リゾルバーを使用したハブアンドスポーク ネットワークの例

  • ルールセット リンクは、ハブとスポークの両方の仮想ネットワークに対して DNS 転送ルールセットでプロビジョニングされ、両方の仮想ネットワークのリソースが DNS 転送規則を使用してカスタム DNS 名前空間を解決できるようにします。
  • プライベート DNS ゾーンもデプロイされ、ハブ仮想ネットワークにリンクされて、ハブ仮想ネットワーク内のリソースがゾーン内のレコードを解決できるようにします。
  • スポーク仮想ネットワークは、ハブ仮想ネットワークの受信エンドポイント VIP にプライベート ゾーン クエリを転送する DNS 転送規則を使用して、プライベート ゾーン内のレコードを解決します。
  • ExpressRoute に接続されたオンプレミス ネットワークも図に示されており、Azure プライベート ゾーンのクエリを受信エンドポイント VIP に転送するように DNS サーバーが構成されています。 Azure DNS Private Resolver を使用したハイブリッド DNS 解決を有効にする方法の詳細については、「Azure とオンプレミスのドメインを解決する」を参照してください。

注意

図に示されているピアリング接続は、名前解決では必要ありません。 DNS 転送ルールセットからリンクされている VNet では、リンクされたその VNet がルールセット VNet とピアリングされているかどうかにかかわらず、名前解決の実行時にこのルールセットを使います。

受信エンドポイント

名前が示すように、受信エンドポイントは Azure の入口になります。 受信エンドポイントは、仮想ネットワークの外部に位置するオンプレミスやその他の場所から DNS クエリを転送する IP アドレスを提供します。 受信エンドポイントに送信された DNS クエリは、Azure DNS を使用して解決されます。 受信エンドポイントがプロビジョニングされている仮想ネットワークにリンクされているプライベート DNS ゾーンは、受信エンドポイントによって解決されます。

受信エンドポイントに関連付けられている IP アドレスは常に、プライベート リゾルバーがデプロイされているプライベート仮想ネットワーク アドレス空間の一部となります。 受信エンドポイントと同じサブネットに、他のリソースを存在させることはできません。

静的および動的エンドポイントの IP アドレス

受信エンドポイントに割り当てられている IP アドレスは、静的または動的にすることができます。 静的を選ぶと、サブネット内の予約済み IP アドレスを選ぶことはできません。 動的 IP アドレスを選ぶと、サブネット内の 5 番目に使用可能な IP アドレスが割り当てられます。 たとえば、10.10.0.4 は、10.10.0.0/28 サブネットの 5 番目 (.0、.1、.2、.3、.4) の IP アドレスです。 受信エンドポイントが再プロビジョニングされると、この IP アドレスは変更される可能性がありますが、通常はサブネット内の 5 番目の IP アドレスが再び使われます。 動的 IP アドレスは、受信エンドポイントが再プロビジョニングされない限り変更されません。 次の例では、静的 IP アドレスを指定します。


静的 IP アドレスを選択する方法を示すスクリーンショット。

次の例は、アドレス空間が 10.10.0.0/16 の仮想ネットワーク内のサブネット snet-E-inboundの内部にある 10.10.0.4 の仮想 IP アドレス (VIP) を持つ受信エンドポイントのプロビジョニングを示しています。

受信エンドポイントを示すスクリーンショット。

送信エンドポイント

送信エンドポイントは Azure からの出口となり、DNS 転送ルールセットにリンクできます。

送信エンドポイントは、プライベート リゾルバーがデプロイされているプライベート仮想ネットワーク アドレス空間の一部でもあります。 送信エンドポイントはサブネットに関連付けられますが、受信エンドポイントのような IP アドレスはプロビジョニングされません。 送信エンドポイントと同じサブネットに、他のリソースを存在させることはできません。 次のスクリーンショットは、サブネット snet-E-outbound 内の送信エンドポイントを示しています。

送信エンドポイントの表示

DNS 転送ルールセット

DNS 転送ルールセットを使用すると、特定の DNS 名前空間のクエリに応答する 1 つ以上のカスタム DNS サーバーを指定できます。 ルールセット内の個々のルールによって、これらの DNS 名がどのように解決されるかが決まります。 ルールセットは 1 つ以上の仮想ネットワークにリンクすることもできます。これにより、仮想ネットワーク内のリソースは、構成した転送ルールを使用できます。

ルールセットには、次の関連付けがあります。

  • 1 つのルール セットを、同じ DNS Private Resolver インスタンスに属する最大 2 つの送信エンドポイントに関連付けることができます。 2 つの異なる DNS Private Resolver インスタンス内の 2 つの送信エンドポイントに関連付けることはできません。
  • ルールセットには、最大 1,000 個の DNS 転送ルールを含めることができます。
  • ルールセットは、同じリージョン内の最大 500 の仮想ネットワークにリンクできます。

ルール セットを別のリージョンの仮想ネットワークにリンクすることはできません。 ルールセットとその他のプライベート リゾルバーの制限の詳細については、「Azure DNS の使用制限とは何ですか」を参照してください。

ルールセットを仮想ネットワークにリンクすると、その仮想ネットワーク内のリソースでは、そのルールセットで有効になっている DNS 転送ルールが使われます。 リンクされた仮想ネットワークは、送信エンドポイントが存在する仮想ネットワークとピアリングする必要はありませんが、これらのネットワークはピアとして構成できます。 この構成は、ハブとスポークの設計で一般的です。 このハブとスポークのシナリオでは、スポーク仮想ネットワークをプライベート DNS ゾーンにリンクして、ゾーン内のリソース レコードを解決する必要はありません。 この場合、プライベート ゾーンの転送ルールセットのルールは、ハブ仮想ネットワークの受信エンドポイントにクエリを送信します。 たとえば、azure.contoso.com から 10.10.0.4 です。

次のスクリーンショットは、スポーク仮想ネットワークにリンクされている DNS 転送ルールセットを示しています: myeastspoke

ルールセット リンクの表示

DNS 転送ルールセットの仮想ネットワーク リンクを使用すると、DNS 名を解決するときに、他の 仮想ネットワーク 内のリソースで転送ルールを使用できます。 プライベート リゾルバーを持つ仮想ネットワークは、ルールセットのルールがあるプライベート DNS ゾーンともリンクする必要があります。

たとえば、仮想ネットワーク myeastspoke 内のリソースは、次の場合にプライベート DNS ゾーン azure.contoso.com 内のレコードを解決できます。

  • myeastvnet でプロビジョニングされたルールセットは、myeastspoke にリンクされます
  • myeastvnet の受信エンドポイントを使用して azure.contoso.com を解決するために、リンクされたルールセットでルールセットのルールが構成され、有効になります。

Note

ルールセットを別の Azure サブスクリプションの仮想ネットワークにリンクすることもできます。 ただし、指定されたリソース グループは、プライベート リゾルバーと同じリージョンに存在する必要があります。

ルール

DNS 転送ルール (ルールセットのルール) には、次のプロパティがあります。

プロパティ 説明
規則の名前 ルールの名前。 名前に使用できるのは、アルファベット、数字、アンダースコア、およびダッシュのみで、先頭にはアルファベットを使用する必要があります。
ドメイン名 ルールが適用されるドットで終わる DNS 名前空間。 名前空間は、ラベルなし (ワイルドカードの場合) にするか、ラベルの数を 1 から 34 にする必要があります。 たとえば、contoso.com. は 2 つのラベルで構成されています。1
宛先 IP: ポート 転送先になります。 指定した名前空間の DNS クエリを解決するために使用される 1 つ以上の IP アドレスと DNS サーバーのポート。
ルールの状態 ルールの状態: 有効または無効。 ルールが無効になっている場合、無視されます。

1単一ラベルのドメイン名がサポートされています。

複数のルールが一致する場合は、最長のプレフィックス一致が使用されます。

たとえば、次のルールがあるとします。

規則名 ドメイン名 宛先 IP: ポート ルールの状態
Contoso contoso.com: 10.100.0.2:53 Enabled
AzurePrivate azure.contoso.com 10.10.0.4:53 Enabled
ワイルドカード . 10.100.0.2:53 Enabled

secure.store.azure.contoso.com のクエリは、azure.contoso.comAzurePrivate ルール、そして contoso.comContoso ルールと一致しますが、プレフィックス azure.contosocontoso より長いため、AzurePrivate ルールが優先されます。

重要

宛先として Private Resolver 受信エンドポイントを持つルールセットにルールが存在する場合、受信エンドポイントがプロビジョニングされている VNet に、そのルールセットをリンクしないでください。 この構成では、DNS 解決ループが発生する可能性があります。 たとえば、前述のシナリオの場合、ルールセット リンクを myeastvnet に追加しないでください。これは、10.10.0.4 の受信エンドポイントが myeastvnet でプロビジョニングされ、その受信エンドポイントを使用して azure.contoso.com を解決するルールが存在するためです。

このアーティクルに示すルールは、特定のシナリオで使用できるルールの例です。 使用された例は必須ではありません。 転送ルールは慎重にテストしてください。

ルールセットにワイルドカード ルールを含める場合は、ターゲット DNS サービスがパブリック DNS 名を解決できることを確認します。 一部の Azure サービスは、パブリック名前解決に依存しています。

規則の処理

  • ルールの宛先として複数の DNS サーバーが入力されているときは、応答しない場合を除き、入力された最初の IP アドレスが使用されます。 エクスポネンシャル バックオフ アルゴリズムは、宛先 IP アドレスが応答しているかどうかを判断するために使用されます。
  • DNS 解決にワイルドカード ルールを使用する場合、特定のドメインは Azure サービス用に予約されているため、無視されます。 予約されているドメインの一覧については、「Azure サービス DNS ゾーンの構成」を参照してください。 この記事に記載されている 2 つのラベルから成る DNS 名 (例: windows.net、azure.com、azure.net、windowsazure.us) は、Azure サービス用に予約されています。

重要

  • ルールの宛先 IP アドレスとして Azure DNS IP アドレス 168.63.129.16 は入力できません。 この IP アドレスを追加しようとすると、[ルールの追加要求を実行している間に例外が発生しました] というエラーが出力されます。
  • Private Resolver がプロビジョニングされている仮想ネットワークにリンクされていないゾーンの転送先として、Private Resolver の受信エンドポイント IP アドレスを使用しないでください。

設計オプション

ハブ アンド スポーク アーキテクチャで転送ルールセットと受信エンドポイントをデプロイする方法は、ネットワーク設計によって理想的に異なります。 次のセクションでは、2 つの構成オプションについて簡単に説明します。 構成例の詳細については、「 プライベート リゾルバーアーキテクチャ」を参照してください。

転送ルールセットを 仮想ネットワーク にリンクすると、その 仮想ネットワーク の DNS 転送機能が有効になります。 たとえば、ルールセットにプライベート リゾルバーの受信エンドポイントにクエリを転送するルールが含まれている場合、この種類のルールを使用して、受信エンドポイントの 仮想ネットワーク にリンクされているプライベート ゾーンの解決を有効にすることができます。 この構成は、ハブ VNet がプライベート ゾーンにリンクされていて、プライベート ゾーンにリンクされていないスポーク VNet でプライベート ゾーンを解決できるようにする場合に使用できます。 このシナリオでは、プライベート ゾーンの DNS 解決は、ハブ 仮想ネットワーク の受信エンドポイントによって実行されます。

ルールセット リンクの設計シナリオは、ネットワーク トラフィックが Azure ネットワーク全体に分散され、一部の場所で一意である可能性がある 分散 DNS アーキテクチャ に最適です。 この設計では、1 つのルールセットを変更することで、ルールセットにリンクされているすべての 仮想ネットワーク の DNS 解決をコントロールできます。

注意

ルールセットリンクオプションを使用し、受信エンドポイントを宛先として転送ルールがある場合は、転送ルールセットをハブ 仮想ネットワーク にリンクしないでください。 この種類のルールセットを、受信エンドポイントがプロビジョニングされているのと同じ 仮想ネットワークにリンクすると、DNS 解決ループが発生する可能性があります。

カスタム DNS としての受信エンドポイント

受信エンドポイント は受信 DNS クエリを処理でき、仮想ネットワーク のカスタム DNS として構成できます。 この構成では、VNet のカスタム DNS として独自の DNS サーバーを使用しているインスタンスを置き換えることができます。

カスタム DNS 設計シナリオは、DNS 解決とネットワーク トラフィック フローが主にハブ 仮想ネットワークに対して行われ、中央の場所から制御される 一元化された DNS アーキテクチャ に最適です。

この方法を使用してスポーク 仮想ネットワーク からプライベート DNS ゾーンを解決するには、受信エンドポイントが存在する 仮想ネットワーク をプライベート ゾーンにリンクする必要があります。 ハブ 仮想ネットワーク は(必要に応じて) 転送ルールセットにリンクできます。 ルールセットがハブにリンクされている場合、受信エンドポイントに送信されるすべての DNS トラフィックがルールセットによって処理されます。

次のステップ