Compartilhar via


FrontDoors microsoft.network

Definição de recurso do Bicep

O tipo de recurso frontDoors pode ser implantado em:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Network/frontDoors, adicione o Bicep a seguir ao modelo.

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'
          }
        }
      }
    ]
  }
}

Objetos RouteConfiguration

Defina a propriedade @odata.type para especificar o tipo de objeto.

Para #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration, use:

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

Para #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration, use:

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

Valores de propriedade

frontDoors

Nome Descrição Valor
name O nome do recurso cadeia de caracteres (obrigatório)

Limite de caracteres: 5 a 64

Caracteres válidos:
Caracteres alfanuméricos e hifens.

Comece e termine com caractere alfanumérico.

O nome do recurso deve ser exclusivo no Azure.
local Local do recurso. string
marcas Marcas de recurso. Dicionário de nomes e valores de marcas. Consulte Marcas em modelos
properties Propriedades do Load Balancer do Front Door FrontDoorProperties

FrontDoorProperties

Nome Descrição Valor
backendPools Pools de back-end disponíveis para regras de roteamento. BackendPool[]
backendPoolsSettings Configurações para todos os back-endPools BackendPoolsSettings
enabledState Status operacional do balanceador de carga do Front Door. Os valores permitidos são 'Enabled' ou 'Disabled' 'Desabilitado'
'Enabled'
friendlyName Um nome amigável para o frontDoor string
frontendEndpoints Pontos de extremidade de front-end disponíveis para regras de roteamento. FrontendEndpoint[]
healthProbeSettings Configurações de investigação de integridade associadas a esta instância do Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Configurações de balanceamento de carga associadas a esta instância do Front Door. LoadBalancingSettingsModel[]
routingRules Regras de roteamento associadas a este Front Door. RoutingRule[]

BackendPool

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades do pool de back-end do Front Door BackendPoolProperties

BackendPoolProperties

Nome Descrição Valor
Backends O conjunto de back-ends para esse pool Back-end[]
healthProbeSettings Configurações de investigação de integridade L7 para um pool de back-end SubResource
loadBalancingSettings Configurações de balanceamento de carga para um pool de back-end SubResource

Back-end

Nome Descrição Valor
address Localização do back-end (endereço IP ou FQDN) string
backendHostHeader O valor a ser usado como o cabeçalho de host enviado para o back-end. Se estiver em branco ou não for especificado, esse padrão será o host de entrada. string
enabledState Se deseja habilitar o uso desse back-end. Os valores permitidos são 'Enabled' ou 'Disabled' 'Desabilitado'
'Enabled'
httpPort O número da porta TCP do HTTP. Precisa estar entre 1 e 65535. INT
httpsPort O número da porta TCP do HTTPS. Precisa estar entre 1 e 65535. INT
priority A prioridade a ser usada para o balanceamento de carga. Prioridades mais altas não serão usadas para balanceamento de carga se qualquer back-end de prioridade mais baixa estiver íntegro. INT
privateLinkAlias O Alias do recurso Link Privado. Preencher esse campo opcional indica que esse back-end é 'Private' string
privateLinkApprovalMessage Uma mensagem personalizada a ser incluída na solicitação de aprovação para se conectar ao Link Privado string
privateLinkLocation O local do recurso Link Privado. Obrigatório somente se 'privateLinkResourceId' for preenchido string
privateLinkResourceId A ID do recurso de Link Privado. Preencher esse campo opcional indica que esse back-end é 'Private' string
peso O peso desse ponto de extremidade para fins de balanceamento de carga. INT

SubResource

Nome Descrição Valor
id ID do recurso. string

BackendPoolsSettings

Nome Descrição Valor
enforceCertificateNameCheck Se deve impor o nome do certificado marcar em solicitações HTTPS a todos os pools de back-end. Nenhum efeito em solicitações não HTTPS. 'Desabilitado'
'Enabled'
sendRecvTimeoutSeconds Enviar e receber tempo limite na solicitação de encaminhamento para o back-end. Quando o tempo limite é atingido, a solicitação falha e retorna. INT

FrontendEndpoint

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades do ponto de extremidade de front-end FrontendEndpointProperties

FrontendEndpointProperties

