チュートリアル: オンプレミス ワークロード用に Azure Private Resolver を使用してプライベート エンドポイント DNS インフラストラクチャを作成する

Azure プライベート エンドポイントが作成されると、既定で名前解決に Azure プライベート DNS ゾーンが使用されます。 オンプレミスのワークロードがエンドポイントにアクセスするには、プライベート エンドポイントの DNS またはオンプレミスの DNS レコードをホストしている Azure 内の仮想マシンへのフォワーダーが必要でした。 Azure Private Resolver を使用すると、DNS 用に Azure に VM をデプロイしたり、オンプレミスの DNS サーバーでプライベート エンドポイントの DNS レコードを管理したりする必要性が軽減されます。

チュートリアルで作成される Azure リソースのダイアグラム。

このチュートリアルでは、次の作業を行う方法について説明します。

  • クラウド ネットワーク用の Azure Virtual Network と、仮想ネットワーク ピアリングを使用したシミュレートされたオンプレミス ネットワークを作成します。
  • クラウド リソースをシミュレートする Azure Web アプリを作成します。
  • Azure Virtual Network で Web アプリ用の Azure プライベート エンドポイントを作成します。
  • クラウド ネットワークに Azure Private Resolver を作成します。
  • シミュレートされたオンプレミス ネットワークに Azure 仮想マシンを作成し、Web アプリへの DNS 解決をテストします。

注意

このチュートリアルでは、ピアリングを備えた Azure Virtual Network を使用して、オンプレミス ネットワークをシミュレートします。 運用シナリオでは、Azure Virtual Network に接続してプライベート エンドポイントにアクセスするには、Express Route またはサイト間 VPN が必要です。

シミュレートされたネットワークは、仮想ネットワークの DNS サーバーとして Azure Private Resolver を使用して構成されます。 運用シナリオでは、オンプレミス リソースは名前解決にローカル DNS サーバーを使用します。 Azure Private Resolver への条件付きフォワーダーは、プライベート エンドポイントの DNS レコードを解決するために、オンプレミスの DNS サーバーで使用されます。 お使いの DNS サーバーの条件付きフォワーダーの構成の詳細については、プロバイダーのドキュメントを参照してください。

前提条件

Azure へのサインイン

Azure アカウントで Azure Portal にサインインします。

概要

このチュートリアルのリソースには、Azure Web アプリとシミュレートされたオンプレミス ネットワーク用の仮想ネットワークが使用されます。 2 つの仮想ネットワークを作成し、それらをピアリングして、オンプレミスと Azure の間の Express Route または VPN 接続をシミュレートします。 Azure Bastion ホストは、シミュレートされたオンプレミス ネットワークにデプロイされ、テスト用の仮想マシンに接続されます。 テスト用の仮想マシンは、Web アプリへのプライベート エンドポイント接続と DNS 解決をテストするために使用されます。

このチュートリアルでは、オンプレミスとクラウドのネットワーク インフラストラクチャをシミュレートするために、次のリソースを使用します。

リソース 名前 説明
シミュレートされたオンプレミスの仮想ネットワーク vnet-1 オンプレミス ネットワークをシミュレートする仮想ネットワーク。
クラウド仮想ネットワーク vnet-2 Azure Web アプリがデプロイされている仮想ネットワーク。
Bastion ホスト bastion シミュレートされたオンプレミス ネットワーク内の仮想マシンへの接続に使用される Bastion ホスト。
テスト用の仮想マシン vm-1 Web アプリへのプライベート エンドポイント接続と DNS 解決をテストするために使用される仮想マシン。
仮想ネットワーク ピア vnet-1-to-vnet-2 シミュレートされたオンプレミス ネットワークとクラウド仮想ネットワークの間の仮想ネットワーク ピア。
仮想ネットワーク ピア vnet-2-to-vnet-1 クラウド仮想ネットワークとシミュレートされたオンプレミス ネットワークの間の仮想ネットワーク ピア。

仮想ネットワークと Azure Bastion ホストを作成する

