[Azure] プライベート接続(エンドポイント)について
プライベートリンクサービスとプライベートエンドポイントの違い
Azure Portalから検索すると、両サービスが出てくる。
この2つの違いとしては、個人的な整理は以下の通り。
-
プライベートリンクサービス
オンプレExpress Routeを経由して、あるVnetから、別のVnetのAzureサービスにプライベート接続を行いたい場合のエンドポイントとなる。利用者側のVnetとサービス提供側のVnetと2つ存在することがミソになる気がする。
また、現在はStandard LoadBalancerのみサポートされているため、利用シーンは限定的な印象がある。
(2022/12/04)
実機でもStandard LoadBalancerのサポートのみ確認できた。
-
プライベートエンドポイント
Vnet内からプライベート接続でAzureサービスを利用したいときに使う。利用できるサービスは、プライベートリンクサービスよりも柔軟性が高い。(ストレージアカウントやDBなど、PaaS系サービス)
詳細は、公式のドキュメントを確認してほしい。
Azure Private Linkサービスに寄せられる質問
Azure Private Linkサービス都は
Azure Standard Load Balancer の背後で実行されている自分のサービスで Private Link アクセスを有効にすると、自分のサービスのコンシューマーがそのサービスに対して独自の VNet からプライベートにアクセスできるようになります。 顧客は、自分の仮想ネットワーク内にプライベート エンドポイントを作成し、それをこのサービスにマッピングすることができます。
プライベートエンドポイントのDNS
プライベートエンドにもDNS解決が必要になる…とのことで、どういった意味なのだろうと気になったため、調べた。
PaaSにはプライベートIPが割り当てられるが、動的IPになる。そのため、IP指定は現実的ではない。そこで、プライベートエンドポイントの名前解決をできることが必要になる。そういう意味で、プライベートエンドポイントもDNS解決が必要になるとの意味らしい。
注意なのは、ここで名前解決するのは、プライベートエンドポイントの名前解決ということであり、実際のPaaSの名前解決を行っているわけではないことに注意。
じゃあどうやって、指定したPaaSまで到達しているのか?というのは明確な答えは分からなかったが、おそらく内部的にルーティングしているのだと思う。プライベートエンドポイントを作成する際に、アクセスするリソースを指定できるので、心配は不要だと思う。
一番わかりやすいのは、以下のサイトだった。
Azure Private Linkを構成するにあたって注意点は?
プライベートエンドポイントのNSG/UDR
プライベートエンドポイントネットワークポリシーという設定を有効にすることで、プライベートエンドポイントに対してもNSG/UDRを効かせることができる。
サービスエンドポイント
-
インターネットに出ないだけで、パブリックIPを利用する。
漠然と記憶はしていたが、パブリックIPを利用したアクセスになることに注意。ただし、インターネット経由ではなく、Azureバックボーン経由になるのが、通常のアクセスとは異なる点である。
経路としてのパブリックアクセスはOFFになるが、口としてのパブリックIPは残る感じになる。 -
特定のAzure サービスへのアクセスに絞ることができない。
プライベートリンクとは異なり、上記が制約として出てくるだろう。例えば、Storage Accoutのサービスエンドポイントが存在したとする。任意のストレージアカウントにアクセスが可能になるため、例えば自作したリソースに対してもアクセス可能になる。情報漏洩のリスクは存在する。
そのため、基本的にはプライベートエンドポイントの利用が推奨されている。
注意
Azure プラットフォームでホストされるサービスに対して、セキュリティで保護されたプライベートなアクセスを行うには、Azure Private Link の使用をお勧めします。
プライベートリンクサービス
自社所有のサービスと、顧客所有のサービスとをプライベートで通信するためのサービスだが、前提条件として何がクリアになっていれば利用できるのだろうか?
(同じサブスクリプション?リージョンは別でも大丈夫?)
プライベートエンドポイントとDNSの関係性
-
オンプレからプライベートDNSゾーンにアクセスするとき
Azure が提供するDNSサーバにアクセスして名前解決を行うにはAzure内部からの通信のみしか受けていない。そのため、オンプレから名前解決を行うためには、Vnet内にDNSフォワーダ(VM)を作成し、オンプレ → DNSフォワーダ → Azure提供DNSサーバという経路でアクセスするしかない。以下は概要図
-
168.63.129.16とは
DNS サーバーを明示的に指定していない環境における、既定の DNS リゾルバー
なるほどてっきり、DNSゾーンのことだと思っていたが、Azure既定のDNSリゾルバ**的な立ち位置になるのだろう。
パブリックDNSとプライベートDNSとDNSリゾルバーの関係
プライベートDNSゾーン:Azure Vnet内からの名前解決で使われる。
パブリックDNSゾーン:インタネート経由で名前解決で使われる。例えば、ドメインを公開してホストしておくことで、WEBサーバの名前解決などで用いられる。
DNSリゾルバー:DNSサーバへ問合せを行ってくれるソフトウェアのこと。
そう、DNSゾーンはあくまで、自身の担当分のレコードを保持しているだけで、積極的に情報をくれるわけではないのだ。そのため、リゾルバーのような主体的に問い合わせを行ってくれる存在が必要になる。
学習資材
Discussion