Nome Descrição Valor
hostName O nome de host do frontendEndpoint. Precisa ser um nome de domínio. string
sessionAffinityEnabledState Se deseja permitir a afinidade de sessão neste host. As opções válidas são 'Habilitado' ou 'Desabilitado' 'Desabilitado'
'Enabled'
sessionAffinityTtlSeconds UTILIZADAS. Esse campo será ignorado. O TTL a ser usado em segundos para afinidade de sessão, se aplicável. INT
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicativo Web para cada host (se aplicável) FrontendEndpointUpdateParametersWebApplicationFirewa...

FrontendEndpointUpdateParametersWebApplicationFirewa...

Nome Descrição Valor
id ID do recurso. string

HealthProbeSettingsModel

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades das configurações de investigação de integridade HealthProbeSettingsProperties

HealthProbeSettingsProperties

Nome Descrição Valor
enabledState Se as investigações de integridade devem ser feitas em relação aos back-ends definidos em back-endPools. Investigações de integridade só poderão ser desabilitadas se houver um único back-end habilitado em um único pool de back-end habilitado. 'Desabilitado'
'Enabled'
healthProbeMethod Configura qual método HTTP usar para investigar os back-ends definidos em back-endPools. 'GET'
'HEAD'
intervalInSeconds O número de segundos entre as investigações de integridade. INT
caminho O caminho a ser usado para a investigação de integridade. O padrão é / string
protocolo Esquema de protocolo a ser usado para esta investigação 'Http'
'Https'

LoadBalancingSettingsModel

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades das configurações de balanceamento de carga LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Nome Descrição Valor
additionalLatencyMilliseconds A latência adicional em milissegundos para que as investigações caiam no bucket de latência mais baixo INT
sampleSize O número de exemplos a serem considerados para decisões de balanceamento de carga INT
successfulSamplesRequired O número de exemplos dentro do período de exemplo que deve ter êxito INT

RoutingRule

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades da regra de roteamento do Front Door RoutingRuleProperties

RoutingRuleProperties

Nome Descrição Valor
acceptedProtocols Esquemas de protocolo para corresponder a essa regra Matriz de cadeia de caracteres que contém qualquer um dos:
'Http'
'Https'
enabledState Se deseja habilitar o uso dessa regra. Os valores permitidos são 'Enabled' ou 'Disabled' 'Desabilitado'
'Enabled'
frontendEndpoints Pontos de extremidade de front-end associados a essa regra SubResource[]
patternsToMatch Os padrões de rota da regra. string[]
routeConfiguration Uma referência à configuração de roteamento. RouteConfiguration
rulesEngine Uma referência a uma configuração específica do Mecanismo de Regras a ser aplicada a essa rota. SubResource
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicativo Web para cada regra de roteamento (se aplicável) RoutingRuleUpdateParametersWebApplicationFirewallPol...

RouteConfiguration

Nome Descrição Valor
@odata.type Definir o tipo de objeto #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration
#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (obrigatório)

ForwardingConfiguration

Nome Descrição Valor
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' (obrigatório)
backendPool Uma referência ao BackendPool para o qual essa regra roteia. SubResource
cacheConfiguration A configuração de cache associada a essa regra. CacheConfiguration
customForwardingPath Um caminho personalizado usado para reescrever caminhos de recursos correspondentes a essa regra. Deixe em branco para usar o caminho de entrada. string
forwardingProtocol O protocolo que essa regra usará ao encaminhar o tráfego aos back-ends. 'HttpOnly'
'HttpsOnly'
'MatchRequest'

CacheConfiguration

Nome Descrição Valor
Cacheduration A duração para a qual o conteúdo precisa ser armazenado em cache. O formato permitido está no formato ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requer que o valor não seja superior a um ano string
dynamicCompression Se deve usar a compactação dinâmica para conteúdo armazenado em cache 'Desabilitado'
'Enabled'
queryParameters parâmetros de consulta a serem incluídos ou excluídos (separados por vírgulas). string
queryParameterStripDirective Tratamento de termos de consulta de URL ao formar a chave de cache. 'StripAll'
'StripAllExcept'
'StripNone'
'StripOnly'

RedirectConfiguration