次の手順では、リソース サブネット、Azure Bastion サブネット、Bastion ホストを含む仮想ネットワークを作成します。

  1. ポータルで、[仮想ネットワーク] を検索して選択します。

  2. [仮想ネットワーク] ページで、[+ 作成] を選択します。

  3. [仮想ネットワークの作成][基本] タブで、以下の情報を入力するか選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group [新規作成] を選択します。
    名前に「test-rg」と入力します。

    を選択します。
    インスタンスの詳細
    Name vnet-1」と入力します。
    リージョン [米国東部 2] を選択します。

    Azure portal で仮想ネットワークを作成するための [基本] タブのスクリーンショット。

  4. [次へ] を選択して、[セキュリティ] タブに進みます。

  5. [Azure Bastion] セクションで、[Bastion を有効にする] を選びます。

    Bastion では、ユーザーのブラウザーとプライベート IP アドレスを使って、Secure Shell (SSH) またはリモート デスクトップ プロトコル (RDP) 経由で仮想ネットワーク内の VM に接続します。 VM には、パブリック IP アドレス、クライアント ソフトウェア、または特別な構成は必要ありません。 詳細については、Azure Bastion に関するページを参照してください。

    Note

    時間単位の価格は、送信データの使用状況に関係なく、Bastion がデプロイされた時点から開始します。 詳しくは、「価格」および「SKU」を参照してください。 チュートリアルまたはテストの一環で Bastion をデプロイする場合は、使用終了後にこのリソースを削除することをお勧めします。

  6. [Azure Bastion] で、次の情報を入力するか選びます。

    設定
    Azure Bastion ホスト名 bastion」と入力します。
    Azure Bastion のパブリック IP アドレス [Create a public IP address] (パブリック IP アドレスを作成する) を選びます。
    [名前] に「public-ip-bastion」と入力します。

    を選択します。

    Azure portal で仮想ネットワークを作成する際に Azure Bastion ホストを有効にするためのオプションのスクリーンショット。

  7. [次へ] を選択して、[IP アドレス] タブに進みます。

  8. [サブネット] のアドレス空間ボックスで、既定のサブネットを選択します。

  9. [サブネットの編集] で次の情報を入力または選択します。

    設定 Value
    サブネットの目的 既定値の [既定値] のままにします。
    名前 subnet-1」と入力します。
    IPv4
    IPv4 アドレス範囲 既定値である 10.0.0.0/16 のままにします。
    開始アドレス 既定値の 10.0.0.0 のままにします。
    サイズ 既定値の [/24 (256 アドレス)] のままにします。

    サブネットの構成の詳細のスクリーンショット。

  10. [保存] を選択します。

  11. ウィンドウの下部にある [確認および作成] を選びます。 検証に合格した場合は、[作成] を選択します。

Bastion ホストのデプロイが完了するまで数分かかります。 Bastion ホストは、チュートリアルの後半で、"オンプレミス" 仮想マシンに接続してプライベート エンドポイントをテストするために使用されます。 仮想ネットワークが作成されたら、次の手順に進めます。

クラウド仮想ネットワークを作成する

前の手順を繰り返して、Azure Web アプリ プライベート エンドポイント用のクラウド仮想ネットワークを作成します。 クラウド仮想ネットワークの値を次の値に置き換えます。

Note

クラウド仮想ネットワークの場合は、Azure Bastion のデプロイに関するセクションをスキップできます。 Bastion ホストは、シミュレートされたオンプレミス ネットワークでのみ必要です。

設定
名前 vnet-2
場所 米国東部 2
アドレス空間 10.1.0.0/16
サブネット名 subnet-1
サブネットのアドレス範囲 10.1.0.0/24

仮想ネットワーク ピアを作成する

次の手順を使用して、vnet1vnet2 の間に双方向ネットワーク ピアを作成します。

  1. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  2. [vnet-1] を選択します。

  3. [設定][ピアリング] を選択します。

  4. [+ 追加] を選択します。

  5. [ピアリングの追加] で、次の情報を入力するか選びます。

    設定 Value
    リモート仮想ネットワークの概要
    [Peering link name](ピアリング リンク名) vnet-2-to-vnet-1」と入力します。
    仮想ネットワークのデプロイ モデル 既定値の [リソース マネージャー] のままにします。
    サブスクリプション サブスクリプションを選択します。
    仮想ネットワーク [vnet-2] を選択します。
    リモート仮想ネットワーク ピアリングの設定
    'vnet-2' に 'vnet-1' へのアクセスを許可する 既定値の [選択済み]のままにします。
    'vnet-2' が 'vnet-1' から転送されたトラフィックを受信することを許可する チェックボックスを オンにします。
    'vnet-2' のゲートウェイまたはルート サーバーが 'vnet-1' にトラフィックを転送することを許可する 既定値のオフのままにします。
    'vnet-2' で 'vnet-1 の' リモート ゲートウェイまたはルート サーバーを使用できるようにする 既定値のオフのままにします。
    ローカル仮想ネットワーク ピアリングの概要
    [Peering link name](ピアリング リンク名) vnet-1-to-vnet-2」と入力します。
    ローカル仮想ネットワーク ピアリングの設定
    'vnet-1' に 'vnet-2' へのアクセスを許可する 既定値の [選択済み]のままにします。
    'vnet-1' が 'vnet-2' から転送されたトラフィックを受信することを許可する チェックボックスを オンにします。
    'vnet-1' のゲートウェイまたはルート サーバーが vnet-2' にトラフィックを転送することを許可する 既定値のオフのままにします。
    'vnet-1' で vnet-2 の' リモート ゲートウェイまたはルート サーバーを使用できるようにする 既定値のオフのままにします。

    Azure portal の [ピアリングの追加] のスクリーンショット。

  6. [追加] を選択します。

