このエントリは2025/04/10現在の情報に基づいています。将来の機能追加や変更に伴い、記載内容との乖離が発生する可能性があります(Front Door Standard/Premium SKUは2022/03/30に一般提供を開始しました。2025/04/10現在、API ManagementへのPrivate Link接続とFront Door PremiumからApplication GatewayへのPrivate Link接続は一般提供済みです)。
前回、以下のようなエントリを書いた。
前回はApplication Gatewayを使っていたが、今度はFront Doorでやってみる。とはいえ、結論から言うと、Premium SKUでのPrivate Linkを使う方式と、これまで同様のPublic accessでの方式、つまり(Microsoft Network内を通るとしても)IP Addressフィルタリングを使う方式の2方式が利用できる。
Integrate Azure Front Door with Azure API Management
https://techcommunity.microsoft.com/t5/azure-paas-blog/integrate-azure-front-door-with-azure-api-management/ba-p/2654925
Front Door Premium SKU
2022/03/30に一般提供を開始したFront Door Premiumでは、GA版のFront DoorとはPortal上の設定が少々異なっている。以下はStorage (Blob) だけを構成した例。

OriginとしてStorage accountを使っているが、この中でOriginとの通信にPrivate Linkを設定できる部分がある通り、Private Linkでの接続が可能になっている。

2025/3にAPI Management へのprivate link接続が一般提供されたので、以下のような構成の選択肢が考えられるが、よほどのことが無い限り4を選択することになるだろう。
- Application Gatewayを組み合わせる
- Internal Load Balancerを組み合わせる
- Front DoorのFDIDを使って制御(これはFront DoorとApp Service/Functionsの組み合わせの場合と同じ)
- API ManagementへPrivate Linkで接続する
3.は、API ManagementでHTTP HeaderのチェックとIPアドレスによるフィルタリングをすることになるが、API ManagementのIPアドレス制限ポリシーではネットワークタグが使えない点に注意が必要。
以後では1.と2.の現時点の可能性をまとめる。
1. Front DoorとApplication Gatewayの両方を使う
これは、Front Doorの背後にApplication Gatewayを配置し、さらにその背後にAPI Managementを配置しよう、というもの。Application GatewayはVNetに配置するため、特定のFront Doorからのアクセスだけを許可するには、以下のような方法が考えられる。
a) Public Accessのみで構成する場合
まずは、Front Door Classicでも利用可能な以下の方法。
- サービスタグ
AzureFrontDoor.Backendを使ってNSGの受信規則を構成 - Application GatewayでHTTP Headerの
X-Azure-FDIDの存在ならびに値のチェックを実施 - バックエンドのAPI ManagementではApplication GatewayのIPアドレスとHTTP Headerをチェック
このあたりは以下のFAQにも記載がある。
バックエンドへのアクセスを Azure Front Door のみに制限する手順を教えてください。 / What are the steps to restrict the access to my backend to only Azure Front Door?
https://learn.microsoft.com/azure/frontdoor/front-door-faq#what-are-the-steps-to-restrict-the-access-to-my-backend-to-only-azure-front-door-
b) API Managementで利用可能になったPrivate Endpoint接続を組み合わせる場合
Front Door Premiumでは、Application Gatewayへの接続でPrivate Link接続ができるようになった。
Private Link を使用して Azure Front Door Premium を Azure Application Gateway に接続する / Connect Azure Front Door Premium to an Azure Application Gateway with Private Link
https://learn.microsoft.com/azure/frontdoor/how-to-enable-private-link-application-gateway
Application Gatewayまで到達すれば、あとはVNetからAPI Managementへの接続だが、ここもPrivate Endpoint接続を使えばOK。API ManagementのConsumption SKU以外(Premium、Standard、Basic、Developer)で利用可能である。これを使えば、Application GatewayのあるVNetから安全にアクセスできるが、バックエンドサービスに対するPrivate Endpoint接続はできないので注意が必要。
受信プライベート エンドポイントを使用して API Management に非公開で接続する / Connect privately to API Management using an inbound private endpoint
https://learn.microsoft.com/azure/api-management/private-endpoint?tabs=classic
2. Internal Load Balancerを使う
Private Link Serviceを構成できるよう、VNetにStandard SKUのInternal Load Balancerを作成し、その背後にAPI Managementを配置する、というアイデア。
プライベート リンクを使用して Azure Front Door Premium を配信元に接続する / Connect Azure Front Door Premium to an internal load balancer origin with Private Link
https://docs.microsoft.com/azure/frontdoor/standard-premium/how-to-enable-private-link-internal-load-balancer
結論から言うと、構成できない。というのも、Internal Load BalancerのBackend poolに要素を配置する場合、IPアドレスもしくはNICで指定できるが、
- API Managementを配置する場合、IPアドレスで指定するしかない
- Private Link Serviceは、Backend poolに追加されるbackendはNICで指定されたものだけをサポートする(IPアドレスで指定されたbackendが入っているとサポートされず、作成時にエラーが発生する)
という制限があるため。下図において、黄色でマークした部分を選択していなければならない。

実際にBackend PoolにIPアドレスで追加していれば、Private Link Serviceを構成すると、以下のようなエラーが発生する。
{
"status": "Failed",
"error": {
"code": "PrivateLinkServiceIsNotSupportedForIPBasedLoadBalancer",
"message": "Private link service is not supported for load balancer /subscriptions/{subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.Network/privateLinkServices/{resource_name} with backend addresses set by (virtualNetwork, ipAddress) or (subnet, ipAddress).",
"details": []
}
}
そのため、Internal Load Balancerを使うのであれば、
- Managed Gatewayを使うなら、VMを立ててIP forwarderを構成する
- Self-hosted Gatewayを使うなら、VMを立ててSelf-hosted Gatewayをデプロイする
の2方式しかない。ただいずれもVMの管理が必要なので、手離れがいまいちである点は否定できない。
3. Front DoorのFDIDを使って制御
これは、App Serviceとの組み合わせでも有名なもの。
Azure API Management の前に Front Door Standard/Premium を構成する / Configure Front Door Standard/Premium in front of Azure API Management
https://learn.microsoft.com/azure/api-management/front-door-api-management
Azure Front Door を用いた App Service などへのセキュアな接続の構成
https://jpaztech.github.io/blog/network/AzureFrontDoor-LockDown/
App Service観点では以下のエントリも以前書いていた。
4. Private Linkを使って接続
これは前述の通り2025/3に一般提供を開始したもの。以前は以下のスクリーンショットのように、API Management (Application Gatewayも同じ) でFront Doorからの接続を構成しようとするとPrivate Linkを使った接続を構成できなかったが、ようやく使えるようになった。


Private Link を使用して Azure Front Door Premium を Azure API Management に接続する / Connect Azure Front Door Premium to an Azure API Management with Private Link
https://learn.microsoft.com/azure/frontdoor/standard-premium/how-to-enable-private-link-apim
ただし2025/04/07現在、API Management Standard V2のPrivate EndpointはPublic Previewなので、その点は注意が必要。
まとめ
ということで、現時点ではFront Door Premium SKUでPrivate Linkを使うこともできるが、一部API ManagementのSKUではPublic Previewであることに注意が必要。