Private Link はアプリケーションや PaaS サービスへのセキュアな接続を行うために必要不可欠な仕組みです。
Azure でも AWS でも使えますが、出てくる要素が異なるので整理してみました。
PaaS に対する Private Link
Azure の場合
下記のように接続します。
VNet の Subnet → Private Endpoint → Private Link → PaaS
Private Endpoint が IP アドレスを提供し、Private Link により Private Endpoint と PaaS の間を繋ぎます。
Private Endpoint の IP アドレスの名前解決には、Private DNS Zone を使用します。
例えば NoSQL の Cosmos DB と接続する場合は、privatelink.documents.azure.com
という感じで、頭に privatelink
とついた Private DNS Zone を用意します。
AWS の場合
下記のように接続します。
VPC の Subnet → VPC Endpoint → PaaS
(VPC Endpoint はインターフェース型)
IP アドレスの提供と PaaS への紐付けは VPC Endpoint が実施してくれます。
VPC Endpoint の設定でプライベート DNS を有効にしていれば、非表示の AWS 管理のプライベートホストゾーンが作成されて名前解決できます。
アプリケーションに対する Private Link
Azure の場合
下記のように接続します。
VNET の Subnet → Private Endpoint → Private Link Service → Azure Load Balancer → アプリケーション
Private Endpoint が IP アドレスを提供し、Private Link Service が Private Endpoint と Load Balancer の間を接続してくれます。
Load Balancer からアプリケーションへリクエストを流します。
AWS の場合
下記のように接続します。
VPC の Subnet → VPC Endpoint → VPC Endpoint Service → Network Load Balancer → アプリケーション
VPC Endpoint が IP アドレスを提供し、VPC Endpoint Service が VPC Endpoint と Network Load Balancer の間を接続してくれます。
Network Load Balancer からアプリケーションへリクエストを流します。