オンプレ環境から Azure プライベートエンドポイントに接続する方法

オンプレ環境から Azure プライベートエンドポイントに接続する方法

今回は Azure プライベートエンドポイントへオンプレ環境から接続する方法を紹介します。

プライベートエンドポイントとは

Azure プライベートエンドポイントは Azure PaaS へセキュアでプライベートな接続を提供するネットワーキングサービスです。以前概要は別記事にて公開しています。

プライベートエンドポイントを Azure 外部から利用するには

プライベートエンドポイントでは Azure が提供する DNS サービスやプライベート DNS ゾーンを利用する必要があります。これらの DNS サービスは「168.63.129.16」という特殊な IP アドレスで提供されており、オンプレ環境などの Azure の外部から利用することはできません。

そのため、Azure 上に DNS フォワーダーを展開するなど、Azure 上で名前解決した結果をリレーして受け取る構成をとります。

プライベートエンドポイントへの接続方法

接続構成

プライベートエンドポイントを利用するには最低でも次のコンポーネントが必要です。

  • Azure 仮想ネットワーク内にあるクライアント
  • プライベート DNS ゾーン
  • プライベートエンドポイント
  • プライベートエンドポイントで接続するサービス(例:ストレージアカウント)

加えて、オンプレ環境からの利用には次のコンポーネントも必要となります。

  • オンプレ環境内にあるクライアント
  • オンプレ環境の DNS サーバー
  • オンプレ環境の VPN 装置
  • VPN ゲートウェイ
  • DNS フォワーダー

Azure 内部からの接続

Azure 仮想ネットワーク内からの接続の場合、次の流れとなります。

  1. Azure 上のクライアントから Azure DNS へ DNS クエリをリクエストする。
  2. Azure DNS でプライベートエンドポイントに接続されているリソースの向けの CNAME レコードを再解決する。
    (例:<storageaccount>.privatelink.blob.core.windows.net
  3. プライベート DNS ゾーンに登録されているプライベートエンドポイントの A レコードが返される。
  4. 返されたプライベートエンドポイントの IP アドレスを経由して Azure サービスへ接続する。

Azure 仮想ネットワーク内で Azure DNS による名前解決を行う場合はプライベート DNS ゾーンを利用できるため、プライベートエンドポイントの IP アドレスを名前解決することができます。しかし、Azure 外部からの場合はもう一工夫する必要があります。

オンプレ環境からの接続

オンプレ環境からの接続の場合は次のようになります。

  1. オンプレ内のクライアントからオンプレ DNS へ DNS クエリをリクエストする。
  2. オンプレ DNS から条件付きフォワーダーで DNS フォワーダーにクエリを転送する。
  3. DNS フォワーダーによって Azure DNS で名前解決を試行する。
  4. Azure DNS でプライベートエンドポイントに接続されているリソースの向けの CNAME レコードを再解決する。
    (例:<storageaccount>.privatelink.blob.core.windows.net
  5. プライベート DNS ゾーンに登録されているプライベートエンドポイントの A レコードが返される。
  6. 返されたプライベートエンドポイントの IP アドレスを経由して Azure サービスへ接続する。

このように Azure 上に展開した DNS フォワーダーを利用する必要があります。ただし、条件付きフォワーダーで Azure サービスのドメインを指定した場合は DNS フォワーダーが稼働していないと Azure サービスへ接続できなくなります。

条件付きフォワーダーではこのように設定します。転送先の IP アドレスは DNS フォワーダーのプライベート IP アドレスです。

仮想ネットワークでオンプレの DNS サーバーを参照している場合も同様の構成が必要となります。プライベートエンドポイントでクローズドに通信する場合は DNS フォワーダーを使う必要があるということを覚えておきましょう。