Web アプリを作成する

  1. ポータルの上部にある検索ボックスに、「App Service」と入力します。 検索結果で [App Services] を選びます。

  2. [+ 作成] を選択します。

  3. [Web アプリの作成][基本] タブで、次の情報を入力するか選びます。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    リソース グループ test-rg を選択します。
    インスタンスの詳細
    名前 Web アプリの一意の名前を入力します。 このチュートリアルの例では、mywebapp8675 という名前を使用します。
    発行 [コード] を選択します。
    ランタイム スタック [.NET 6 (LTS)] を選択します。
    オペレーティング システム [Windows] を選択します。
    リージョン [米国東部 2] を選択します。
    価格プラン
    Windows プラン (米国西部 2) 既定の名前のままにします。
    料金プラン [サイズの変更] を選択します。
  4. [スペックの選択] で、ワークロードの [運用] を選びます。

  5. [推奨される価格レベル] で、[P1V2] を選びます。

  6. [適用] を選択します。

  7. [次へ: デプロイメント] を選択します。

  8. [次へ: ネットワーク] を選択します。

  9. [パブリック アクセスの有効化] を false に変更します。

  10. [Review + create](レビュー + 作成) を選択します。

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

プライベート エンドポイントの作成

Azure プライベート エンドポイントによって、お使いの仮想ネットワークでサポートされている Azure サービスのネットワーク インターフェイスが作成されます。 プライベート エンドポイントを使用すると、Azure Virtual Network またはオンプレミス ネットワークのプライベート接続から Azure サービスにアクセスできます。

前に作成した Web アプリのプライベート エンドポイントを作成します。

  1. ポータルの上部にある検索ボックスに、「プライベート エンドポイント」と入力します。 検索結果の [プライベート エンドポイント] を選択します。

  2. [+ 作成] を選択します。

  3. [プライベート エンドポイントの作成][基本] タブで、次の情報を入力するか選びます。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    インスタンスの詳細
    名前 private-endpoint」と入力します。
    ネットワーク インターフェイス名 既定の名前のままにします。
    リージョン [米国東部 2] を選択します。
  4. [Next:リソース] を選択します。

  5. [リソース] タブで、次の情報を入力するか選びます。

    設定
    接続方法 [マイ ディレクトリ内の Azure リソースに接続する] を選択します。
    サブスクリプション サブスクリプションを選択します。
    リソースの種類 [Microsoft.Web/sites] を選択します。
    リソース Web アプリを選びます。 このチュートリアルの例では、mywebapp8675 という名前を使用します。
    ターゲット サブリソース [サイト] を選択します。
  6. [次へ: 仮想ネットワーク] を選択します。

  7. [仮想ネットワーク] タブで、次の情報を入力するか選びます。

    設定
    ネットワーク
    仮想ネットワーク vnet-2 (test-rg) を選択します。
    Subnet subnet-1 を選択します。
    プライベート エンドポイントのネットワーク ポリシー 既定値の [無効] のままにします。
    プライベート IP 構成 [IP アドレスを静的に割り当てる] を選択します。
    名前 ipconfig-1」と入力します。
    プライベート IP 10.1.0.10」と入力します。
  8. [次: DNS] を選びます。

  9. [DNS] タブは既定値のままにします。

  10. [次へ: タグ][次へ: 確認と作成] の順に選択します。

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

Private Resolver を作成する

