Поделиться через


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

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

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

Предпосылки

  • Профиль Azure Front Door Premium и конечная точка. Дополнительные сведения см. в статье "Создание Azure Front Door".

  • Шлюз приложений Azure. Дополнительные сведения о создании шлюза приложений см. в статье "Прямой веб-трафик" с помощью Шлюза приложений Azure с помощью Azure PowerShell

  • Azure Cloud Shell или Azure PowerShell.

    Шаги, описанные в этой статье, позволяют выполнять командлеты Azure PowerShell в интерактивном режиме в Azure Cloud Shell. Чтобы запустить командлеты в Cloud Shell, выберите Open Cloud Shell в правом верхнем углу блока кода. Выберите "Копировать", чтобы скопировать код, а затем вставьте его в Cloud Shell, чтобы запустить его. Вы также можете запустить Cloud Shell из портала Azure.

    Вы также можете установить Azure PowerShell локально для выполнения командлетов. При локальном запуске PowerShell войдите в Azure с помощью командлета Connect-AzAccount .

  • Профиль Azure Front Door Premium с группой источников. Дополнительные сведения см. в статье "Создание Azure Front Door".

  • Шлюз приложений Azure. Дополнительные сведения о создании шлюза приложений см. в статье "Прямой веб-трафик" с помощью Azure Application Gateway с помощью Azure CLI.

  • Azure Cloud Shell или Azure CLI

    Действия, описанные в этой статье, выполняют команды Azure CLI интерактивно в Azure Cloud Shell. Чтобы выполнить команды в Cloud Shell, выберите Open Cloud Shell в правом верхнем углу блока кода. Выберите "Копировать ", чтобы скопировать код и вставить его в Cloud Shell, чтобы запустить его. Вы также можете запустить Cloud Shell из портала Azure.

    Вы также можете установить Azure CLI локально для выполнения команд. При локальном запуске Azure CLI войдите в Azure с помощью команды az login .

Замечание

При настройке с помощью портала Azure регион, выбранный в конфигурации источника Azure Front Door, должен быть тем же регионом, в котором находится шлюз приложений. Если вы хотите, чтобы регион источника Azure Front Door и регион шлюза приложений отличались, используйте CLI/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-адресом шлюза приложений. Это может привести к ошибке CertificateNameValidation. Эту проблему можно избежать в общедоступных источниках, отключив проверку имени субъекта сертификата. Но для источников с поддержкой приватной связи проверка имени владельца сертификата является обязательной.
  1. Указание неправильного имени интерфейсной IP-конфигурации шлюза приложений Azure в качестве значения SharedPrivateLinkResourceGroupId.
  1. Указание неправильного имени интерфейсной IP-конфигурации шлюза приложений Azure в качестве значения private-link-sub-resource-type.

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