Nome Descrição Valor
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (obrigatório)
customFragment Fragmento a ser adicionado à URL de redirecionamento. Fragment é a parte da URL que vem depois de #. Não inclua o #. string
customHost Host a ser redirecionada. Deixe vazio para usar o host de entrada como o host de destino. string
customPath O caminho completo para redirecionar. O caminho não pode estar vazio e deve começar com /. Deixe vazio para usar o caminho de entrada como caminho de destino. string
customQueryString O conjunto de cadeias de caracteres de consulta a serem colocadas na URL de redirecionamento. Definir esse valor substituiria qualquer cadeia de caracteres de consulta existente; deixe vazio para preservar a cadeia de caracteres de consulta de entrada. A cadeia de caracteres de consulta deve estar no formato {key}={value}. O primeiro? e & serão adicionados automaticamente, portanto, não os inclua na frente, mas separe várias cadeias de caracteres de consulta com &. string
redirectProtocol O protocolo do destino para onde o tráfego é redirecionado 'HttpOnly'
'HttpsOnly'
'MatchRequest'
redirectType O tipo de redirecionamento que a regra usará ao redirecionar o tráfego. 'Encontrado'
'Movido'
'PermanentRedirect'
'TemporaryRedirect'

RoutingRuleUpdateParametersWebApplicationFirewallPol...

Nome Descrição Valor
id ID do recurso. string

Modelos de início rápido

Os modelos de início rápido a seguir implantam esse tipo de recurso.

Modelo Descrição
Criar o Azure Front Door na frente do Azure Gerenciamento de API

Implantar no Azure
Este exemplo demonstra como usar o Azure Front Door como um balanceador de carga global na frente do Azure Gerenciamento de API.
Criar um Front Door básico

Implantar no Azure
Este modelo cria uma configuração básica do Front Door com um único back-end.
Criar um Front Door com o cache habilitado para determinadas rotas

Implantar no Azure
Esse modelo cria um Front Door com cache habilitado para a configuração de roteamento definida, armazenando em cache todos os ativos estáticos para sua carga de trabalho.
Criar um Front Door com vários back-ends e pools de back-end

Implantar no Azure
Este modelo cria um Front Door com balanceamento de carga configurado para vários back-ends em um pool de back-end e também entre pools de back-end com base no caminho da URL.
Criar um Front Door com redirecionamento HTTP para HTTPS

Implantar no Azure
Este modelo cria uma configuração do Front Door para redirecionamento HTTP para HTTPS.
Adicionar domínio personalizado e certificado gerenciado com o Front Door

Implantar no Azure
Este modelo integra e protege um domínio personalizado com o Front Door
Adicionar domínio personalizado e certificado personalizado com o Front Door

Implantar no Azure
Este modelo integra e protege um domínio personalizado com o Front Door com um certificado gerenciado pelo cliente
Controlar as investigações de integridade para os back-ends no Front Door

Implantar no Azure
Este modelo atualiza o Front Door para alterar as configurações de investigação de integridade definindo o caminho de investigação e também os intervalos nos quais as investigações serão enviadas.
Criar o Front Door com Active-Standby configuração

Implantar no Azure
Este modelo cria um Front Door que demonstra o roteamento baseado em prioridade para Active-Standby topologia do aplicativo.
Configurar a afinidade de sessão para seus nomes de host do Front Door

Implantar no Azure
Esse modelo atualiza um Front Door para habilitar a afinidade de sessão para o host de front-end, enviando assim o tráfego subsequente da mesma sessão de usuário para o mesmo back-end.

Definição de recurso de modelo do ARM

O tipo de recurso frontDoors pode ser implantado em:

Para obter uma lista das propriedades alteradas em cada versão da API, consulte log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Network/frontDoors, adicione o JSON a seguir ao modelo.

{
  "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"
          }
        }
      }
    ]
  }
}

Objetos RouteConfiguration

Defina a propriedade @odata.type para especificar o tipo de objeto.

Para #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration, use:

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

Para #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration, use:

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

Valores de propriedade

frontDoors

Nome Descrição Valor
tipo O tipo de recurso 'Microsoft.Network/frontDoors'
apiVersion A versão da API do recurso '2021-06-01'
name O nome do recurso cadeia de caracteres (obrigatório)

Limite de caracteres: 5-64

Caracteres válidos:
Caracteres alfanuméricos e hifens.

Comece e termine com caractere alfanumérico.

