共用方式為


使用 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 中。 Azure Cloud Shell 的「試試看」範例螢幕擷取畫面。
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 啟動 Azure Cloud Shell 的按鈕。
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 顯示 Azure 入口網站中 Cloud Shell 按鈕的螢幕擷取畫面

若要使用 Azure Cloud Shell:

  1. 啟動 Cloud Shell。

  2. 選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。

  3. 透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。

  4. 選取 Enter 鍵執行程式碼或命令。

啟用對 Azure 應用程式閘道的私人連線

請遵循設定 Azure 應用程式閘道的 Private Link 中的指示,但不要完成建立私人端點的最後一個步驟。

建立來源群組,並將應用程式閘道新增為來源

  1. 使用 New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject (英文) 來建立用於儲存健全狀態探查設定的記憶體內部物件。

    $healthProbeSetting = New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject `
        -ProbeIntervalInSecond 60 `
        -ProbePath "/" `
        -ProbeRequestType GET `
        -ProbeProtocol Http
    
  2. 使用 New-AzFrontDoorCdnOriginGroupLoadBalancingSettingObject (英文) 來建立用於儲存負載平衡設定的記憶體內部物件。

    $loadBalancingSetting = New-AzFrontDoorCdnOriginGroupLoadBalancingSettingObject `
        -AdditionalLatencyInMillisecond 50 `
        -SampleSize 4 `
        -SuccessfulSamplesRequired 3
    
  3. 執行 New-AzFrontDoorCdnOriginGroup (英文) 來建立包含應用程式閘道的來源群組。

    $origingroup = New-AzFrontDoorCdnOriginGroup `
        -OriginGroupName myOriginGroup `
        -ProfileName myFrontDoorProfile `
        -ResourceGroupName myResourceGroup `
        -HealthProbeSetting $healthProbeSetting `
        -LoadBalancingSetting $loadBalancingSetting
    
  4. 使用 Get-AzApplicationGatewayFrontendIPConfig (英文) 命令來取得應用程式閘道的前端 IP 設定名稱。

    $AppGw = Get-AzApplicationGateway -Name myAppGateway -ResourceGroupName myResourceGroup
    $FrontEndIPs= Get-AzApplicationGatewayFrontendIPConfig  -ApplicationGateway $AppGw
    $FrontEndIPs.name
    
  5. 使用 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 設定的名稱。

核准私人端點

  1. 執行 Get-AzPrivateEndpointConnection (英文) 來擷取需要核准之私人端點連線的連線名稱。

    Get-AzPrivateEndpointConnection -ResourceGroupName myResourceGroup -ServiceName myAppGateway -PrivateLinkResourceType Microsoft.Network/applicationgateways
    
  2. 執行 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 應用程式閘道的私人連線

請遵循設定 Azure 應用程式閘道的 Private Link 中的步驟,並略過建立私人端點的最後一個步驟。

建立來源群組,並將應用程式閘道新增為來源

  1. 執行 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
    
  2. 執行 az network application-gaeay frontend-ip list (部分機器翻譯) 來取得應用程式閘道的前端 IP 設定名稱。

    az network application-gateway frontend-ip list --gateway-name myAppGateway --resource-group myResourceGroup
    
  3. 執行 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 設定名稱。

核准私人端點連線

  1. 執行 az network private-endpoint-connection list (部分機器翻譯) 來取得需要核准之私人端點連線的識別碼

    az network private-endpoint-connection list --name myAppGateway --resource-group myResourceGroup --type Microsoft.Network/applicationgateways
    
  2. 執行 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 應用程式閘道來源時的常見錯誤如下:

  1. 先設定 Azure Front Door 來源,才在 Azure 應用程式閘道上設定 Azure Private Link。

  2. 使用 Azure Private Link 將 Azure 應用程式閘道來源新增至包含公用來源的現有來源群組。 Azure Front Door 不允許在相同的來源群組中混合使用公用來源和私人來源。

  1. 提供不正確的 Azure 應用程式閘道前端 IP 設定名稱作為 SharedPrivateLinkResourceGroupId 的值。
  1. 提供不正確的 Azure 應用程式閘道前端 IP 設定名稱作為 private-link-sub-resource-type 的值。

下一步

了解如何搭配儲存體帳戶使用 Private Link 服務