使用专用链接将 Azure Front Door 高级版连接到应用服务(Web 应用或函数应用)源

适用于: ✔️ Front Door Premium

本文介绍如何使用 Azure 专用链接 将 Azure Front Door Premium 配置为私下连接到应用服务(Web 应用或 Function App)。

Prerequisites

Note

专用终结点要求应用服务计划满足特定要求。 有关详细信息,请参阅对 Azure Web 应用使用专用终结点。 应用服务插槽不支持此功能。

在本部分中,你要将专用链接服务映射到 Azure Front Door 专用网络中的专用终结点。

  1. 在 Azure Front Door Premium 配置文件中,转到“设置”并选择“源组”

  2. 选择应包含你要启用专用链接的应用服务(Web 应用或函数应用)源的源组。

  3. 选择 “+ 添加源 ”以添加新源,或从列表中选择现有源。 使用下表配置源的设置:

    Setting 价值
    名称 输入名称以标识此源。
    原点类型 应用服务
    主机名 从下拉列表中选择要用作源的主机。
    源主机标头 自定义源的主机头或将其保留为默认值。
    HTTP 端口 80 (默认值)
    HTTPS 端口 443 (默认值)
    Priority 为源分配不同的优先级,以用于主要、次要和备份目的。
    重量 1000(默认值)。 使用权重在不同源之间分配流量。
    Region 选择与你的来源匹配或最接近的区域。
    目标子资源 选择“站点”作为所选资源的子资源类型。
    请求消息 输入将在批准专用终结点时显示的自定义消息。

    启用专用链接的屏幕截图。

  4. 选择“添加”以保存你的配置,然后选择“更新”以保存源组设置。

  1. 使用 Get-AzResource cmdlet 获取要用作Azure Front Door源的应用服务的资源 ID:

    Get-AzResource -Name testWebAppAFD `
                   -ResourceGroupName testRG
    
  2. 使用 New-AzFrontDoorCdnOrigin cmdlet 将应用服务源添加到源组:

    # Add App Service origin to the Azure Front Door profile with Private Link
    $origin1 = New-AzFrontDoorCdnOrigin `
        -OriginGroupName default-origin-group `
        -OriginName test-origin `
        -ProfileName testAFD `
        -ResourceGroupName testRG `
        -HostName testwebapp.canadacentral-01.chinacloudsites.cn `
        -OriginHostHeader testwebapp.canadacentral-01.chinacloudsites.cn `
        -HttpPort 80 `
        -HttpsPort 443 `
        -Priority 1 `
        -Weight 1000 `
        -PrivateLinkId /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testRG/providers/Microsoft.Web/sites/testWebAppAFD `
        -SharedPrivateLinkResourceGroupId sites `
        -SharedPrivateLinkResourcePrivateLinkLocation "China North 3" `
        -SharedPrivateLinkResourceRequestMessage "testWebAppAFDPL Private Link request"
    

使用 az afd origin create 命令创建新的 Azure Front Door 源。 该private-link-location值必须来自可用区域,且private-link-sub-resource-type值为站点

az afd origin create --enabled-state Enabled \
                     --resource-group 'myResourceGroup' \
                     --origin-group-name 'og1' \
                     --origin-name 'myapporigin' \
                     --profile-name 'contosoAFD' \
                     --host-name 'example.contoso.com' \
                     --origin-host-header 'example.contoso.com' \
                     --http-port 80 \
                     --https-port 443 \
                     --priority 1 \
                     --weight 500 \
                     --enable-private-link true \
                     --private-link-location 'ChinaNorth3' \
                     --private-link-request-message 'AFD app service origin Private Link request.' \
                     --private-link-resource /'subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/webapp1/appServices' \
                     --private-link-sub-resource-type sites

批准来自应用服务的 Azure Front Door Premium 专用终结点连接

  1. 转到在上一部分中配置了专用链接的应用服务。 在设置下选择网络

  2. 在“ 网络 ”部分中,选择“ 配置专用终结点连接”。

    应用服务中的网络设置的屏幕截图。

  3. 找到 Azure Front Door Premium 中挂起的专用终结点请求,然后选择“批准”

  1. 使用 Get-AzPrivateEndpointConnection cmdlet 列出应用服务的专用终结点连接。 Name请注意输出中应用服务中可用的专用终结点连接。

    # PrivateLinkResourceId is the resource ID of the WebApp
    Get-AzPrivateEndpointConnection -PrivateLinkResourceId '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testRG/providers/Microsoft.Web/sites/testWebAppAFD'
    
  2. 使用 Approve-AzPrivateEndpointConnection cmdlet 批准专用终结点连接。

    Approve-AzPrivateEndpointConnection -ResourceId '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/webapp1/privateEndpointConnections/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1'
    
  3. 使用 Get-AzPrivateEndpointConnection cmdlet 验证专用终结点连接的状态。

    Get-AzPrivateEndpointConnection -PrivateLinkResourceId '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testRG/providers/Microsoft.Web/sites/testWebAppAFD'
    
  1. 使用 az network private-endpoint-connection list 命令列出 Web 应用的专用终结点连接。 记下输出第一行中提供的专用终结点连接的 Resource ID

    az network private-endpoint-connection list --name 'webapp1' --resource-group 'myResourceGroup' --type 'Microsoft.Web/sites'
    
  2. 使用 az network private-endpoint-connection approve 命令批准专用终结点连接。

    az network private-endpoint-connection approve --id '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/webapp1/privateEndpointConnections/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1'
    

连接可能需要几分钟才能在批准后完全建立。 建立后,可以通过 Azure Front Door Premium 访问 Web 应用或函数应用。 启用专用终结点后,将禁用从公共 Internet 直接访问应用。

要避免的常见错误

配置启用了Azure 专用链接的源时常见的错误是:

  • 将启用了 Azure 专用链接的源添加到包含公共源的现有源组。 Azure Front Door 不允许在同一源组中混合公共和专用源。