Azure プライベート エンドポイントの DNS 統合
Azure プライベート エンドポイントは、Azure Private Link を使用するサービスに、プライベートで安全に接続するためのネットワーク インターフェイスです。 プライベート エンドポイントでは、仮想ネットワークのプライベート IP アドレスを使用して、サービスが仮想ネットワークに実質的に組み込まれます。 サービスは、Azure Storage、Azure Cosmos DB、SQL などの Azure サービスであっても、独自の Private Link サービスであってもかまいません。 この記事では、Azure プライベート エンドポイントの DNS 構成シナリオについて説明します。
プライベート エンドポイントをサポートする Azure サービスのプライベート DNS ゾーン設定については、Azure プライベート エンドポイントのプライベート DNS ゾーン値に関するページを参照してください。
DNS の構成シナリオ
サービスの FQDN は、自動的にパブリック IP アドレスに解決されます。 プライベート エンドポイントのプライベート IP アドレスに解決するには、DNS 構成を変更します。
DNS は、プライベート エンドポイント IP アドレスを正常に解決することでアプリケーションを正しく動作させるために不可欠なコンポーネントです。
お客様の設定に応じて、DNS 解決の統合では次のシナリオを利用できます。
Azure Private Resolver を使用しない仮想ネットワーク ワークロード
この構成は、カスタム DNS サーバーのない仮想ネットワーク ワークロードに適しています。 このシナリオでは、Azure から提供される DNS サービス 168.63.129.16 に対してクライアントがプライベート エンドポイント IP アドレスを照会します。 Azure DNS はプライベート DNS ゾーンの DNS 解決を担当します。
Note
このシナリオでは、Azure SQL Database から推奨されるプライベート DNS ゾーンを使用します。 その他のサービスの場合、次のリファレンスを使用してモデルを調整できます (「Azure サービス DNS ゾーンの構成」)。
適切に構成するには、次のリソースが必要です。
クライアント仮想ネットワーク
プライベート DNS ゾーン privatelink.database.windows.net とタイプ A レコード
プライベート エンドポイント情報 (FQDN レコード名とプライベート IP アドレス)
次のスクリーンショットには、プライベート DNS ゾーンを利用した仮想ネットワーク ワークロードからの DNS 解決シーケンスが示されています。
Azure Private Resolver を使用しないピアリングされた仮想ネットワーク ワークロード
このモデルを、同じプライベート エンドポイントに関連付けられているピアリングされた仮想ネットワークに拡張することができます。 ピアリングされたすべての仮想ネットワークに対して、プライベート DNS ゾーンに新しい仮想ネットワーク リンクを追加します。
重要
この構成には単一のプライベート DNS ゾーンが必要です。 異なる仮想ネットワークに対して同じ名前を使って複数のゾーンを作成する場合、手作業で DNS レコードをマージする必要があります。
異なるサブスクリプション、または同じサブスクリプション内で、ハブ アンド スポーク モデルのプライベート エンドポイントを使用している場合、同じプライベート DNS ゾーンを、ゾーンから DNS 解決が必要なクライアントを含むすべてのスポークおよびハブ仮想ネットワークにリンクします。
このシナリオには、ハブおよびスポーク ネットワーク トポロジがあります。 スポーク ネットワークによってプライベート エンドポイントが共有されます。 スポーク仮想ネットワークは同じプライベート DNS ゾーンにリンクされます。
オンプレミスのワークロード用 Azure Private Resolver
オンプレミスのワークロードでプライベート エンドポイントの FQDN を解決するには、Azure Private Resolver を使用して、Azure で Azure サービス パブリック DNS ゾーンを解決します。 Azure Private Resolver は、DNS フォワーダーとして機能する仮想マシンを必要とせずに DNS クエリを解決できる、Azure マネージド サービスです。
次のシナリオは、Azure Private Resolver を使用するように構成されたオンプレミス ネットワークの場合のものです。 この Private Resolver では、プライベート エンドポイントの要求を Azure DNS に転送します。
Note
このシナリオでは、Azure SQL Database から推奨されるプライベート DNS ゾーンを使用します。 その他のサービスの場合は、Azure サービス DNS ゾーンの値に関するリファレンスを利用してモデルを調整できます。
適切に構成するには、次のリソースが必要です。
オンプレミス ネットワーク
オンプレミスに接続された仮想ネットワーク
プライベート DNS ゾーン privatelink.database.windows.net とタイプ A レコード
プライベート エンドポイント情報 (FQDN レコード名とプライベート IP アドレス)
次の図は、オンプレミス ネットワークからの DNS 解決シーケンスを示しています。 この構成では、Azure にデプロイされた Private Resolver を使用します。 この解決は、仮想ネットワークにリンクされたプライベート DNS ゾーンによって行われます。
オンプレミス DNS フォワーダーを使用した Azure Private Resolver
この構成は、DNS ソリューションが既に配置されているオンプレミス ネットワーク用に拡張できます。
オンプレミスの DNS ソリューションは、条件付きフォワーダーを介して Azure DNS に DNS トラフィックを転送するように構成されています。 この条件付きフォワーダーでは、Azure にデプロイされた Private Resolver を参照します。
Note
このシナリオでは、Azure SQL Database から推奨されるプライベート DNS ゾーンを使用します。 その他のサービスの場合は、Azure サービス DNS ゾーンの値に関するリファレンスを利用してモデルを調整できます
適切に構成するには、次のリソースが必要です。
カスタム DNS ソリューションが配置されているオンプレミス ネットワーク
オンプレミスに接続された仮想ネットワーク
プライベート DNS ゾーン privatelink.database.windows.net とタイプ A レコード
プライベート エンドポイント情報 (FQDN レコード名とプライベート IP アドレス)
次の図は、オンプレミス ネットワークからの DNS 解決を示しています。 DNS 解決は Azure に条件付きで転送されます。 この解決は、仮想ネットワークにリンクされたプライベート DNS ゾーンによって行われます。
重要
条件付き転送は、推奨されるパブリック DNS ゾーン フォワーダーに対して行われる必要があります。 たとえば、 privatelink.database.windows.net ではなく、database.windows.net
です。
仮想ネットワークとオンプレミスのワークロード用 Azure Private Resolver
仮想およびオンプレミス ネットワークからプライベート エンドポイントにアクセスするワークロードの場合は、Azure Private Resolver を使用して、Azure にデプロイされた Azure サービス パブリック DNS ゾーンを解決します。
次のシナリオは、Azure の仮想ネットワークを使用したオンプレミス ネットワーク用です。 どちらのネットワークも、共有ハブ ネットワークに配置されているプライベート エンドポイントにアクセスします。
この Private Resolver には、すべての DNS クエリを、Azure 提供の DNS サービス 168.63.129.16 を介して解決する役割があります。
重要
この構成には単一のプライベート DNS ゾーンが必要です。 また、オンプレミスおよびピアリングされた仮想ネットワークから実行されるすべてのクライアント接続では、同じプライベート DNS ゾーンを使用する必要があります。
注意
このシナリオでは、Azure SQL Database から推奨されるプライベート DNS ゾーンを使用します。 その他のサービスの場合、次のリファレンスを使用してモデルを調整できます (「Azure サービス DNS ゾーンの構成」)。
適切に構成するには、次のリソースが必要です。
オンプレミス ネットワーク
オンプレミスに接続された仮想ネットワーク
Azure Private Resolver
プライベート DNS ゾーン privatelink.database.windows.net とタイプ A レコード
プライベート エンドポイント情報 (FQDN レコード名とプライベート IP アドレス)
次の図は、オンプレミス ネットワークと仮想ネットワークの両方の DNS 解決を示しています。 この解決では Azure Private Resolver を使用しています。
この解決は、仮想ネットワークにリンクされたプライベート DNS ゾーンによって行われます。
プライベート DNS ゾーン グループ
プライベート エンドポイントをプライベート DNS ゾーンと統合することを選んだ場合は、プライベート DNS ゾーン グループも作成されます。 DNS ゾーン グループでは、プライベート DNS ゾーンとプライベート エンドポイントの間に強い関連付けがあります。 これは、プライベート エンドポイントが更新されたときに、プライベート DNS ゾーン レコードを管理するのに役立ちます。 たとえば、リージョンを追加または削除すると、プライベート DNS ゾーンは正しいレコード数で自動的に更新されます。
以前は、プライベート エンドポイントの DNS レコードはスクリプトを使用して作成されていました (プライベート エンドポイントに関する特定の情報を取得し、それをDNS ゾーンに追加します)。 DNS ゾーン グループでは、すべての DNS ゾーンに対して CLI/PowerShell 行を追加記述する必要はありません。 また、プライベート エンドポイントを削除すると、DNS ゾーン グループ内のすべての DNS レコードが削除されます。
ハブおよびスポーク トポロジの場合、一般的なシナリオでは、ハブでプライベート DNS ゾーンを 1 回だけ作成できます。 このセットアップを使用すると、スポークごとに異なるゾーンを作成する代わりに、スポークがそれに登録できます。
Note
- 各 DNS ゾーン グループは、最大 5 つの DNS ゾーンをサポートできます。
- 1 つのプライベート エンドポイントへの複数の DNS ゾーン グループの追加はサポートされていません。
- DNS レコードの削除および更新の操作は、Azure Traffic Manager と DNS によって実行されます。これは、DNS レコードの管理に必要な通常のプラットフォーム操作です。