Подключение Azure Front Door Premium к шлюзу приложений Azure с помощью приватного канала

Область применения: ✔️ Front Door Premium

В этой статье описаны действия по настройке Azure Front Door Premium для частного подключения к шлюзу приложений Azure с помощью Приватного канала Azure.

Предпосылки

Замечание

При настройке с помощью портала Azure регион, который выбран в конфигурации источника Azure Front Door, должен быть тот же регион, в котором находится шлюз приложений. Если вы хотите, чтобы регион источника Azure Front Door и регион шлюза приложений отличались, используйте ИНТЕРФЕЙС командной строки или PowerShell. Возможно, потребуется использовать разные регионы, если шлюз приложений находится там, где Azure Front Door не поддерживает Приватный канал.

Включение частного подключения к шлюзу приложений Azure

  1. Следуйте инструкциям в статье "Настройка приватного канала шлюза приложений Azure", но не выполните последний этап создания частной конечной точки.

  2. Перейдите на вкладку "Обзор " шлюза приложений и запишите имя группы ресурсов, имя шлюза приложений и идентификатор подписки.

  3. В разделе Параметры выберите Приватная ссылка. Обратите внимание на имя службы приватного канала, которая отображается в столбце "Имя " в конфигурациях приватного канала.

  4. Создайте идентификатор ресурса службы приватного канала, используя значения из предыдущих шагов. Формат /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/privateLinkServices/_e41f87a2_{applicationGatewayName}_{privateLinkResource.Name}. Используйте этот идентификатор ресурса при настройке источника Front Door.

Создание группы источников и добавление шлюза приложений в качестве источника

  1. В профиле Azure Front Door Premium перейдите в Настройки и выберите группы источников.

  2. Нажмите кнопку "Добавить".

  3. Введите имя группы источника.

  4. Выберите +Добавить источник.

  5. Используйте следующую таблицу для настройки параметров источника:

    Настройки Ценность
    Имя Введите имя для идентификации этого источника.
    Тип источника Обычай
    Имя хоста Введите имя узла прослушивателя шлюза приложений
    Заголовок хоста-источника Введите имя узла прослушивателя шлюза приложений
    HTTP-порт 80 (по умолчанию)
    Порт HTTPS 443 (по умолчанию)
    Приоритет Назначьте разные приоритеты источникам для основных, вторичных и резервных копий.
    Вес 1000 (по умолчанию). Используйте весы для распределения трафика между различными источниками.
    Приватная ссылка Включить службу приватной ссылки
    Выберите приватную ссылку По идентификатору или псевдониму
    Идентификатор и псевдоним Введите идентификатор ресурса службы приватного канала, полученный при настройке шлюза приложений.
    Регион Выберите регион, в котором расположен шлюз приложений.
    Запрос на сообщение Введите настраиваемое сообщение для отображения во время утверждения частной конечной точки.

    Снимок экрана: параметры источника для настройки шлюза приложений в качестве частного источника.

  6. Нажмите кнопку "Добавить ", чтобы сохранить параметры источника.

  7. Нажмите кнопку "Добавить ", чтобы сохранить параметры группы источников.

Утверждение частной конечной точки

  1. Перейдите в шлюз приложений, настроенный с Приватный канал в предыдущем разделе. В разделе "Параметры" выберите Приватная ссылка.

  2. Перейдите на вкладку подключения к частным конечным точкам.

  3. Найдите запрос на создание частной конечной точки на рассмотрении из Azure Front Door Premium и выберите опцию "Утвердить".

  4. После утверждения состояние подключения обновляется. Для полного установления подключения может потребоваться несколько минут. После установки вы можете получить доступ к шлюзу приложений через Front Door. Прямой доступ к шлюзу приложений из общедоступного Интернета отключен после включения частной конечной точки. Снимок экрана: вкладка

Включение частного подключения к шлюзу приложений Azure

Следуйте инструкциям в статье "Настройка приватного канала шлюза приложений Azure", но не выполните последний этап создания частной конечной точки.

Создание группы источников и добавление шлюза приложений в качестве источника

  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. Получите имя интерфейсной IP-конфигурации шлюза приложений с помощью команды Get-AzApplicationGatewayFrontendIPConfig .

    $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 www.contoso.com ` 
        -HttpPort 80 ` 
        -HttpsPort 443 ` 
        -OriginHostHeader www.contoso.com ` 
        -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 — это имя интерфейсной IP-конфигурации шлюза приложений Azure.

Утверждение частной конечной точки

  1. Запустите Get-AzPrivateEndpointConnection, чтобы получить имя подключения частной конечной точки, для которого требуется утверждение.

    Get-AzPrivateEndpointConnection -ResourceGroupName myResourceGroup -ServiceName myAppGateway -PrivateLinkResourceType Microsoft.Network/applicationgateways
    
  2. Выполните команду Утверждайте AzPrivateEndpointConnection , чтобы утвердить сведения о подключении к частной конечной точке. Используйте значение Name из выходных данных на предыдущем шаге для утверждения соединения.

    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", пропустив последний шаг создания частной конечной точки.

Создание группы источников и добавление шлюза приложений в качестве источника

  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-gateway 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 www.contoso.com \
        --origin-host-header www.contoso.com \
        --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 — имя интерфейсной IP-конфигурации шлюза приложений Azure.

Утвердите подключение частной конечной точки

  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 с включенным Приватный канал Azure:

  1. Настройка источника Azure Front Door перед настройкой Приватного канала Azure на шлюзе приложений Azure.
  2. Добавление источника шлюза приложений Azure с помощью Приватного канала Azure в существующую группу источников, содержащую общедоступные источники. Azure Front Door не позволяет смешивать общедоступные и частные источники в той же группе источников.
  3. Превышение 70 символов в объединенной длине имени шлюза приложений и имени конфигурации Приватный канал, что приводит к сбоям развертывания.
  4. Не связывает внешний IP-адрес шлюза приложений с прослушивателем.
  1. Настройка источника с типом источника как "Шлюз приложений" вместо "Custom". При выборе типа источника в качестве шлюза приложений имя узла источника автоматически заполняется IP-адресом шлюза приложений. Этот автоматически заполненный IP-адрес может привести к ошибке CertificateNameValidation . Чтобы избежать этой ошибки для общедоступных источников, отключите проверку имени субъекта сертификата. Для исходных источников с включенной поддержкой частной ссылки проверка имени субъекта сертификата является обязательной.
  1. Указание неправильного имени интерфейсной IP-конфигурации шлюза приложений Azure в качестве значения SharedPrivateLinkResourceGroupId.
  1. Указание неправильного имени интерфейсной IP-конфигурации шлюза приложений Azure в качестве значения private-link-sub-resource-type.

Следующий шаг