このエントリは2020/02/25現在の情報に基づいています。将来の機能追加や変更に伴い、記載内容との乖離が発生する可能性があります。
以下の発表にある通り、Azure Private Linkの一般提供(General Availability/GA)が始まった。とはいえ、GAのサービスは一部であり、多くのPaaSサービスはまだPreview段階。
Azure Private Link の一般提供が開始 / Azure Private Link is now generally available
https://azure.microsoft.com/updates/private-link-now-available-in-ga/
Azure Private Link を使用すると、仮想ネットワーク内のプライベート エンドポイント経由で Azure PaaS サービス (Azure Storage、Azure Cosmos DB、SQL Database など) と Azure でホストされている顧客/パートナー サービスにアクセスできます。 仮想ネットワークとサービスの間のトラフィックは、Microsoft のバックボーン ネットワークを経由して、パブリック インターネットからの公開を排除します。 また、独自の Private Link サービスを仮想ネットワーク (VNet) 内に作成し、そのサービスを顧客に非公開で配信することもできます。
Azure Private Link とは / What is Azure Private Link? https://docs.microsoft.com/azure/private-link/private-link-overview

メリット
Private Linkの強みは、ドキュメントに記載の通り、
- Public IPを使わなくてすむ
- インターネットに出ずにPaaSと接続できる
- サービス全体ではなく利用しているインスタンスにのみ接続するため、データ流出のリスクが低下する
主な利点 / Key benefits
https://docs.microsoft.com/azure/private-link/private-link-overview#key-benefits
現在の状況
以下のドキュメントの通り。日本語訳ではAvailabilityを可用性としているが、「いま利用できるもの、リージョン」という意味なのは言うまでも無い。
可用性 / Availability
https://docs.microsoft.com/azure/private-link/private-link-overview#availability
PaaSへの接続パターン
Service Endpointを除くと2方式ある。サービスごとにパターンが異なる。
- VNet Injection(Virtual Machines、Service Fabric、API Management、Application Service Environment、Integration Service Environmentなど)
- サービスインスタンスがVNet内で動作している場合
- 管理トラフィックはNSGでサービスタグを付けて制限する
- Private Endpoints(Azure Key Vault、Storage、SQL Databaseなど)
- サービスインスタンスがVNet外で動作している場合
注意点
- Public Previewの場合、例によってSLAはない。
- サービスによってはリージョン制限が存在する。
- 現時点ではPrivate Endpoint内でNSGとUDRは使えないという制限事項がある。
制限事項 / Limitations
https://docs.microsoft.com/azure/private-link/private-endpoint-overview#limitations
サービスによっては、Private Link、Service Endpointの両方をサポートしている場合がある(例えば、SQL DatabaseやStorageなど)。SQL Databaseの場合、Private Endpointではプロキシ接続を使うため、ゲートウェイを経由することになり、スループットが低下する。対してService Endpointの場合はリダイレクトでの接続を使う。詳細は以下を参照。
接続ポリシー / Connection policy
https://docs.microsoft.com/azure/azure-sql/database/connectivity-architecture#connection-policy
その他、違いを列挙しておく。
- サービスエンドポイント
- AzureサービスとVNetを接続し、Azureサービスへのアクセスを管理
- 無償
- プライベートリンク
- Azure PaaSサービスやプライベートリンクを使ってホストされている他のサービスをVNet内のプライベートエンドポイントとして公開
- オンプレミスからの接続が必要な場合はこちらをおすすめ
- 期間、処理データに応じて課金