Microsoft.Network frontDoors

Определение ресурса Bicep

Тип ресурса frontDoors можно развернуть в следующих объектах:

Список измененных свойств в каждой версии API см. в журнале изменений.

Формат ресурсов

Чтобы создать ресурс Microsoft.Network/frontDoors, добавьте следующий Bicep в шаблон.

resource symbolicname 'Microsoft.Network/frontDoors@2021-06-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  properties: {
    backendPools: [
      {
        id: 'string'
        name: 'string'
        properties: {
          backends: [
            {
              address: 'string'
              backendHostHeader: 'string'
              enabledState: 'string'
              httpPort: int
              httpsPort: int
              priority: int
              privateLinkAlias: 'string'
              privateLinkApprovalMessage: 'string'
              privateLinkLocation: 'string'
              privateLinkResourceId: 'string'
              weight: int
            }
          ]
          healthProbeSettings: {
            id: 'string'
          }
          loadBalancingSettings: {
            id: 'string'
          }
        }
      }
    ]
    backendPoolsSettings: {
      enforceCertificateNameCheck: 'string'
      sendRecvTimeoutSeconds: int
    }
    enabledState: 'string'
    friendlyName: 'string'
    frontendEndpoints: [
      {
        id: 'string'
        name: 'string'
        properties: {
          hostName: 'string'
          sessionAffinityEnabledState: 'string'
          sessionAffinityTtlSeconds: int
          webApplicationFirewallPolicyLink: {
            id: 'string'
          }
        }
      }
    ]
    healthProbeSettings: [
      {
        id: 'string'
        name: 'string'
        properties: {
          enabledState: 'string'
          healthProbeMethod: 'string'
          intervalInSeconds: int
          path: 'string'
          protocol: 'string'
        }
      }
    ]
    loadBalancingSettings: [
      {
        id: 'string'
        name: 'string'
        properties: {
          additionalLatencyMilliseconds: int
          sampleSize: int
          successfulSamplesRequired: int
        }
      }
    ]
    routingRules: [
      {
        id: 'string'
        name: 'string'
        properties: {
          acceptedProtocols: [
            'string'
          ]
          enabledState: 'string'
          frontendEndpoints: [
            {
              id: 'string'
            }
          ]
          patternsToMatch: [
            'string'
          ]
          routeConfiguration: {
            '@odata.type': 'string'
            // For remaining properties, see RouteConfiguration objects
          }
          rulesEngine: {
            id: 'string'
          }
          webApplicationFirewallPolicyLink: {
            id: 'string'
          }
        }
      }
    ]
  }
}

Объекты RouteConfiguration

Задайте свойство @odata.type , чтобы указать тип объекта .

Для #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration используйте:

  '@odata.type': '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration'
  backendPool: {
    id: 'string'
  }
  cacheConfiguration: {
    cacheDuration: 'string'
    dynamicCompression: 'string'
    queryParameters: 'string'
    queryParameterStripDirective: 'string'
  }
  customForwardingPath: 'string'
  forwardingProtocol: 'string'

Для #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration используйте:

  '@odata.type': '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration'
  customFragment: 'string'
  customHost: 'string'
  customPath: 'string'
  customQueryString: 'string'
  redirectProtocol: 'string'
  redirectType: 'string'

Значения свойств

frontDoors

Имя Описание Значение
name имя ресурса. string (обязательно)

Ограничение символов: 5–64

Допустимые символы:
Буквенно-цифровые символы и дефисы.

Начинается и закачивается буквенно-цифровым символом.

Имя ресурса должно быть уникальным в Azure.
location Расположение ресурса. строка
tags Теги ресурсов. Словарь имен и значений тегов. См . раздел Теги в шаблонах
properties Свойства Load Balancer Front Door Свойства FrontDoorProperties

Свойства FrontDoorProperties

Имя Описание Значение
серверные пулы Внутренние пулы, доступные для правил маршрутизации. BackendPool[]
backendPoolsSettings Параметры для всех внутренних пулов BackendPoolsSettings
enabledState Рабочее состояние подсистемы балансировки нагрузки Front Door. Допустимые значения: Enabled или Disabled. "Отключено"
"Включено"
friendlyName Понятное имя для frontDoor строка
frontendEndpoints Интерфейсные конечные точки, доступные для правил маршрутизации. FrontendEndpoint[]
healthProbeSettings Параметры пробы работоспособности, связанные с этим экземпляром Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Параметры балансировки нагрузки, связанные с этим экземпляром Front Door. LoadBalancingSettingsModel[]
routingRules Правила маршрутизации, связанные с этим Front Door. RoutingRule[]

BackendPool

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства серверного пула Front Door BackendPoolProperties

BackendPoolProperties

Имя Описание Значение
серверные части Набор серверных серверов для этого пула Серверная часть[]
healthProbeSettings Параметры пробы работоспособности L7 для серверного пула SubResource
loadBalancingSettings Параметры балансировки нагрузки для серверного пула SubResource

Серверная часть

