変更要約: AZ-700 第5章を深掘り(図ja化・比較表/シナリオ/FAQ/ひっかけ/深掘り段落を全節に追加)
5.1Private Link とプライベートエンドポイント
PaaS(Storage・SQL など)への接続を VNet 内のプライベート IPに閉じる Azure Private Link と プライベートエンドポイント、そして名前解決を支える プライベート DNS ゾーン を理解します。公開経路を使わずに PaaS へ接続するのが目的です。
PaaS は既定で公開エンドポイントを持ちます。Private Link を使うと、PaaS への接続を VNet 内のプライベート IP(プライベートエンドポイント)に閉じ、インターネットを経由しません。
5.1.1Private Link の仕組み
- プライベートエンドポイント:VNet 内にプライベート IP を持つ NICを作り、PaaS へその IP で接続する。
- Private Link:プライベートエンドポイントを通じて PaaS へ公開経路を使わず接続する基盤。
- プライベート DNS ゾーン:PaaS の FQDN をプライベート IP に解決する(連携が必須に近い)。
- 公開アクセスの無効化:PaaS 側で公開エンドポイントを無効化し、プライベート経由のみにできる。
「PaaS への接続をプライベート IP に閉じる=プライベートエンドポイント(Private Link)」「FQDN→プライベート IP の解決=プライベート DNS ゾーン」「公開経路を完全に断つ=PaaS の公開アクセス無効化」 は AZ-700 で頻出です。オンプレからの解決には DNS プライベートリゾルバ/条件付きフォワーダーが要ります。
プライベートエンドポイントを作ってもプライベート DNS ゾーンを連携し忘れると、FQDN が公開 IP に解決され続け、意図せず公開経路を使ってしまいます。
プライベートエンドポイントを作ると、PaaS の公開 FQDN は CNAME で privatelink.<service>.core.windows.net 等を指すよう書き換わり、対応する プライベート DNS ゾーン の A レコード(自動登録)がそれをプライベート IP に解決します。1 つの PaaS リソースに複数の サブリソース(例:Storage の blob/file/table/queue)があり、それぞれにプライベートエンドポイントとゾーンが要ります。オンプレからの解決には Azure DNS プライベートリゾルバ(受信エンドポイント)へ 条件付きフォワーダー を向けるのが定石で、複数 VNet では ハブ集中 DNS にゾーンを集約します。プライベートエンドポイントには NSG を適用できますが、長らく既定で NSG/UDR が効かなかった経緯があり、現在は ネットワークポリシー(PrivateEndpointNetworkPolicies) を有効化して制御します。料金はエンドポイントの時間課金+処理データ量で発生し、PaaS 側では 公開ネットワークアクセスを無効化 して「プライベート経由のみ」を強制できます。これにより、データ流出経路を絞りつつ、オンプレ/ピアリング先からも一貫してプライベート到達できます。
| 要素 | 役割 | 注意点 |
|---|---|---|
| プライベートエンドポイント | VNet 内にプライベート IP の NIC を作る | サブリソースごとに必要 |
| プライベート DNS ゾーン | FQDN → プライベート IP を解決 | VNet リンク忘れで公開 IP に解決 |
| 公開アクセス無効化 | PaaS 側で公開経路を遮断 | オンプレ解決にはリゾルバが必要 |
シナリオ: Storage の blob と file の両方をプライベート化し、オンプレからもプライベートに使いたい。→ blob 用と file 用にそれぞれプライベートエンドポイントを作り、privatelink.blob.../privatelink.file... のゾーンを VNet にリンク。オンプレ DNS から該当ゾーンを DNS プライベートリゾルバへ条件付きフォワードし、PaaS 側は公開アクセスを無効化します。
FAQ: Q. 1 つのプライベートエンドポイントで Storage の blob も file も使えますか? → A. いいえ。サブリソース単位なので blob と file は別々のエンドポイント(とゾーン)が必要です。Q. プライベートエンドポイントに NSG は効きますか? → A. ネットワークポリシーを有効化すれば NSG/UDR を適用できます。
ひっかけ: 「1 つのプライベートエンドポイントで PaaS の全サブリソースを賄える」は誤りです(blob/file 等は別々に必要)。また「プライベートエンドポイントを作れば公開経路は自動で塞がる」も誤り(PaaS 側で公開アクセスを明示的に無効化しないと公開経路は残る)。
5.1.2この節のまとめ
- プライベートエンドポイント=PaaS をプライベート IP に閉じる(Private Link)
- プライベート DNS ゾーンで FQDN→プライベート IP を解決
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. Storage や SQL などの PaaS への接続を VNet 内のプライベート IP に閉じ、公開経路を使わないようにしたい。何を使いますか?
Q2. プライベートエンドポイントを使う際、PaaS の FQDN をプライベート IP に解決するために必要なものはどれですか?
Q3. プライベートエンドポイントを作成したのに通信が公開 IP に向かってしまう。よくある原因はどれですか?