O nome do recurso deve ser exclusivo no Azure.
local Local do recurso. string
marcas Marcas de recurso. Dicionário de nomes e valores de marcas. Confira Marcas em modelos
properties Propriedades do Load Balancer do Front Door FrontDoorProperties

FrontDoorProperties

Nome Descrição Valor
backendPools Pools de back-end disponíveis para regras de roteamento. BackendPool[]
backendPoolsSettings Configurações para todos os backendPools BackendPoolsSettings
enabledState Status operacional do balanceador de carga do Front Door. Os valores permitidos são 'Enabled' ou 'Disabled' 'Desabilitado'
'Enabled'
friendlyName Um nome amigável para o frontDoor string
frontendEndpoints Pontos de extremidade de front-end disponíveis para regras de roteamento. FrontendEndpoint[]
healthProbeSettings Configurações de investigação de integridade associadas a esta instância do Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Configurações de balanceamento de carga associadas a esta instância do Front Door. LoadBalancingSettingsModel[]
routingRules Regras de roteamento associadas a este Front Door. RoutingRule[]

BackendPool

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades do pool de back-end do Front Door BackendPoolProperties

BackendPoolProperties

Nome Descrição Valor
Backends O conjunto de back-ends para esse pool Back-end[]
healthProbeSettings Configurações de investigação de integridade L7 para um pool de back-end SubResource
loadBalancingSettings Configurações de balanceamento de carga para um pool de back-end SubResource

Back-end

Nome Descrição Valor
address Localização do back-end (endereço IP ou FQDN) string
backendHostHeader O valor a ser usado como o cabeçalho de host enviado para o back-end. Se estiver em branco ou não for especificado, esse padrão será o host de entrada. string
enabledState Se deseja habilitar o uso desse back-end. Os valores permitidos são 'Enabled' ou 'Disabled' 'Desabilitado'
'Enabled'
httpPort O número da porta TCP do HTTP. Precisa estar entre 1 e 65535. INT
httpsPort O número da porta TCP do HTTPS. Precisa estar entre 1 e 65535. INT
priority A prioridade a ser usada para o balanceamento de carga. Prioridades mais altas não serão usadas para balanceamento de carga se qualquer back-end de prioridade mais baixa estiver íntegro. INT
privateLinkAlias O Alias do recurso Link Privado. Preencher esse campo opcional indica que esse back-end é 'Private' string
privateLinkApprovalMessage Uma mensagem personalizada a ser incluída na solicitação de aprovação para se conectar ao Link Privado string
privateLinkLocation O local do recurso Link Privado. Obrigatório somente se 'privateLinkResourceId' for preenchido string
privateLinkResourceId A ID do recurso de Link Privado. Preencher esse campo opcional indica que esse back-end é 'Private' string
peso O peso desse ponto de extremidade para fins de balanceamento de carga. INT

SubResource

Nome Descrição Valor
id ID do recurso. string

BackendPoolsSettings

Nome Descrição Valor
enforceCertificateNameCheck Se deve impor o nome do certificado marcar em solicitações HTTPS a todos os pools de back-end. Nenhum efeito em solicitações não HTTPS. 'Desabilitado'
'Enabled'
sendRecvTimeoutSeconds Enviar e receber tempo limite na solicitação de encaminhamento para o back-end. Quando o tempo limite é atingido, a solicitação falha e retorna. INT

FrontendEndpoint

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades do ponto de extremidade de front-end FrontendEndpointProperties

FrontendEndpointProperties

Nome Descrição Valor
hostName O nome de host do frontendEndpoint. Precisa ser um nome de domínio. string
sessionAffinityEnabledState Se deseja permitir a afinidade de sessão neste host. As opções válidas são 'Habilitado' ou 'Desabilitado' 'Desabilitado'
'Enabled'
sessionAffinityTtlSeconds UTILIZADAS. Esse campo será ignorado. O TTL a ser usado em segundos para afinidade de sessão, se aplicável. INT
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicativo Web para cada host (se aplicável) FrontendEndpointUpdateParametersWebApplicationFirewa...

FrontendEndpointUpdateParametersWebApplicationFirewa...

Nome Descrição Valor
id ID do recurso. string

HealthProbeSettingsModel

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades das configurações de investigação de integridade HealthProbeSettingsProperties