Имя Описание Значение
address Расположение внутреннего сервера (IP-адрес или полное доменное имя). строка
backendHostHeader Значение заголовка узла, отправляемого на внутренний сервер. Если значение пустое или не указано, по умолчанию используется входящий узел. строка
enabledState Позволяет разрешить или запретить использование этого внутреннего сервера. Допустимые значения: Enabled или Disabled. "Отключено"
"Включено"
httpPort Номер TCP-порта HTTP. Значение должно находиться в диапазоне от 1 до 65535. INT
httpsPort Номер TCP-порта HTTPS. Значение должно находиться в диапазоне от 1 до 65535. INT
priority Приоритет для балансировки нагрузки. Более высокие приоритеты не будут использоваться для балансировки нагрузки, если какая-либо серверная часть с более низким приоритетом работоспособна. INT
privateLinkAlias Псевдоним ресурса Приватный канал. Заполнение этого необязательного поля указывает, что серверная часть является частной. строка
privateLinkApprovalMessage Пользовательское сообщение, включаемое в запрос на утверждение для подключения к Приватный канал строка
privateLinkLocation Расположение ресурса Приватный канал. Требуется только при заполнении "privateLinkResourceId" строка
privateLinkResourceId Идентификатор ресурса Приватный канал. Заполнение этого необязательного поля указывает, что серверная часть является частной. строка
вес Вес этой конечной точки для балансировки нагрузки. INT

SubResource

Имя Описание Значение
идентификатор Идентификатор ресурса. строка

BackendPoolsSettings

Имя Описание Значение
enforceCertificateNameCheck Следует ли применять имя сертификата проверка в HTTPS-запросах ко всем внутренним пулам. Не влияет на запросы, отличные от HTTPS. "Отключено"
"Включено"
sendRecvTimeoutSeconds Время ожидания отправки и получения при переадресации запроса на серверную часть. По истечении времени ожидания запрос завершается ошибкой и возвращается. INT

FrontendEndpoint

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства интерфейсной конечной точки Свойства FrontendEndpointProperties

Свойства FrontendEndpointProperties

Имя Описание Значение
hostName Имя узла frontendEndpoint. Это должно быть доменное имя. строка
sessionAffinityEnabledState Позволяет разрешить или запретить использование сходства сеансов на этом узле. Допустимые параметры: "Включено" или "Отключено". "Отключено"
"Включено"
sessionAffinityTtlSeconds НЕИСПОЛЬЗУЕМЫЕ. Это поле будет пропущено. Срок жизни в секундах для использования сходства сеансов (если применимо). INT
webApplicationFirewallPolicyLink Определяет политику Брандмауэр веб-приложений для каждого узла (если применимо). FrontendpointUpdateParametersWebApplicationFirewa...

FrontendpointUpdateParametersWebApplicationFirewa...

Имя Описание Значение
идентификатор Идентификатор ресурса. строка

HealthProbeSettingsModel

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства параметров пробы работоспособности HealthProbeSettingsProperties

HealthProbeSettingsProperties

Имя Описание Значение
enabledState Следует ли включить проверку работоспособности для серверных компонентов, определенных в разделе backendPools. Пробы работоспособности можно отключить, только если в одном серверном пуле есть одна включенная серверная часть. "Отключено"
"Включено"
healthProbeMethod Настраивает метод HTTP, используемый для проверки серверных компонентов, определенных в разделе backendPools. "GET"
'HEAD'
intervalInSeconds Число секунд между выполнением проб работоспособности. INT
path Путь для пробы работоспособности. По умолчанию используется значение "/". строка
protocol Схема протокола, используемая для этой пробы "Http"
"Https"

LoadBalancingSettingsModel

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства параметров балансировки нагрузки LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Имя Описание Значение
additionalLatencyMilliseconds Дополнительная задержка в миллисекундах для проб, которые попадают в контейнер с наименьшей задержкой INT
sampleSize Количество выборок, которые следует учитывать при принятии решений о балансировке нагрузки. INT
successfulSamplesRequired Количество выборок в течение периода выборки, которые должны быть успешно выполнены. INT

RoutingRule

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства правила маршрутизации Front Door RoutingRuleProperties

RoutingRuleProperties

Имя Описание Значение
acceptedProtocols Схемы протоколов, соответствующие этому правилу Массив строк, содержащий любой из:
"Http"
"Https"
enabledState Позволяет включить это правило. Допустимые значения: Enabled или Disabled. "Отключено"
"Включено"
frontendEndpoints Интерфейсные конечные точки, связанные с этим правилом SubResource[]
patternsToMatch Шаблоны маршрутов правила. string[]
RouteConfiguration Ссылка на конфигурацию маршрутизации. RouteConfiguration
rulesEngine Ссылка на определенную конфигурацию обработчика правил, применяемую к этому маршруту. SubResource
webApplicationFirewallPolicyLink Определяет политику Брандмауэр веб-приложений для каждого правила маршрутизации (если применимо) RoutingRuleUpdateParametersWebApplicationFirewallPol...

RouteConfiguration

Имя Описание Значение
@odata.type Установка типа объекта #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration
#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (обязательно)

ForwardingConfiguration

Имя Описание Значение
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' (обязательно)
backendPool Ссылка на backendPool, в который направляется это правило. SubResource
cacheConfiguration Конфигурация кэширования, связанная с этим правилом. CacheConfiguration
customForwardingPath Пользовательский путь, используемый для перезаписи путей ресурсов, соответствующих этому правилу. Оставьте пустым, чтобы использовать входящий путь. строка
forwardingProtocol Протокол, который это правило будет использовать при пересылке трафика на серверные серверы. "HttpOnly"
"HttpsOnly"
MatchRequest

