適用於: ✔️ Front Door Premium
本文會引導您完成相關步驟,將 Azure Front Door Premium 設定為使用 Azure Private Link 私下連線到您的 Azure API 管理原點。
必要條件
具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
Azure Front Door Premium 配置檔和端點。 如需如何建立 Azure Front Door 配置文件的詳細資訊,請參閱 使用 Azure 入口網站建立 Front Door。
Azure API 管理執行個體。 如需如何建立 API 管理實例的詳細資訊,請參閱 建立新的 Azure API 管理實例。 針對 v1 層,實例應該以公用模式部署,而不是在虛擬網路模式中。
建立原點組並將 API 管理執行個體新增為原點
在 [Azure Front Door Premium 配置文件的 設定 ] 底下,選取 [ 來源群組]。
選取 [新增]
輸入來源群組的名稱。
選取 [+ 新增來源]
使用下表來設定原點設定:
設定 值 名稱 輸入名稱以識別此來源。 原點類型 選取 [API 管理]。 主機名稱 從下拉式清單中選取您想要作為來源的主機。 來源主機標題 將會自動填入所選 API 管理實例的主機名稱。 HTTP 連接埠 80 (預設值)。 HTTPS 連接埠 443 (預設值)。 優先順序 針對主要、次要和備份目的,將不同的優先順序指派給來源。 重量 1000 (預設)。 使用權數在不同來源之間散發流量。 區域 選取符合或最接近您來源的區域。 目標子資源 選擇 網關。 要求訊息 輸入自訂訊息,以在核准私人端點時顯示。 選取 [新增 ] 以儲存原始設定
選取 [新增 ] 以儲存原始群組設定。
核准私人端點
必要條件
具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
Azure Front Door Premium 配置檔和端點。 如需如何建立 Azure Front Door 配置文件的詳細資訊,請參閱 使用 Azure PowerShell 建立 Front Door
Azure API 管理執行個體。 如需如何建立 API 管理實例的詳細資訊,請參閱 使用 PowerShell 建立新的 Azure API 管理實例。 針對 v1 層,實例應該以公用模式部署,而不是在虛擬網路模式中。
Azure Cloud Shell 或 Azure PowerShell。
本文中的步驟會在 Azure Cloud Shell 中以互動方式執行 Azure PowerShell Cmdlet。 若要在 Cloud Shell 中執行 Cmdlet,請選取程式碼區塊右上角的 [開啟 Cloud Shell]。 選取 [複製] 以複製程式碼,然後將其貼入 Cloud Shell 以執行。 您也可以從 Azure 入口網站內執行 Cloud Shell。
您也可以 在本機安裝 Azure PowerShell 來執行 Cmdlet。 如果您在本機執行 PowerShell,請使用 Connect-AzAccount Cmdlet 登入 Azure。
建立原點組並將 API 管理執行個體新增為原點
使用 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] 以建立包含 API 管理執行個體的原點群組。
$origingroup = New-AzFrontDoorCdnOriginGroup ` -OriginGroupName myOriginGroup ` -ProfileName myFrontDoorProfile ` -ResourceGroupName myResourceGroup ` -HealthProbeSetting $healthProbeSetting ` -LoadBalancingSetting $loadBalancingSetting
使用 [New-AzFrontDoorCdnOrigin] 命令將 API 管理執行個體新增至原點群組中。
New-AzFrontDoorCdnOrigin ` -OriginGroupName myOriginGroup ` -OriginName myAPIMOrigin ` -ProfileName myFrontDoorProfile ` -ResourceGroupName myResourceGroup ` -HostName myapim.azure-api.net ` -HttpPort 80 ` -HttpsPort 443 ` -OriginHostHeader myapim.azure-api.net ` -Priority 1 ` -PrivateLinkId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.ApiManagement/service/myAPIM ` -SharedPrivateLinkResourceGroupId Gateway ` -SharedPrivateLinkResourcePrivateLinkLocation CentralUS ` -SharedPrivateLinkResourceRequestMessage 'Azure Front Door private connectivity request' ` -Weight 1000 `
核准私人端點
執行 Get-AzPrivateEndpointConnection 以擷取需要核准的私人端點連線名稱。
$PrivateEndpoint = Get-AzPrivateEndpointConnection -ResourceGroupName myResourceGroup -ServiceName myAPIM -PrivateLinkResourceType Microsoft.ApiManagement/service
執行 [Approve-AzPrivateEndpointConnection] 來核准私人端點連線詳細資料。 使用上一個步驟之輸出中的「名稱」值核准連線。
Get-AzPrivateEndpointConnection -Name $PrivateEndpoint.Name -ResourceGroupName myResourceGroup -ServiceName myAPIM -PrivateLinkResourceType Microsoft.ApiManagement/service
完成 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 帳戶。 免費建立帳戶。
Azure Front Door Premium 配置檔和端點。 如需如何建立 Azure Front Door 配置文件的詳細資訊,請參閱 使用 Azure CLI 建立 Front Door。
Azure API 管理執行個體。 如需如何建立 API 管理實例的詳細資訊,請參閱 使用 Azure CLI 建立新的 Azure API 管理實例。 針對 v1 層,實例應該以公用模式部署,而不是在虛擬網路模式中。
Azure Cloud Shell 或 Azure CLI。
本文中的步驟會在 Azure Cloud Shell 中以互動方式執行 Azure CLI 命令。 若要在 Cloud Shell 中執行命令,請選取程式碼區塊右上角的 [開啟 Cloud Shell]。 選取 [複製] 以複製程式碼,並將它貼到 Cloud Shell 中以執行。 您也可以從 Azure 入口網站內執行 Cloud Shell。
您也可以 在本機安裝 Azure CLI 來執行命令。 如果您在本機執行 Azure CLI,請使用 az login 命令登入 Azure。
建立原點組並將 API 管理執行個體新增為原點
執行 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 afd origin create] 將 API 管理執行個體作為原點新增至原點群組。
az afd origin create \ --enabled-state Enabled \ --resource-group myResourceGroup \ --origin-group-name myOriginGroup \ --origin-name myAPIMOrigin \ --profile-name myFrontDoorProfile \ --host-name myapim.azure-api.net \ --origin-host-header myapim.azure-api.net \ --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/myResourceGroup/providers/Microsoft.ApiManagement/service/myAPIM \ --private-link-sub-resource-type Gateway
核准私人端點連線
執行 [az network private-endpoint-connection list] 來取得需要核准之私人端點連線的 [名稱]。
az network private-endpoint-connection list --name myAPIM --resource-group myResourceGroup --type Microsoft.ApiManagement/service
執行 [az network private-endpoint-connection approve] 以使用上一個步驟中的 [名稱] 來核准私人端點連線。
az network private-endpoint-connection approve --id /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.ApiManagement/service/myAPIM/privateEndpointConnections/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
完成 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 API 管理來源時,常見的錯誤如下:
- 使用 Azure Private Link 將 Azure API 管理來源新增至包含公用來源的現有原始來源群組。 Azure Front Door 不允許在相同的來源群組中混合使用公用來源和私人來源。