HealthProbeSettingsProperties

Nome Descrição Valor
enabledState Se as investigações de integridade devem ser feitas em relação aos back-ends definidos em back-endPools. Investigações de integridade só poderão ser desabilitadas se houver um único back-end habilitado em um único pool de back-end habilitado. 'Desabilitado'
'Enabled'
healthProbeMethod Configura qual método HTTP usar para investigar os back-ends definidos em back-endPools. 'GET'
'HEAD'
intervalInSeconds O número de segundos entre as investigações de integridade. INT
caminho O caminho a ser usado para a investigação de integridade. O padrão é / string
protocolo Esquema de protocolo a ser usado para esta investigação 'Http'
'Https'

LoadBalancingSettingsModel

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades das configurações de balanceamento de carga LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Nome Descrição Valor
additionalLatencyMilliseconds A latência adicional em milissegundos para que as investigações caiam no bucket de latência mais baixo INT
sampleSize O número de exemplos a serem considerados para decisões de balanceamento de carga INT
successfulSamplesRequired O número de amostras dentro do período de exemplo que deve ter êxito INT

RoutingRule

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades da regra de roteamento do Front Door RoutingRuleProperties

RoutingRuleProperties

Nome Descrição Valor
acceptedProtocols Esquemas de protocolo para corresponder a essa regra Matriz de cadeia de caracteres que contém qualquer um dos:
'Http'
'Https'
enabledState Se deseja habilitar o uso dessa regra. Os valores permitidos são 'Enabled' ou 'Disabled' 'Desabilitado'
'Enabled'
frontendEndpoints Pontos de extremidade de front-end associados a essa regra SubResource[]
patternsToMatch Os padrões de rota da regra. string[]
routeConfiguration Uma referência à configuração de roteamento. RouteConfiguration
rulesEngine Uma referência a uma configuração específica do Mecanismo de Regras a ser aplicada a essa rota. SubResource
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicativo Web para cada regra de roteamento (se aplicável) RoutingRuleUpdateParametersWebApplicationFirewallPol...

RouteConfiguration

Nome Descrição Valor
@odata.type Definir o tipo de objeto #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration
#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (obrigatório)

ForwardingConfiguration

Nome Descrição Valor
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' (obrigatório)
backendPool Uma referência ao BackendPool para o qual essa regra roteia. SubResource
cacheConfiguration A configuração de cache associada a essa regra. CacheConfiguration
customForwardingPath Um caminho personalizado usado para reescrever caminhos de recursos correspondentes a essa regra. Deixe em branco para usar o caminho de entrada. string
forwardingProtocol O protocolo que essa regra usará ao encaminhar o tráfego aos back-ends. 'HttpOnly'
'HttpsOnly'
'MatchRequest'

CacheConfiguration

Nome Descrição Valor
Cacheduration A duração para a qual o conteúdo precisa ser armazenado em cache. O formato permitido está no formato ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requer que o valor não seja superior a um ano string
dynamicCompression Se deve usar a compactação dinâmica para conteúdo armazenado em cache 'Desabilitado'
'Enabled'
queryParameters parâmetros de consulta a serem incluídos ou excluídos (separados por vírgulas). string
queryParameterStripDirective Tratamento de termos de consulta de URL ao formar a chave de cache. 'StripAll'
'StripAllExcept'
'StripNone'
'StripOnly'

RedirectConfiguration

Nome Descrição Valor
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (obrigatório)
customFragment Fragmento a ser adicionado à URL de redirecionamento. Fragment é a parte da URL que vem depois de #. Não inclua o #. string
customHost Host a ser redirecionada. Deixe vazio para usar o host de entrada como o host de destino. string
customPath O caminho completo para redirecionar. O caminho não pode estar vazio e deve começar com /. Deixe vazio para usar o caminho de entrada como caminho de destino. string
customQueryString O conjunto de cadeias de caracteres de consulta a serem colocadas na URL de redirecionamento. Definir esse valor substituiria qualquer cadeia de caracteres de consulta existente; deixe vazio para preservar a cadeia de caracteres de consulta de entrada. A cadeia de caracteres de consulta deve estar no formato {key}={value}. O primeiro? e & serão adicionados automaticamente, portanto, não os inclua na frente, mas separe várias cadeias de caracteres de consulta com &. string
redirectProtocol O protocolo do destino para onde o tráfego é redirecionado 'HttpOnly'
'HttpsOnly'
'MatchRequest'
redirectType O tipo de redirecionamento que a regra usará ao redirecionar o tráfego. 'Encontrado'
'Movido'
'PermanentRedirect'
'TemporaryRedirect'