CacheConfiguration

Имя Описание Значение
cacheDuration Длительность, в течение которой содержимое должно быть кэшировано. Допустимый формат имеет формат ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601#Durations). Http требует, чтобы значение было не более года строка
dynamicCompression Следует ли использовать динамическое сжатие для кэшированного содержимого "Отключено"
"Включено"
queryParameters параметры запроса для включения или исключения (разделенные запятыми). строка
queryParameterStripDirective Обработка терминов запроса URL-адресов при формировании ключа кэша. 'StripAll'
StripAllExcept
'StripNone'
"StripOnly"

RedirectConfiguration

Имя Описание Значение
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (обязательно)
customFragment Фрагмент для добавления в URL-адрес перенаправления. Фрагмент — это часть URL-адреса, которая поступает после #. Не включайте #. строка
customHost Узел для перенаправления. Оставьте пустым, чтобы использовать входящий узел в качестве конечного узла. строка
customPath Полный путь для перенаправления. Путь не может быть пустым и должен начинаться с /. Оставьте пустым, чтобы использовать входящий путь в качестве пути назначения. строка
customQueryString Набор строк запроса, помещаемых в URL-адрес перенаправления. Установка этого значения заменит любую существующую строку запроса; Оставьте пустым, чтобы сохранить строку входящего запроса. Строка запроса должна быть в формате {key}={value}. Первый ? и & будут добавлены автоматически, поэтому не включайте их в передний план, а разделяйте несколько строк запроса с помощью &. строка
redirectProtocol Протокол назначения, в который перенаправляется трафик. "HttpOnly"
"HttpsOnly"
MatchRequest
redirectType Тип перенаправления, который будет использоваться правилом при перенаправлении трафика. "Найдено"
"Перемещено"
PermanentRedirect
TemporaryRedirect

RoutingRuleUpdateParametersWebApplicationFirewallPol...

Имя Описание Значение
идентификатор Идентификатор ресурса. строка

Шаблоны быстрого запуска

Следующие шаблоны быстрого запуска развертывают этот тип ресурса.

Шаблон Описание
Создание Azure Front Door перед azure Управление API

Развертывание в Azure
В этом примере показано, как использовать Azure Front Door в качестве глобальной подсистемы балансировки нагрузки перед azure Управление API.
Создание базовой конфигурации Front Door

Развертывание в Azure
Этот шаблон создает базовую конфигурацию Front Door с одной серверной частью.
Создание Front Door с кэшированием определенных маршрутов

Развертывание в Azure
Этот шаблон создает Front Door с включенным кэшированием для определенной конфигурации маршрутизации, таким образом кэшируя все статические ресурсы для вашей рабочей нагрузки.
Создание Front Door с несколькими серверными и внутренними пулами

Развертывание в Azure
Этот шаблон создает Front Door с балансировкой нагрузки, настроенной для нескольких серверных серверов в серверном пуле, а также между внутренними пулами на основе URL-пути.
Создание Front Door с перенаправлением HTTP в HTTPS

Развертывание в Azure
Этот шаблон создает конфигурацию Front Door для перенаправления HTTP в HTTPS.
Добавление личного домена и управляемого сертификата с помощью Front Door

Развертывание в Azure
Этот шаблон обеспечивает подключение и защиту личного домена с помощью Front Door
Добавление личного домена и пользовательского сертификата с помощью Front Door

Развертывание в Azure
Этот шаблон обеспечивает подключение и защиту личного домена с помощью Front Door с помощью сертификата, управляемого клиентом.
Управление пробами работоспособности для серверных систем в конфигурации Front Door

Развертывание в Azure
Этот шаблон обновляет Front Door, чтобы изменить параметры пробы работоспособности, задав путь пробы, а также интервалы отправки проб.
Создание Front Door с конфигурацией Active-Standby

Развертывание в Azure
Этот шаблон создает Front Door, демонстрирующий маршрутизацию на основе приоритетов для топологии Active-Standby приложений.
Настройка сходства сеансов для имен узлов Front Door

Развертывание в Azure
Этот шаблон обновляет Front Door, чтобы включить сходство сеансов для внешнего узла, тем самым отправляя последующий трафик из того же сеанса пользователя в ту же серверную часть.

Определение ресурса шаблона ARM

Тип ресурса frontDoors можно развернуть в:

Список измененных свойств в каждой версии API см. в журнале изменений.

Формат ресурсов

Чтобы создать ресурс Microsoft.Network/frontDoors, добавьте следующий код JSON в шаблон.