プライベート エンドポイントが存在する仮想ネットワークにプライベート リゾルバーを作成します。 リゾルバーは、シミュレートされたオンプレミス ワークロードから DNS 要求を受け取ります。 これらの要求は、Azure 提供の DNS に転送されます。 Azure が提供する DNS は、プライベート エンドポイントの Azure プライベート DNS ゾーンを解決し、IP アドレスをオンプレミスのワークロードに返します。

  1. ポータルの上部にある検索ボックスに、「DNS Private Resolver」と入力します。 検索結果で [DNS Private Resolver] を選びます。

  2. [+ 作成] を選択します。

  3. [DNS Private Resolver の作成][基本] タブで、次の情報を入力するか選びます。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します
    インスタンスの詳細
    名前 private-resolver」と入力します。
    リージョン [(米国) 米国東部 2] を選択します。
    Virtual Network
    Virtual Network [vnet-2] を選択します。
  4. [次へ: 受信エンドポイント] を選びます。

  5. [受信エンドポイント] で、[+ エンドポイントの追加] を選びます。

  6. [受信エンドポイントの追加] で、次の情報を入力するか選びます。

    設定 [値]
    エンドポイント名 inbound-endpoint」と入力します。
    Subnet [新規作成] を選択します。
    [名前] に「subnet-resolver」と入力します。
    [サブネットのアドレス範囲] は既定のままにします。
    [作成] を選びます。
  7. [保存] を選択します。

  8. [Review + create](レビュー + 作成) を選択します。

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

プライベート リゾルバーのデプロイが完了したら、次の手順に進みます。

シミュレートされたネットワークの DNS を設定する

次の手順では、シミュレートされたオンプレミス ネットワーク vnet-1 のプライマリ DNS サーバーとしてプライベート リゾルバーを設定します。

これらの手順は、プライベート エンドポイントの DNS 解決をシミュレートするためだけのもので、運用環境では必要ありません。 ローカル DNS サーバーには、オンプレミス ネットワークからのプライベート エンドポイントの DNS レコードを解決するための、この IP アドレスへの条件付きフォワーダーがあります。

  1. ポータルの上部にある検索ボックスに、「DNS Private Resolver」と入力します。 検索結果で [DNS Private Resolver] を選びます。

  2. private-resolver を選択します。

  3. [設定][受信エンドポイント] を選びます。

  4. inbound-endpoint という名前のエンドポイントの IP アドレスをメモします。 このチュートリアルの例では、IP アドレスは 10.1.1.4 です。

  5. ポータルの上部にある検索ボックスに、「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  6. [vnet-1] を選択します。

  7. [設定] で、[DNS サーバー] を選びます。

  8. [DNS サーバー][カスタム] を選びます。

  9. 書き留めておいた IP アドレスを入力します。 このチュートリアルの例では、IP アドレスは 10.1.1.4 です。

  10. [保存] を選択します。

テスト用の仮想マシンを作成する

次の手順では、仮想ネットワークに vm-1 という名前のテスト仮想マシン (VM) を作成します。

  1. ポータルで、[仮想マシン] を検索して選択します。

  2. [仮想マシン][+ 作成][Azure 仮想マシン] の順に選択します。

  3. [仮想マシンの作成][基本] タブで、次の情報を入力または選択します。

    設定
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します。
    Resource group test-rg を選択します。
    インスタンスの詳細
    仮想マシン名 vm-1」と入力します。
    リージョン [米国東部 2] を選択します。
    可用性のオプション [インフラストラクチャ冗長は必要ありません] を選択します。
    セキュリティの種類 規定値である [標準] のままにします。
    Image [Windows Server 2022 Datacenter - x64 Gen2] を選択します。
    VMアーキテクチャ 既定値の [x64] のままにします。
    サイズ サイズを選択します。
    管理者アカウント
    認証の種類 [パスワード] を選択します。
    ユーザー名 azureuser」と入力します。
    Password パスワードを入力します。
    パスワードの確認 パスワードを再入力します。
    受信ポートの規則
    パブリック受信ポート [なし] を選択します。
  4. ページの上部にある [ネットワーク] タブを選択します。

  5. [ネットワーク] タブで、次の情報を入力または選択します。

    設定
    ネットワーク インターフェイス
    仮想ネットワーク [vnet-1] を選択します。
    Subnet subnet-1 (10.0.0.0/24) を選択します。
    パブリック IP [なし] を選択します。
    NIC ネットワーク セキュリティ グループ [Advanced] \(詳細設定) を選択します。
    ネットワーク セキュリティ グループを構成する [新規作成] を選択します。
    名前として「nsg-1」を入力します。
    残りの部分は既定値のままにし、[OK] を選択します。
  6. 残りの設定は既定値のままにし、[確認と作成] を選択します。

  7. 設定を確認し、 [作成] を選択します。