RoutingRuleUpdateParametersWebApplicationFirewallPol...

Nome Descrição Valor
id ID do recurso. string

Modelos de início rápido

Os modelos de início rápido a seguir implantam esse tipo de recurso.

Modelo Descrição
Criar o Azure Front Door na frente do Azure Gerenciamento de API

Implantar no Azure
Este exemplo demonstra como usar o Azure Front Door como um balanceador de carga global na frente do Azure Gerenciamento de API.
Criar um Front Door básico

Implantar no Azure
Este modelo cria uma configuração básica do Front Door com um único back-end.
Criar um Front Door com o cache habilitado para determinadas rotas

Implantar no Azure
Esse modelo cria um Front Door com cache habilitado para a configuração de roteamento definida, armazenando em cache todos os ativos estáticos para sua carga de trabalho.
Criar um Front Door com vários back-ends e pools de back-end

Implantar no Azure
Este modelo cria um Front Door com balanceamento de carga configurado para vários back-ends em um pool de back-end e também entre pools de back-end com base no caminho da URL.
Criar um Front Door com redirecionamento HTTP para HTTPS

Implantar no Azure
Este modelo cria uma configuração do Front Door para redirecionamento HTTP para HTTPS.
Adicionar domínio personalizado e certificado gerenciado com o Front Door

Implantar no Azure
Este modelo integra e protege um domínio personalizado com o Front Door
Adicionar domínio personalizado e certificado personalizado com o Front Door

Implantar no Azure
Este modelo integra e protege um domínio personalizado com o Front Door com um certificado gerenciado pelo cliente
Controlar as investigações de integridade para os back-ends no Front Door

Implantar no Azure
Este modelo atualiza o Front Door para alterar as configurações de investigação de integridade definindo o caminho de investigação e também os intervalos nos quais as investigações serão enviadas.
Criar o Front Door com Active-Standby configuração

Implantar no Azure
Este modelo cria um Front Door que demonstra o roteamento baseado em prioridade para Active-Standby topologia do aplicativo.
Configurar a afinidade de sessão para seus nomes de host do Front Door

Implantar no Azure
Esse modelo atualiza um Front Door para habilitar a afinidade de sessão para o host de front-end, enviando assim o tráfego subsequente da mesma sessão de usuário para o mesmo back-end.

Definição de recurso do Terraform (provedor de AzAPI)

O tipo de recurso frontDoors pode ser implantado em:

  • Grupos de recursos

Para obter uma lista das propriedades alteradas em cada versão da API, consulte log de alterações.

Formato de recurso

Para criar um recurso Microsoft.Network/frontDoors, adicione o Terraform a seguir ao seu modelo.

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"
            }
          }
        }
      ]
    }
  })
}

Objetos RouteConfiguration

Defina a propriedade @odata.type para especificar o tipo de objeto.

Para #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration, use:

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

Para #Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration, use:

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

Valores de propriedade

frontDoors

Nome Descrição Valor
tipo O tipo de recurso "Microsoft.Network/frontDoors@2021-06-01"
name O nome do recurso cadeia de caracteres (obrigatório)

Limite de caracteres: 5-64

Caracteres válidos:
Caracteres alfanuméricos e hifens.

Comece e termine com caractere alfanumérico.

O nome do recurso deve ser exclusivo no Azure.
local Local do recurso. string
parent_id Para implantar em um grupo de recursos, use a ID desse grupo de recursos. cadeia de caracteres (obrigatório)
marcas Marcas de recurso. Dicionário de nomes e valores de marcas.
properties Propriedades do Load Balancer do Front Door FrontDoorProperties

FrontDoorProperties