{
  "type": "Microsoft.Network/frontDoors",
  "apiVersion": "2021-06-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "backendPools": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "backends": [
            {
              "address": "string",
              "backendHostHeader": "string",
              "enabledState": "string",
              "httpPort": "int",
              "httpsPort": "int",
              "priority": "int",
              "privateLinkAlias": "string",
              "privateLinkApprovalMessage": "string",
              "privateLinkLocation": "string",
              "privateLinkResourceId": "string",
              "weight": "int"
            }
          ],
          "healthProbeSettings": {
            "id": "string"
          },
          "loadBalancingSettings": {
            "id": "string"
          }
        }
      }
    ],
    "backendPoolsSettings": {
      "enforceCertificateNameCheck": "string",
      "sendRecvTimeoutSeconds": "int"
    },
    "enabledState": "string",
    "friendlyName": "string",
    "frontendEndpoints": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "hostName": "string",
          "sessionAffinityEnabledState": "string",
          "sessionAffinityTtlSeconds": "int",
          "webApplicationFirewallPolicyLink": {
            "id": "string"
          }
        }
      }
    ],
    "healthProbeSettings": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "enabledState": "string",
          "healthProbeMethod": "string",
          "intervalInSeconds": "int",
          "path": "string",
          "protocol": "string"
        }
      }
    ],
    "loadBalancingSettings": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "additionalLatencyMilliseconds": "int",
          "sampleSize": "int",
          "successfulSamplesRequired": "int"
        }
      }
    ],
    "routingRules": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "acceptedProtocols": [ "string" ],
          "enabledState": "string",
          "frontendEndpoints": [
            {
              "id": "string"
            }
          ],
          "patternsToMatch": [ "string" ],
          "routeConfiguration": {
            "@odata.type": "string"
            // For remaining properties, see RouteConfiguration objects
          },
          "rulesEngine": {
            "id": "string"
          },
          "webApplicationFirewallPolicyLink": {
            "id": "string"
          }
        }
      }
    ]
  }
}

Объекты RouteConfiguration

Задайте свойство @odata.type , чтобы указать тип объекта.

Для #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration используйте:

  "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration",
  "backendPool": {
    "id": "string"
  },
  "cacheConfiguration": {
    "cacheDuration": "string",
    "dynamicCompression": "string",
    "queryParameters": "string",
    "queryParameterStripDirective": "string"
  },
  "customForwardingPath": "string",
  "forwardingProtocol": "string"

Для #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration используйте:

  "@odata.type": "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration",
  "customFragment": "string",
  "customHost": "string",
  "customPath": "string",
  "customQueryString": "string",
  "redirectProtocol": "string",
  "redirectType": "string"

Значения свойств

frontDoors

Имя Описание Значение
тип Тип ресурса Microsoft.Network/frontDoors
версия_API Версия API ресурсов '2021-06-01'
name имя ресурса. строка (обязательно)

Ограничение символов: 5–64

Допустимые символы:
Буквенно-цифровые символы и дефисы.

Начинается и закачивается буквенно-цифровым символом.

Имя ресурса должно быть уникальным в Azure.
location Расположение ресурса. строка
tags Теги ресурсов. Словарь имен и значений тегов. См . раздел Теги в шаблонах
properties Свойства Load Balancer Front Door FrontDoorProperties

FrontDoorProperties

Имя Описание Значение
серверные пулы Серверные пулы, доступные для правил маршрутизации. BackendPool[]
backendPoolsSettings Параметры для всех серверных пулов BackendPoolsSettings
enabledState Рабочее состояние подсистемы балансировки нагрузки Front Door. Допустимые значения: Enabled или Disabled. "Отключено"
"Включено"
friendlyName Понятное имя frontDoor строка
интерфейсные точки Интерфейсные конечные точки, доступные для правил маршрутизации. FrontendEndpoint[]
healthProbeSettings Параметры пробы работоспособности, связанные с этим экземпляром Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Параметры балансировки нагрузки, связанные с этим экземпляром Front Door. LoadBalancingSettingsModel[]
routingRules Правила маршрутизации, связанные с этой службой Front Door. RoutingRule[]

BackendPool

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства серверного пула Front Door BackendPoolProperties

BackendPoolProperties

Имя Описание Значение
серверные части Набор серверных серверов для этого пула Серверная часть[]
healthProbeSettings Параметры пробы работоспособности L7 для внутреннего пула SubResource
loadBalancingSettings Параметры балансировки нагрузки для внутреннего пула SubResource

Серверная часть

Имя Описание Значение
address Расположение внутреннего сервера (IP-адрес или полное доменное имя). строка
backendHostHeader Значение заголовка узла, отправляемого на внутренний сервер. Если значение пустое или не указано, по умолчанию используется входящий узел. строка
enabledState Позволяет разрешить или запретить использование этого внутреннего сервера. Допустимые значения: Enabled или Disabled. "Отключено"
"Включено"
httpPort Номер TCP-порта HTTP. Значение должно находиться в диапазоне от 1 до 65535. INT
httpsPort Номер TCP-порта HTTPS. Значение должно находиться в диапазоне от 1 до 65535. INT
priority Приоритет для балансировки нагрузки. Более высокие приоритеты не будут использоваться для балансировки нагрузки, если какая-либо серверная часть с более низким приоритетом работоспособна. INT
privateLinkAlias Псевдоним ресурса Приватный канал. Заполнение этого необязательного поля указывает, что серверная часть является частной. строка
privateLinkApprovalMessage Пользовательское сообщение, включаемое в запрос на утверждение для подключения к Приватный канал строка
privateLinkLocation Расположение ресурса Приватный канал. Требуется только при заполнении privateLinkResourceId строка
privateLinkResourceId Идентификатор ресурса Приватный канал. Заполнение этого необязательного поля указывает, что серверная часть является частной. строка
вес Вес этой конечной точки для балансировки нагрузки. INT

SubResource

Имя Описание Значение
идентификатор Идентификатор ресурса. строка

BackendPoolsSettings