Note

Bastion ホストがある仮想ネットワーク内の仮想マシンには、パブリック IP アドレスが必要ありません。 Bastion がパブリック IP を提供し、VM はプライベート IP を使用してネットワーク内で通信します。 bastion ホストがある仮想ネットワーク内のいずれの VM からも、パブリック IP を削除できます。 詳細については、「パブリック IP アドレスの関連付けを Azure VM から解除する」を参照してください。

Note

パブリック IP が割り当てられていない VM、または内部の Basic Azure Load Balancer のバックエンド プール内にある VM に対しては、Azure によって既定のアウトバウンド アクセス IP が提供されます。 デフォルト送信アクセス IP メカニズムは、構成できないアウトバウンド IP アドレスを提供します。

次のいずれかのイベントが発生すると、既定のアウトバウンド アクセス IP は無効になります。

  • パブリック IP アドレスが VM に割り当てられます。
  • アウトバウンド規則の有無にかかわらず、VM は標準ロード バランサーのバックエンド プール内に配置されます。
  • Azure NAT Gateway リソースが VM のサブネットに割り当てられている。

フレキシブル オーケストレーション モードの仮想マシン スケール セットによって作成された VM には、既定のアウトバウンド アクセスがありません。

Azure のアウトバウンド接続の詳細については、「Azure での既定の送信アクセス」および「送信接続での送信元ネットワーク アドレス変換 (SNAT)を使用する」を参照してください。

プライベート エンドポイントへの接続のテスト

このセクションでは、前の手順で作成した仮想マシンを使用し、プライベート エンドポイントを通じて Web アプリに接続します。

  1. ポータルの上部にある検索ボックスに、「仮想マシン」と入力します。 検索結果から [仮想マシン] を選択します。

  2. vm-1 を選択します。

  3. vm-1 の概要ページで [接続][Bastion] の順に選択します。

  4. 仮想マシンの作成時に入力したユーザー名とパスワードを入力します。

  5. [接続] ボタンを選択します。

  6. 接続後にサーバーで Windows PowerShell を開きます。

  7. nslookup <webapp-name>.azurewebsites.net」と入力します。 <Web アプリ名> を、前の手順で作成した Web アプリの名前に置き換えます。 次の出力のようなメッセージが返されます。

    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    webapp.privatelink.azurewebsites.net
    Address:  10.1.0.10
    Aliases:  webapp.azurewebsites.net
    

    Web アプリ名に対応する 10.1.0.10 というプライベート IP アドレスが返されます。 このアドレスは、前に作成した vnet-2 仮想ネットワークの subnet-1 サブネットにあります。

  8. Microsoft Edge を開き、Web アプリの URL https://<webapp-name>.azurewebsites.net を入力します。

  9. 既定の Web アプリ ページが表示されることを確認します。

    既定の Web アプリ ページが表示されている Microsoft Edge のスクリーンショット。

  10. vm-1 への接続を閉じます。

  11. ローカル コンピューターで Web ブラウザーを開き、Web アプリの URL https://<webapp-name>.azurewebsites.net を入力します。

  12. 403 ページが表示されることを確認します。 このページは、Web アプリに外部からアクセスできないことを示しています。

    外部 Web アプリ アドレスに対するエラー 403 の青いページを示す Web ブラウザーのスクリーンショット。

リソースをクリーンアップする

作成したリソースの使用を終えたら、リソース グループとそのすべてのリソースを削除できます。

  1. Azure portal で、「リソース グループ」を検索して選択します。

  2. [リソース グループ] ページで、test-rg リソース グループを選択します。

  3. [test-rg] ページで、[リソース グループの削除] を選択します。

  4. [削除を確認するために、リソース グループの名前を入力してください] に「test-rg」と入力して、[削除] を選びます。

次のステップ

このチュートリアルでは、プライベート リゾルバーとプライベート エンドポイントをデプロイする方法について説明しました。 シミュレートされたオンプレミス ネットワークからプライベート エンドポイントへの接続をテストしました。

次の記事に進み、以下の方法を学習してください。