Nome Descrição Valor
backendPools Pools de back-end disponíveis para regras de roteamento. BackendPool[]
backendPoolsSettings Configurações para todos os back-endPools BackendPoolsSettings
enabledState Status operacional do balanceador de carga do Front Door. Os valores permitidos são 'Enabled' ou 'Disabled' "Desabilitado"
"Habilitado"
friendlyName Um nome amigável para o frontDoor string
frontendEndpoints Pontos de extremidade de front-end disponíveis para regras de roteamento. FrontendEndpoint[]
healthProbeSettings Configurações de investigação de integridade associadas a esta instância do Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Configurações de balanceamento de carga associadas a esta instância do Front Door. LoadBalancingSettingsModel[]
routingRules Regras de roteamento associadas a este Front Door. RoutingRule[]

BackendPool

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades do pool de back-end do Front Door BackendPoolProperties

BackendPoolProperties

Nome Descrição Valor
Backends O conjunto de back-ends para esse pool Back-end[]
healthProbeSettings Configurações de investigação de integridade L7 para um pool de back-end SubResource
loadBalancingSettings Configurações de balanceamento de carga para um pool de back-end SubResource

Back-end

Nome Descrição Valor
address Localização do back-end (endereço IP ou FQDN) string
backendHostHeader O valor a ser usado como o cabeçalho de host enviado para o back-end. Se estiver em branco ou não for especificado, esse padrão será o host de entrada. string
enabledState Se deseja habilitar o uso desse back-end. Os valores permitidos são 'Enabled' ou 'Disabled' "Desabilitado"
"Habilitado"
httpPort O número da porta TCP do HTTP. Precisa estar entre 1 e 65535. INT
httpsPort O número da porta TCP do HTTPS. Precisa estar entre 1 e 65535. INT
priority A prioridade a ser usada para o balanceamento de carga. Prioridades mais altas não serão usadas para balanceamento de carga se qualquer back-end de prioridade mais baixa estiver íntegro. INT
privateLinkAlias O Alias do recurso Link Privado. Preencher esse campo opcional indica que esse back-end é 'Private' string
privateLinkApprovalMessage Uma mensagem personalizada a ser incluída na solicitação de aprovação para se conectar ao Link Privado string
privateLinkLocation O local do recurso Link Privado. Obrigatório somente se 'privateLinkResourceId' for preenchido string
privateLinkResourceId A ID do recurso de Link Privado. Preencher esse campo opcional indica que esse back-end é 'Private' string
peso O peso desse ponto de extremidade para fins de balanceamento de carga. INT

SubResource

Nome Descrição Valor
id ID do recurso. string

BackendPoolsSettings

Nome Descrição Valor
enforceCertificateNameCheck Se o nome do certificado deve ser marcar em solicitações HTTPS a todos os pools de back-end. Nenhum efeito em solicitações não HTTPS. "Desabilitado"
"Habilitado"
sendRecvTimeoutSeconds Enviar e receber tempo limite na solicitação de encaminhamento para o back-end. Quando o tempo limite é atingido, a solicitação falha e retorna. INT

FrontendEndpoint

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades do ponto de extremidade de front-end FrontendEndpointProperties

FrontendEndpointProperties

Nome Descrição Valor
hostName O nome de host do frontendEndpoint. Precisa ser um nome de domínio. string
sessionAffinityEnabledState Se deseja permitir a afinidade de sessão neste host. As opções válidas são 'Enabled' ou 'Disabled' "Desabilitado"
"Habilitado"
sessionAffinityTtlSeconds UTILIZADAS. Esse campo será ignorado. O TTL a ser usado em segundos para afinidade de sessão, se aplicável. INT
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicativo Web para cada host (se aplicável) FrontendEndpointUpdateParametersWebApplicationFirewa...

FrontendEndpointUpdateParametersWebApplicationFirewa...

Nome Descrição Valor
id ID do recurso. string

HealthProbeSettingsModel

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades das configurações de investigação de integridade HealthProbeSettingsProperties

HealthProbeSettingsProperties

Nome Descrição Valor
enabledState Se as investigações de integridade devem ser feitas em back-ends definidos em backendPools. Investigações de integridade só poderão ser desabilitadas se houver um único back-end habilitado em um único pool de back-end habilitado. "Desabilitado"
"Habilitado"
healthProbeMethod Configura qual método HTTP usar para investigar os back-ends definidos em backendPools. "GET"
"HEAD"
intervalInSeconds O número de segundos entre as investigações de integridade. INT
caminho O caminho a ser usado para a investigação de integridade. O padrão é / string
protocolo Esquema de protocolo a ser usado para esta investigação "Http"
"Https"