Имя Описание Значение
enforceCertificateNameCheck Следует ли принудительно применять имя сертификата проверка в HTTPS-запросах ко всем внутренним пулам. Не влияет на запросы, отличные от HTTPS. "Отключено"
"Включено"
sendRecvTimeoutSeconds Время ожидания отправки и получения при переадресации запроса на серверную часть. По истечении времени ожидания запрос завершается ошибкой и возвращается. INT

Интерфейсная точка

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства интерфейсной конечной точки Интерфейсные свойства

Интерфейсные свойства

Имя Описание Значение
hostName Имя узла frontendEndpoint. Это должно быть доменное имя. строка
sessionAffinityEnabledState Позволяет разрешить или запретить использование сходства сеансов на этом узле. Допустимые параметры: "Включено" или "Отключено". "Отключено"
"Включено"
sessionAffinityTtlSeconds НЕИСПОЛЬЗУЕМЫЕ. Это поле будет пропущено. Срок жизни в секундах для использования сходства сеансов (если применимо). INT
webApplicationFirewallPolicyLink Определяет политику Брандмауэр веб-приложений для каждого узла (если применимо). FrontendEndpointUpdateParametersWebApplicationFirewa...

FrontendEndpointUpdateParametersWebApplicationFirewa...

Имя Описание Значение
идентификатор Идентификатор ресурса. строка

HealthProbeSettingsModel

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства параметров пробы работоспособности HealthProbeSettingsProperties

HealthProbeSettingsProperties

Имя Описание Значение
enabledState Следует ли включить пробы работоспособности для серверных компонентов, определенных в разделе backendPools. Пробы работоспособности можно отключить, только если в одном серверном пуле есть одна включенная серверная часть. "Отключено"
"Включено"
healthProbeMethod Настраивает метод HTTP, используемый для проверки серверных компонентов, определенных в разделе BackendPools. GET
"HEAD"
intervalInSeconds Число секунд между выполнением проб работоспособности. INT
path Путь для пробы работоспособности. По умолчанию используется значение "/". строка
protocol Схема протокола, используемая для этой пробы "Http"
"Https"

LoadBalancingSettingsModel

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства параметров балансировки нагрузки LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Имя Описание Значение
additionalLatencyMilliseconds Дополнительная задержка в миллисекундах для проб попадает в контейнер с наименьшей задержкой INT
sampleSize Количество выборок, которые следует учитывать при принятии решений о балансировке нагрузки. INT
successfulSamplesRequired Количество выборок в течение периода выборки, которые должны быть успешно выполнены. INT

RoutingRule

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства правила маршрутизации Front Door RoutingRuleProperties

RoutingRuleProperties

Имя Описание Значение
acceptedProtocols Схемы протоколов, соответствующие этому правилу Массив строк, содержащий любой из:
"Http"
"Https"
enabledState Позволяет включить это правило. Допустимые значения: Enabled или Disabled. "Отключено"
"Включено"
frontendEndpoints Интерфейсные конечные точки, связанные с этим правилом SubResource[]
patternsToMatch Шаблоны маршрутов правила. string[]
routeConfiguration Ссылка на конфигурацию маршрутизации. RouteConfiguration
rulesEngine Ссылка на определенную конфигурацию обработчика правил, применяемую к этому маршруту. SubResource
webApplicationFirewallPolicyLink Определяет политику Брандмауэр веб-приложений для каждого правила маршрутизации (если применимо). RoutingRuleUpdateParametersWebApplicationFirewallPol...

RouteConfiguration

Имя Описание Значение
@odata.type Установка типа объекта #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration
#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (обязательно)

ForwardingConfiguration

Имя Описание Значение
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' (обязательно)
backendPool Ссылка на BackendPool, к которому направляется это правило. SubResource
cacheConfiguration Конфигурация кэширования, связанная с этим правилом. CacheConfiguration
customForwardingPath Пользовательский путь, используемый для перезаписи путей ресурсов, соответствующих этому правилу. Оставьте пустым, чтобы использовать входящий путь. строка
forwardingProtocol Протокол, который будет использоваться этим правилом при переадресации трафика на серверные серверы. "HttpOnly"
"HttpsOnly"
MatchRequest

CacheConfiguration

Имя Описание Значение
cacheDuration Длительность кэширования содержимого. Допустимый формат имеет формат ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601#Durations). Http требует, чтобы значение было не более года строка
dynamicCompression Следует ли использовать динамическое сжатие для кэшированного содержимого "Отключено"
"Включено"
queryParameters параметры запроса для включения или исключения (разделенные запятыми). строка
queryParameterStripDirective Обработка терминов ЗАПРОСА URL-адреса при формировании ключа кэша. 'StripAll'
StripAllExcept
'StripNone'
'StripOnly'

RedirectConfiguration

