你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用专用链接将 Azure Front Door Premium 连接到 Azure 应用程序网关(预览版)
本文会指导你完成配置 Azure Front Door Premium 以使用 Azure 专用链接私密连接到 Azure 应用程序网关的步骤。
先决条件
具有活动订阅的 Azure 帐户。 免费创建帐户。
Azure PowerShell(本地安装)或 Azure Cloud Shell。
注意
建议使用 Azure Az PowerShell 模块与 Azure 交互。 若要开始,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
Azure Cloud Shell
Azure 托管 Azure Cloud Shell(一个可通过浏览器使用的交互式 shell 环境)。 可以将 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 应用程序网关引导 Web 流量
启用与 Azure 应用程序网关的专用连接
按照配置 Azure 应用程序网关专用链接中的说明操作,但请勿完成创建专用终结点的最后一步。
创建源组,并将应用程序网关添加为源
使用 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 应用程序网关定向 Web 流量 - Azure CLI。
启用与 Azure 应用程序网关的专用连接
按照配置 Azure 应用程序网关专用链接中的步骤操作,跳过创建专用终结点的最后一步。
创建源组,并将应用程序网关添加为源
运行 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,获取需要批准的专用终结点连接的 ID。
az network private-endpoint-connection list --name myAppGateway --resource-group myResourceGroup --type Microsoft.Network/applicationgateways
运行 az network private-endpoint-connection approve,以使用上一步中的 ID 批准专用终结点连接。
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 专用链接的 Azure 应用程序网关源时,常见错误如下:
在 Azure 应用程序网关上配置 Azure 专用链接之前配置 Azure Front Door 源。
使用 Azure 专用链接将 Azure 应用程序网关源添加到包含公共源的现有源组。 Azure Front Door 不允许在同一源组中混合公共和专用源。
- 提供不正确的 Azure 应用程序网关前端 IP 配置名称作为值
SharedPrivateLinkResourceGroupId
。
- 提供不正确的 Azure 应用程序网关前端 IP 配置名称作为值
private-link-sub-resource-type
。
后续步骤
了解有关存储帐户的专用链接服务。