使用 Private Link 將 Azure Front Door Premium 連線到 Azure 應用程式閘道 (預覽)
本文會引導您完成相關步驟,將 Azure Front Door Premium 設定為使用 Azure Private Link 私下連線到您的 Azure 應用程式閘道。
必要條件
具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
已在本地安裝 Azure PowerShell 或 Azure Cloud Shell。
注意
建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱安裝 Azure PowerShell (部分機器翻譯)。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az。
Azure Cloud Shell
Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell,與 Azure 服務共同使用。 您可以使用 Cloud Shell 預先安裝的命令,執行本文提到的程式碼,而不必在本機環境上安裝任何工具。
要啟動 Azure Cloud Shell:
選項 | 範例/連結 |
---|---|
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 | |
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 | |
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 |
若要使用 Azure Cloud Shell:
啟動 Cloud Shell。
選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。
透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。
選取 Enter 鍵執行程式碼或命令。
擁有正常運作的 Azure Front Door Premium 設定檔和端點。 如需如何建立 Azure Front Door 設定檔的詳細資訊,請參閱建立 Front Door - PowerShell。
擁有正常運作的 Azure 應用程式閘道。 如需如何建立應用程式閘道的詳細資訊,請參閱使用 Azure PowerShell 藉由 Azure 應用程式閘道引導網路流量
啟用對 Azure 應用程式閘道的私人連線
請遵循設定 Azure 應用程式閘道的 Private Link 中的指示,但不要完成建立私人端點的最後一個步驟。
建立來源群組,並將應用程式閘道新增為來源
使用 New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject (英文) 來建立用於儲存健全狀態探查設定的記憶體內部物件。
$healthProbeSetting = New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject ` -ProbeIntervalInSecond 60 ` -ProbePath "/" ` -ProbeRequestType GET ` -ProbeProtocol Http
使用 New-AzFrontDoorCdnOriginGroupLoadBalancingSettingObject (英文) 來建立用於儲存負載平衡設定的記憶體內部物件。
$loadBalancingSetting = New-AzFrontDoorCdnOriginGroupLoadBalancingSettingObject ` -AdditionalLatencyInMillisecond 50 ` -SampleSize 4 ` -SuccessfulSamplesRequired 3
執行 New-AzFrontDoorCdnOriginGroup (英文) 來建立包含應用程式閘道的來源群組。
$origingroup = New-AzFrontDoorCdnOriginGroup ` -OriginGroupName myOriginGroup ` -ProfileName myFrontDoorProfile ` -ResourceGroupName myResourceGroup ` -HealthProbeSetting $healthProbeSetting ` -LoadBalancingSetting $loadBalancingSetting
使用 Get-AzApplicationGatewayFrontendIPConfig (英文) 命令來取得應用程式閘道的前端 IP 設定名稱。
$AppGw = Get-AzApplicationGateway -Name myAppGateway -ResourceGroupName myResourceGroup $FrontEndIPs= Get-AzApplicationGatewayFrontendIPConfig -ApplicationGateway $AppGw $FrontEndIPs.name
使用 New-AzFrontDoorCdnOrigin 命令將應用程式閘道新增至來源群組。
New-AzFrontDoorCdnOrigin ` -OriginGroupName myOriginGroup ` -OriginName myAppGatewayOrigin ` -ProfileName myFrontDoorProfile ` -ResourceGroupName myResourceGroup ` -HostName 10.0.0.4 ` -HttpPort 80 ` -HttpsPort 443 ` -OriginHostHeader 10.0.0.4 ` -Priority 1 ` -PrivateLinkId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/myAppGateway ` -SharedPrivateLinkResourceGroupId $FrontEndIPs.name ` -SharedPrivateLinkResourcePrivateLinkLocation CentralUS ` -SharedPrivateLinkResourceRequestMessage 'Azure Front Door private connectivity request' ` -Weight 1000 `
注意
SharedPrivateLinkResourceGroupId
是 Azure 應用程式閘道前端 IP 設定的名稱。
核准私人端點
執行 Get-AzPrivateEndpointConnection (英文) 來擷取需要核准之私人端點連線的連線名稱。
Get-AzPrivateEndpointConnection -ResourceGroupName myResourceGroup -ServiceName myAppGateway -PrivateLinkResourceType Microsoft.Network/applicationgateways
執行 Approve-AzPrivateEndpointConnection 來核准私人端點連線詳細資料。 使用上一個步驟之輸出中的「名稱」值核准連線。
Get-AzPrivateEndpointConnection -Name aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb.bbbbbbbb-1111-2222-3333-cccccccccccc -ResourceGroupName myResourceGroup -ServiceName myAppGateway -PrivateLinkResourceType Microsoft.Network/applicationgateways
完成 Azure Front Door 設定
使用 New-AzFrontDoorCdnRoute (英文) 命令來建立將端點對應至來源群組的路由。 此路由會將要求從端點轉送至來源群組。
# Create a route to map the endpoint to the origin group
$Route = New-AzFrontDoorCdnRoute `
-EndpointName myFrontDoorEndpoint `
-Name myRoute `
-ProfileName myFrontDoorProfile `
-ResourceGroupName myResourceGroup `
-ForwardingProtocol MatchRequest `
-HttpsRedirect Enabled `
-LinkToDefaultDomain Enabled `
-OriginGroupId $origingroup.Id `
-SupportedProtocol Http,Https
完成最後一個步驟之後,您的 Azure Front Door 設定檔現在已完全正常運作。
必要條件
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
正常運作的 Azure Front Door Premium 設定檔和端點。 請參閱建立 Front Door - CLI (部分機器翻譯)。
正常運作的 Azure 應用程式閘道。 請參閱使用 Azure 應用程式閘道引導網路流量 - Azure CLI (部分機器翻譯)。
啟用對 Azure 應用程式閘道的私人連線
請遵循設定 Azure 應用程式閘道的 Private Link 中的步驟,並略過建立私人端點的最後一個步驟。
建立來源群組,並將應用程式閘道新增為來源
執行 az afd origin-group create (部分機器翻譯) 來建立來源群組。
az afd origin-group create \ --resource-group myResourceGroup \ --origin-group-name myOriginGroup \ --profile-name myFrontDoorProfile \ --probe-request-type GET \ --probe-protocol Http \ --probe-interval-in-seconds 60 \ --probe-path / \ --sample-size 4 \ --successful-samples-required 3 \ --additional-latency-in-milliseconds 50
執行 az network application-gaeay frontend-ip list (部分機器翻譯) 來取得應用程式閘道的前端 IP 設定名稱。
az network application-gateway frontend-ip list --gateway-name myAppGateway --resource-group myResourceGroup
執行 az afd origin create (部分機器翻譯) 將應用程式閘道作為來源新增到來源群組。
az afd origin create \ --enabled-state Enabled \ --resource-group myResourceGroup \ --origin-group-name myOriginGroup \ --origin-name myAppGatewayOrigin \ --profile-name myFrontDoorProfile \ --host-name 10.0.0.4 \ --origin-host-header 10.0.0.4 \ --http-port 80 \ --https-port 443 \ --priority 1 \ --weight 500 \ --enable-private-link true \ --private-link-location centralus \ --private-link-request-message 'Azure Front Door private connectivity request.' \ --private-link-resource /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRGAG/providers/Microsoft.Network/applicationGateways/myAppGateway \ --private-link-sub-resource-type myAppGatewayFrontendIPName
注意
private-link-sub-resource-type
是 Azure 應用程式閘道前端 IP 設定名稱。
核准私人端點連線
執行 az network private-endpoint-connection list (部分機器翻譯) 來取得需要核准之私人端點連線的識別碼。
az network private-endpoint-connection list --name myAppGateway --resource-group myResourceGroup --type Microsoft.Network/applicationgateways
執行 az network private-endpoint-connection approve (部分機器翻譯) 以使用上一個步驟中的識別碼來核准私人端點連線。
az network private-endpoint-connection approve --id /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/myAppGateway/privateEndpointConnections/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb.bbbbbbbb-1111-2222-3333-cccccccccccc
完成 Azure Front Door 設定
執行 az afd route create (部分機器翻譯) 來建立將端點對應至來源群組的路由。 此路由會將要求從端點轉送至來源群組。
az afd route create \
--resource-group myResourceGroup \
--profile-name myFrontDoorProfile \
--endpoint-name myFrontDoorEndpoint \
--forwarding-protocol MatchRequest \
--route-name myRoute \
--https-redirect Enabled \
--origin-group myOriginGroup \
--supported-protocols Http Https \
--link-to-default-domain Enabled
完成最後一個步驟之後,您的 Azure Front Door 設定檔現在已完全正常運作。
要避免的常見錯誤
設定已啟用 Azure Private Link 的 Azure 應用程式閘道來源時的常見錯誤如下:
先設定 Azure Front Door 來源,才在 Azure 應用程式閘道上設定 Azure Private Link。
使用 Azure Private Link 將 Azure 應用程式閘道來源新增至包含公用來源的現有來源群組。 Azure Front Door 不允許在相同的來源群組中混合使用公用來源和私人來源。
- 提供不正確的 Azure 應用程式閘道前端 IP 設定名稱作為
SharedPrivateLinkResourceGroupId
的值。
- 提供不正確的 Azure 應用程式閘道前端 IP 設定名稱作為
private-link-sub-resource-type
的值。