Имя Описание Значение
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (обязательно)
customFragment Фрагмент для добавления в URL-адрес перенаправления. Фрагмент — это часть URL-адреса, которая поступает после #. Не включайте #. строка
customHost Узел для перенаправления. Оставьте пустым, чтобы использовать входящий узел в качестве конечного узла. строка
customPath Полный путь для перенаправления. Путь не может быть пустым и должен начинаться с /. Оставьте пустым, чтобы использовать входящий путь в качестве пути назначения. строка
customQueryString Набор строк запроса, помещаемых в URL-адрес перенаправления. Установка этого значения заменит любую существующую строку запроса; Оставьте пустым, чтобы сохранить входящую строку запроса. Строка запроса должна быть в формате {key}={value}. Первый ? и & будут добавлены автоматически, поэтому не добавляйте их на передний план, а разделяйте несколько строк запроса &. строка
redirectProtocol Протокол назначения, в который перенаправляется трафик "HttpOnly"
"HttpsOnly"
MatchRequest
redirectType Тип перенаправления, который будет использоваться правилом при перенаправлении трафика. "Найдено"
"Перемещено"
'PermanentRedirect'
"TemporaryRedirect"

RoutingRuleUpdateParametersWebApplicationFirewallPol...

Имя Описание Значение
идентификатор Идентификатор ресурса. строка

Шаблоны быстрого запуска

Следующие шаблоны быстрого запуска развертывают этот тип ресурса.

Шаблон Описание
Создание Azure Front Door перед azure Управление API

Развертывание в Azure
В этом примере показано, как использовать Azure Front Door в качестве глобальной подсистемы балансировки нагрузки перед azure Управление API.
Создание базовой конфигурации Front Door

Развертывание в Azure
Этот шаблон создает базовую конфигурацию Front Door с одной серверной частью.
Создание Front Door с кэшированием определенных маршрутов

Развертывание в Azure
Этот шаблон создает Front Door с включенным кэшированием для определенной конфигурации маршрутизации, таким образом кэшируя все статические ресурсы для рабочей нагрузки.
Создание Front Door с несколькими серверными и внутренними пулами

Развертывание в Azure
Этот шаблон создает Front Door с балансировкой нагрузки, настроенной для нескольких внутренних серверов в серверном пуле, а также между внутренними пулами на основе URL-пути.
Создание Front Door с перенаправлением HTTP в HTTPS

Развертывание в Azure
Этот шаблон создает конфигурацию Front Door для перенаправления HTTP в HTTPS.
Добавление личного домена и управляемого сертификата с помощью Front Door

Развертывание в Azure
Этот шаблон обеспечивает подключение и защиту личного домена с помощью Front Door
Добавление личного домена и пользовательского сертификата с помощью Front Door

Развертывание в Azure
Этот шаблон обеспечивает подключение и защиту личного домена с помощью Front Door с помощью сертификата, управляемого клиентом.
Управление пробами работоспособности для серверных систем в конфигурации Front Door

Развертывание в Azure
Этот шаблон обновляет Front Door, чтобы изменить параметры пробы работоспособности, задав путь пробы, а также интервалы, через которые будут отправляться пробы.
Создание Front Door с конфигурацией Active-Standby

Развертывание в Azure
Этот шаблон создает Front Door, демонстрирующий маршрутизацию на основе приоритета для топологии приложений Active-Standby.
Настройка сходства сеансов для имен узлов Front Door

Развертывание в Azure
Этот шаблон обновляет Front Door, чтобы включить сходство сеансов для внешнего узла, тем самым отправляя последующий трафик из того же сеанса пользователя в ту же серверную часть.

Определение ресурса Terraform (поставщик AzAPI)

Тип ресурса frontDoors можно развернуть в следующих объектах:

  • Группы ресурсов

Список измененных свойств в каждой версии API см. в журнале изменений.

Формат ресурсов

Чтобы создать ресурс Microsoft.Network/frontDoors, добавьте следующую terraform в шаблон.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/frontDoors@2021-06-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      backendPools = [
        {
          id = "string"
          name = "string"
          properties = {
            backends = [
              {
                address = "string"
                backendHostHeader = "string"
                enabledState = "string"
                httpPort = int
                httpsPort = int
                priority = int
                privateLinkAlias = "string"
                privateLinkApprovalMessage = "string"
                privateLinkLocation = "string"
                privateLinkResourceId = "string"
                weight = int
              }
            ]
            healthProbeSettings = {
              id = "string"
            }
            loadBalancingSettings = {
              id = "string"
            }
          }
        }
      ]
      backendPoolsSettings = {
        enforceCertificateNameCheck = "string"
        sendRecvTimeoutSeconds = int
      }
      enabledState = "string"
      friendlyName = "string"
      frontendEndpoints = [
        {
          id = "string"
          name = "string"
          properties = {
            hostName = "string"
            sessionAffinityEnabledState = "string"
            sessionAffinityTtlSeconds = int
            webApplicationFirewallPolicyLink = {
              id = "string"
            }
          }
        }
      ]
      healthProbeSettings = [
        {
          id = "string"
          name = "string"
          properties = {
            enabledState = "string"
            healthProbeMethod = "string"
            intervalInSeconds = int
            path = "string"
            protocol = "string"
          }
        }
      ]
      loadBalancingSettings = [
        {
          id = "string"
          name = "string"
          properties = {
            additionalLatencyMilliseconds = int
            sampleSize = int
            successfulSamplesRequired = int
          }
        }
      ]
      routingRules = [
        {
          id = "string"
          name = "string"
          properties = {
            acceptedProtocols = [
              "string"
            ]
            enabledState = "string"
            frontendEndpoints = [
              {
                id = "string"
              }
            ]
            patternsToMatch = [
              "string"
            ]
            routeConfiguration = {
              @odata.type = "string"
              // For remaining properties, see RouteConfiguration objects
            }
            rulesEngine = {
              id = "string"
            }
            webApplicationFirewallPolicyLink = {
              id = "string"
            }
          }
        }
      ]
    }
  })
}