LoadBalancingSettingsModel

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades das configurações de balanceamento de carga LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Nome Descrição Valor
additionalLatencyMilliseconds A latência adicional em milissegundos para que as investigações caiam no bucket de latência mais baixo INT
sampleSize O número de exemplos a serem considerados para decisões de balanceamento de carga INT
successfulSamplesRequired O número de amostras dentro do período de exemplo que deve ter êxito INT

RoutingRule

Nome Descrição Valor
id ID do recurso. string
name Nome do recurso. string
properties Propriedades da regra de roteamento do Front Door RoutingRuleProperties

RoutingRuleProperties

Nome Descrição Valor
acceptedProtocols Esquemas de protocolo para corresponder a essa regra Matriz de cadeia de caracteres que contém qualquer um dos:
"Http"
"Https"
enabledState Se deseja habilitar o uso dessa regra. Os valores permitidos são 'Enabled' ou 'Disabled' "Desabilitado"
"Habilitado"
frontendEndpoints Pontos de extremidade de front-end associados a essa regra SubResource[]
patternsToMatch Os padrões de rota da regra. string[]
routeConfiguration Uma referência à configuração de roteamento. RouteConfiguration
rulesEngine Uma referência a uma configuração específica do Mecanismo de Regras a ser aplicada a essa rota. SubResource
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicativo Web para cada regra de roteamento (se aplicável) RoutingRuleUpdateParametersWebApplicationFirewallPol...

RouteConfiguration

Nome Descrição Valor
@odata.type Definir o tipo de objeto #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration
#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (obrigatório)

ForwardingConfiguration

Nome Descrição Valor
@odata.type "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration" (obrigatório)
backendPool Uma referência ao BackendPool para o qual essa regra roteia. SubResource
cacheConfiguration A configuração de cache associada a essa regra. CacheConfiguration
customForwardingPath Um caminho personalizado usado para reescrever caminhos de recursos correspondentes a essa regra. Deixe em branco para usar o caminho de entrada. string
forwardingProtocol O protocolo que essa regra usará ao encaminhar o tráfego aos back-ends. "HttpOnly"
"HttpsOnly"
"MatchRequest"

CacheConfiguration

Nome Descrição Valor
Cacheduration A duração para a qual o conteúdo precisa ser armazenado em cache. O formato permitido está no formato ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requer que o valor seja não mais do que um ano string
dynamicCompression Se deve usar a compactação dinâmica para conteúdo armazenado em cache "Desabilitado"
"Habilitado"
queryParameters parâmetros de consulta a serem incluídos ou excluídos (separados por vírgula). string
queryParameterStripDirective Tratamento de termos de consulta de URL ao formar a chave de cache. "StripAll"
"StripAllExcept"
"StripNone"
"StripOnly"

RedirectConfiguration

Nome Descrição Valor
@odata.type "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration" (obrigatório)
customFragment Fragmento a ser adicionado à URL de redirecionamento. Fragment é a parte da URL que vem após #. Não inclua o #. string
customHost Hospedar para redirecionar. Deixe vazio para usar o host de entrada como o host de destino. string
customPath O caminho completo para redirecionar. O caminho não pode estar vazio e deve começar com /. Deixe vazio para usar o caminho de entrada como caminho de destino. string
customQueryString O conjunto de cadeias de caracteres de consulta a serem colocadas na URL de redirecionamento. Definir esse valor substituiria qualquer cadeia de caracteres de consulta existente; deixe vazio para preservar a cadeia de caracteres de consulta de entrada. A cadeia de caracteres de consulta deve estar no formato {key}={value}. O primeiro? e & serão adicionados automaticamente, portanto, não os inclua na frente, mas separe várias cadeias de caracteres de consulta com &. string
redirectProtocol O protocolo do destino para onde o tráfego é redirecionado "HttpOnly"
"HttpsOnly"
"MatchRequest"
redirectType O tipo de redirecionamento que a regra usará ao redirecionar o tráfego. "Encontrado"
"Movido"
"PermanentRedirect"
"TemporaryRedirect"

RoutingRuleUpdateParametersWebApplicationFirewallPol...

Nome Descrição Valor
id ID do recurso. string