Объекты RouteConfiguration

Задайте свойство @odata.type , чтобы указать тип объекта .

Для #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration используйте:

  @odata.type = "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration"
  backendPool = {
    id = "string"
  }
  cacheConfiguration = {
    cacheDuration = "string"
    dynamicCompression = "string"
    queryParameters = "string"
    queryParameterStripDirective = "string"
  }
  customForwardingPath = "string"
  forwardingProtocol = "string"

Для #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration используйте:

  @odata.type = "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration"
  customFragment = "string"
  customHost = "string"
  customPath = "string"
  customQueryString = "string"
  redirectProtocol = "string"
  redirectType = "string"

Значения свойств

frontDoors

Имя Описание Значение
тип Тип ресурса "Microsoft.Network/frontDoors@2021-06-01"
name имя ресурса. string (обязательно)

Ограничение символов: 5–64

Допустимые символы:
Буквенно-цифровые символы и дефисы.

Начинается и закачивается буквенно-цифровым символом.

Имя ресурса должно быть уникальным в Azure.
location Расположение ресурса. строка
parent_id Для развертывания в группе ресурсов используйте идентификатор этой группы ресурсов. string (обязательно)
tags Теги ресурсов. Словарь имен и значений тегов.
properties Свойства Load Balancer Front Door Свойства FrontDoorProperties

Свойства FrontDoorProperties

Имя Описание Значение
серверные пулы Внутренние пулы, доступные для правил маршрутизации. BackendPool[]
backendPoolsSettings Параметры для всех внутренних пулов BackendPoolsSettings
enabledState Рабочее состояние подсистемы балансировки нагрузки Front Door. Допустимые значения: Enabled или Disabled. "Отключено"
"Включено"
friendlyName Понятное имя для frontDoor строка
frontendEndpoints Интерфейсные конечные точки, доступные для правил маршрутизации. FrontendEndpoint[]
healthProbeSettings Параметры пробы работоспособности, связанные с этим экземпляром Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Параметры балансировки нагрузки, связанные с этим экземпляром Front Door. LoadBalancingSettingsModel[]
routingRules Правила маршрутизации, связанные с этим Front Door. RoutingRule[]

BackendPool

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства серверного пула Front Door BackendPoolProperties

BackendPoolProperties

Имя Описание Значение
серверные части Набор серверных серверов для этого пула Серверная часть[]
healthProbeSettings Параметры пробы работоспособности L7 для серверного пула SubResource
loadBalancingSettings Параметры балансировки нагрузки для серверного пула SubResource

Серверная часть

Имя Описание Значение
address Расположение внутреннего сервера (IP-адрес или полное доменное имя). строка
backendHostHeader Значение заголовка узла, отправляемого на внутренний сервер. Если значение пустое или не указано, по умолчанию используется входящий узел. строка
enabledState Позволяет разрешить или запретить использование этого внутреннего сервера. Допустимые значения: Enabled или Disabled. "Отключено"
"Включено"
httpPort Номер TCP-порта HTTP. Значение должно находиться в диапазоне от 1 до 65535. INT
httpsPort Номер TCP-порта HTTPS. Значение должно находиться в диапазоне от 1 до 65535. INT
priority Приоритет для балансировки нагрузки. Более высокие приоритеты не будут использоваться для балансировки нагрузки, если какая-либо серверная часть с более низким приоритетом работоспособна. INT
privateLinkAlias Псевдоним ресурса Приватный канал. Заполнение этого необязательного поля указывает, что серверная часть является частной. строка
privateLinkApprovalMessage Пользовательское сообщение, включаемое в запрос на утверждение для подключения к Приватный канал строка
privateLinkLocation Расположение ресурса Приватный канал. Требуется только при заполнении "privateLinkResourceId" строка
privateLinkResourceId Идентификатор ресурса Приватный канал. Заполнение этого необязательного поля указывает, что серверная часть является частной. строка
вес Вес этой конечной точки для балансировки нагрузки. INT

SubResource

Имя Описание Значение
идентификатор Идентификатор ресурса. строка

BackendPoolsSettings

Имя Описание Значение
enforceCertificateNameCheck Следует ли применять имя сертификата проверка в HTTPS-запросах ко всем внутренним пулам. Не влияет на запросы, отличные от HTTPS. "Отключено"
"Включено"
sendRecvTimeoutSeconds Время ожидания отправки и получения при переадресации запроса на серверную часть. По истечении времени ожидания запрос завершается ошибкой и возвращается. INT

FrontendEndpoint

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства интерфейсной конечной точки Свойства FrontendEndpointProperties

Свойства FrontendEndpointProperties

Имя Описание Значение
hostName Имя узла frontendEndpoint. Это должно быть доменное имя. строка
sessionAffinityEnabledState Позволяет разрешить или запретить использование сходства сеансов на этом узле. Допустимые параметры: "Включено" или "Отключено". "Отключено"
"Включено"
sessionAffinityTtlSeconds НЕИСПОЛЬЗУЕМЫЕ. Это поле будет пропущено. Срок жизни в секундах для использования сходства сеансов (если применимо). INT
webApplicationFirewallPolicyLink Определяет политику Брандмауэр веб-приложений для каждого узла (если применимо). FrontendpointUpdateParametersWebApplicationFirewa...

FrontendpointUpdateParametersWebApplicationFirewa...

Имя Описание Значение
идентификатор Идентификатор ресурса. строка

HealthProbeSettingsModel

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства параметров пробы работоспособности HealthProbeSettingsProperties

HealthProbeSettingsProperties

Имя Описание Значение
enabledState Следует ли включить проверку работоспособности для серверных компонентов, определенных в разделе backendPools. Пробы работоспособности можно отключить, только если в одном серверном пуле есть одна включенная серверная часть. "Отключено"
"Включено"
healthProbeMethod Настраивает метод HTTP, используемый для проверки серверных компонентов, определенных в разделе backendPools. "GET"
"HEAD"
intervalInSeconds Число секунд между выполнением проб работоспособности. INT
path Путь для пробы работоспособности. По умолчанию используется значение "/". строка
protocol Схема протокола, используемая для этой пробы "Http"
"Https"

LoadBalancingSettingsModel

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства параметров балансировки нагрузки LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Имя Описание Значение
additionalLatencyMilliseconds Дополнительная задержка в миллисекундах для проб, которые попадают в контейнер с наименьшей задержкой INT
sampleSize Количество выборок, которые следует учитывать при принятии решений о балансировке нагрузки. INT
successfulSamplesRequired Количество выборок в течение периода выборки, которые должны быть успешно выполнены. INT

RoutingRule

Имя Описание Значение
идентификатор Идентификатор ресурса. строка
name Имя ресурса. строка
properties Свойства правила маршрутизации Front Door RoutingRuleProperties

RoutingRuleProperties

Имя Описание Значение
acceptedProtocols Схемы протоколов, соответствующие этому правилу Массив строк, содержащий любой из:
"Http"
"Https"
enabledState Позволяет включить это правило. Допустимые значения: Enabled или Disabled. "Отключено"
"Включено"
frontendEndpoints Интерфейсные конечные точки, связанные с этим правилом SubResource[]
patternsToMatch Шаблоны маршрутов правила. string[]
routeConfiguration Ссылка на конфигурацию маршрутизации. RouteConfiguration
rulesEngine Ссылка на определенную конфигурацию обработчика правил, применяемую к этому маршруту. SubResource
webApplicationFirewallPolicyLink Определяет политику Брандмауэр веб-приложений для каждого правила маршрутизации (если применимо). RoutingRuleUpdateParametersWebApplicationFirewallPol...

RouteConfiguration

Имя Описание Значение
@odata.type Установка типа объекта #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration
#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (обязательно)

ForwardingConfiguration

Имя Описание Значение
@odata.type "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration" (обязательно)
backendPool Ссылка на BackendPool, к которому направляется это правило. SubResource
cacheConfiguration Конфигурация кэширования, связанная с этим правилом. CacheConfiguration
customForwardingPath Пользовательский путь, используемый для перезаписи путей ресурсов, соответствующих этому правилу. Оставьте пустым, чтобы использовать входящий путь. строка
forwardingProtocol Протокол, который будет использоваться этим правилом при переадресации трафика на серверные серверы. "HttpOnly"
"HttpsOnly"
"MatchRequest"

CacheConfiguration

Имя Описание Значение
cacheDuration Длительность кэширования содержимого. Допустимый формат имеет формат ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601#Durations). Http требует, чтобы значение было не более года строка
dynamicCompression Следует ли использовать динамическое сжатие для кэшированного содержимого "Отключено"
"Включено"
queryParameters параметры запроса для включения или исключения (разделенные запятыми). строка
queryParameterStripDirective Обработка терминов ЗАПРОСА URL-адреса при формировании ключа кэша. "StripAll"
"StripAllExcept"
"StripNone"
"StripOnly"

RedirectConfiguration

Имя Описание Значение
@odata.type "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration" (обязательно)
customFragment Фрагмент для добавления в URL-адрес перенаправления. Фрагмент — это часть URL-адреса, которая поступает после #. Не включайте #. строка
customHost Узел для перенаправления. Оставьте пустым, чтобы использовать входящий узел в качестве конечного узла. строка
customPath Полный путь для перенаправления. Путь не может быть пустым и должен начинаться с /. Оставьте пустым, чтобы использовать входящий путь в качестве пути назначения. строка
customQueryString Набор строк запроса, помещаемых в URL-адрес перенаправления. Установка этого значения заменит любую существующую строку запроса; Оставьте пустым, чтобы сохранить входящую строку запроса. Строка запроса должна быть в формате {key}={value}. Первый ? и & будут добавлены автоматически, поэтому не добавляйте их на передний план, а разделяйте несколько строк запроса &. строка
redirectProtocol Протокол назначения, в который перенаправляется трафик "HttpOnly"
"HttpsOnly"
"MatchRequest"
redirectType Тип перенаправления, который будет использоваться правилом при перенаправлении трафика. "Найдено"
"Перемещено"
"PermanentRedirect"
"TemporaryRedirect"

RoutingRuleUpdateParametersWebApplicationFirewallPol...

Имя Описание Значение
идентификатор Идентификатор ресурса. строка