FrontDoors Microsoft.Network

Definição de recurso do Bicep

O tipo de recurso frontDoors pode ser implementado em:

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

Formato do recurso

Para criar um recurso Microsoft.Network/frontDoors, adicione o seguinte Bicep ao seu 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, utilize:

  '@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, utilize:

  '@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 (obrigatório)

Limite de carateres: 5-64

Carateres válidos:
Alfanuméricos e hífenes.

Comece e termine com alfanumérico.

O nome do recurso tem de ser exclusivo em todo o Azure.
localização Localização do recurso. string
etiquetas Etiquetas de recursos. Dicionário de nomes e valores de etiquetas. Ver Etiquetas em modelos
propriedades Propriedades do front door Balanceador de Carga FrontDoorProperties

FrontDoorProperties

Nome Descrição Valor
backendPools Conjuntos de back-end disponíveis para regras de encaminhamento. BackendPool[]
backendPoolsSettings Definições para todos os backendPools BackendPoolsSettings
enabledState Estado operacional do balanceador de carga do Front Door. Os valores permitidos são "Ativado" ou "Desativado" "Desativado"
"Ativado"
friendlyName Um nome amigável para o frontDoor string
frontendEndpoints Pontos finais de front-end disponíveis para regras de encaminhamento. FrontendEndpoint[]
healthProbeSettings Definições da pesquisa de estado de funcionamento associadas a esta instância do Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Definições de balanceamento de carga associadas a esta instância do Front Door. LoadBalancingSettingsModel[]
routingRules Regras de encaminhamento associadas a este Front Door. RoutingRule[]

BackendPool

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades do Conjunto de Back-end do Front Door BackendPoolProperties

BackendPoolProperties

Nome Descrição Valor
back-ends O conjunto de back-ends para este conjunto Back-end[]
healthProbeSettings Definições da sonda de estado de funcionamento L7 para um conjunto de back-end Sub-origem
loadBalancingSettings Definições de balanceamento de carga para um conjunto de back-end Sub-origem

Back-end

Nome Descrição Valor
address Localização do back-end (endereço IP ou FQDN) string
backendHostHeader O valor a utilizar como cabeçalho de anfitrião enviado para o back-end. Se estiver em branco ou não for especificado, esta predefinição é o anfitrião de entrada. string
enabledState Se pretende ativar a utilização deste back-end. Os valores permitidos são "Ativado" ou "Desativado" "Desativado"
"Ativado"
httpPort O número da porta TCP HTTP. Tem de estar entre 1 e 65535. int
httpsPort O número da porta TCP HTTPS. Tem de estar entre 1 e 65535. int
prioridade Prioridade a utilizar para balanceamento de carga. As prioridades mais elevadas não serão utilizadas para o balanceamento de carga se algum back-end de prioridade inferior estiver em bom estado de funcionamento. int
privateLinkAlias O Alias do recurso Private Link. Preencher este campo opcional indica que este back-end é "Privado" string
privateLinkApprovalMessage Uma mensagem personalizada a ser incluída no pedido de aprovação para ligar ao Private Link string
privateLinkLocation A localização do recurso Private Link. Necessário apenas se "privateLinkResourceId" for preenchido string
privateLinkResourceId O ID do Recurso do recurso Private Link. Preencher este campo opcional indica que este back-end é "Privado" string
peso Peso deste ponto final para fins de balanceamento de carga. int

Sub-origem

Nome Descrição Valor
ID ID do Recurso. string

BackendPoolsSettings

Nome Descrição Valor
enforceCertificateNameCheck Se pretende impor a verificação do nome do certificado em pedidos HTTPS para todos os conjuntos de back-end. Nenhum efeito nos pedidos não HTTPS. "Desativado"
"Ativado"
sendRecvTimeoutSeconds Enviar e receber tempo limite no pedido de reencaminhamento para o back-end. Quando o tempo limite é atingido, o pedido falha e devolve. int

FrontendEndpoint

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades do ponto final de Front-end FrontendEndpointProperties

FrontendEndpointProperties

Nome Descrição Valor
hostName O nome do anfitrião do frontendEndpoint. Tem de ser um nome de domínio. string
sessionAffinityEnabledState Se pretende permitir a afinidade de sessão neste anfitrião. As opções válidas são "Ativado" ou "Desativado" "Desativado"
"Ativado"
sessionAffinityTtlSeconds NÃO UTILIZADO. Este campo será ignorado. O TTL a utilizar em segundos para a afinidade de sessão, se aplicável. int
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicações Web para cada anfitrião (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
propriedades Propriedades das definições da sonda de estado de funcionamento HealthProbeSettingsProperties

HealthProbeSettingsProperties

Nome Descrição Valor
enabledState Se pretende permitir que as sondas de estado de funcionamento sejam efetuadas em back-ends definidos em backendPools. As sondas de estado de funcionamento só podem ser desativadas se existir um único back-end ativado no conjunto de back-end ativado único. "Desativado"
"Ativado"
healthProbeMethod Configura o método HTTP a utilizar para sondar os back-ends definidos em backendPools. 'GET'
'CABEÇA'
intervalInSeconds O número de segundos entre as sondas de estado de funcionamento. int
caminho O caminho a utilizar para a sonda de estado de funcionamento. A predefinição é / string
protocolo Esquema de protocolo a utilizar para esta sonda 'Http'
"Https"

LoadBalancingSettingsModel

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades das definições de balanceamento de carga LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Nome Descrição Valor
additionalLatencyMilliseconds A latência adicional em milissegundos para que as sondas caiam no registo de latência mais baixo int
sampleSize O número de amostras a considerar para decisões de balanceamento de carga int
successfulSamplesRequired O número de amostras no período de exemplo que tem de ser bem-sucedido int

RoutingRule

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades da Regra de Encaminhamento do Front Door RoutingRuleProperties

RoutingRuleProperties

Nome Descrição Valor
acceptedProtocols Esquemas de protocolo a corresponder a esta regra Matriz de cadeias que contém qualquer um dos seguintes:
'Http'
"Https"
enabledState Se pretende ativar a utilização desta regra. Os valores permitidos são "Ativado" ou "Desativado" "Desativado"
"Ativado"
frontendEndpoints Pontos finais de front-end associados a esta regra SubResource[]
patternsToMatch Os padrões de rota da regra. cadeia[]
routeConfiguration Uma referência à configuração de encaminhamento. RouteConfiguration
rulesEngine Uma referência a uma Configuração específica do Motor de Regras a aplicar a esta rota. Sub-origem
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicações Web para cada regra de encaminhamento (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 esta regra se encaminha. Sub-origem
cacheConfiguration A configuração de colocação em cache associada a esta regra. CacheConfiguration
customForwardingPath Um caminho personalizado utilizado para reescrever caminhos de recursos correspondentes a esta regra. Deixe vazio para utilizar o caminho de entrada. string
forwardingProtocol Protocolo que esta regra utilizará ao reencaminhar o tráfego para back-ends. "HttpOnly"
"HttpsOnly"
'MatchRequest'

CacheConfiguration

Nome Descrição Valor
cacheDuration A duração para a qual o conteúdo tem de ser colocado 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 pretende utilizar a compressão dinâmica para conteúdo em cache "Desativado"
"Ativado"
queryParameters parâmetros de consulta a incluir ou excluir (separados por vírgulas). string
queryParameterStripDirective Tratamento dos 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 para adicionar ao URL de redirecionamento. Fragmento é a parte do URL que vem depois de #. Não inclua o #. string
customHost Anfitrião a redirecionar. Deixe vazio para utilizar o anfitrião de entrada como anfitrião de destino. string
customPath O caminho completo para redirecionar. O caminho não pode estar vazio e tem de começar com /. Deixe vazio para utilizar o caminho de entrada como caminho de destino. string
customQueryString O conjunto de cadeias de consulta a colocar no URL de redirecionamento. Definir este valor substituiria qualquer cadeia de consulta existente; deixe em branco para preservar a cadeia de consulta de entrada. A cadeia de consulta tem de estar no formato {key}={value}. O primeiro ? e & serão adicionadas automaticamente, pelo que não as inclua na frente, mas separe várias cadeias 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 irá utilizar 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 seguintes modelos de início rápido implementam este tipo de recurso.

Modelo Description
Criar o Azure Front Door em frente ao Azure Gestão de API

Implementar no Azure
Este exemplo demonstra como utilizar o Azure Front Door como um balanceador de carga global em frente ao Azure Gestão de API.
Create a basic Front Door (Criar um Front Door básico)

Implementar no Azure
Este modelo cria uma configuração básica do Front Door com um único back-end.
Create Front Door with caching enabled for certain routes (Criar o Front Door com a colocação em cache ativada para determinadas rotas)

Implementar no Azure
Este modelo cria um Front Door com a colocação em cache ativada para a configuração de encaminhamento definida, colocando assim em cache quaisquer recursos estáticos para a carga de trabalho.
Criar um Front Door com vários back-ends e conjuntos de back-end

Implementar no Azure
Este modelo cria um Front Door com balanceamento de carga configurado para vários back-ends num conjunto de back-end e também em conjuntos de back-end com base no caminho do URL.
Criar um Front Door com redirecionamento HTTP para HTTPS

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

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

Implementar no Azure
Este modelo integra e protege um domínio personalizado com o Front Door com um certificado gerido pelo cliente
Control Health Probes for your backends on Front Door (Controlar as Sondas de Estado de Funcionamento dos back-ends no Front Door)

Implementar no Azure
Este modelo atualiza o Front Door para alterar as definições da pesquisa de estado de funcionamento ao definir o caminho da sonda e também os intervalos em que as pesquisas serão enviadas.
Criar o Front Door com Active-Standby configuração

Implementar no Azure
Este modelo cria um Front Door que demonstra o encaminhamento baseado na prioridade para Active-Standby topologia de aplicação.
Configure Session Affinity for your Front Door host names (Configurar a Afinidade de Sessão para os nomes de anfitrião do Front Door)

Implementar no Azure
Este modelo atualiza um Front Door para ativar a afinidade de sessão para o anfitrião de front-end, enviando assim tráfego subsequente da mesma sessão de utilizador para o mesmo back-end.

Definição de recurso do modelo arm

O tipo de recurso frontDoors pode ser implementado em:

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

Formato do recurso

Para criar um recurso Microsoft.Network/frontDoors, adicione o seguinte JSON ao seu 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, utilize:

  "@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, utilize:

  "@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 de recursos '2021-06-01'
name O nome do recurso cadeia (obrigatório)

Limite de carateres: 5-64

Carateres válidos:
Alfanuméricos e hífenes.

Comece e termine com alfanumérico.

O nome do recurso tem de ser exclusivo em todo o Azure.
localização Localização do recurso. string
etiquetas Etiquetas de recursos. Dicionário de nomes e valores de etiquetas. Ver Etiquetas em modelos
propriedades Propriedades do front door Balanceador de Carga FrontDoorProperties

FrontDoorProperties

Nome Descrição Valor
backendPools Conjuntos de back-end disponíveis para regras de encaminhamento. BackendPool[]
backendPoolsSettings Definições para todos os backendPools BackendPoolsSettings
enabledState Estado operacional do balanceador de carga do Front Door. Os valores permitidos são "Ativado" ou "Desativado" "Desativado"
"Ativado"
friendlyName Um nome amigável para o frontDoor string
frontendEndpoints Pontos finais de front-end disponíveis para regras de encaminhamento. FrontendEndpoint[]
healthProbeSettings Definições da pesquisa de estado de funcionamento associadas a esta instância do Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Definições de balanceamento de carga associadas a esta instância do Front Door. LoadBalancingSettingsModel[]
routingRules Regras de encaminhamento associadas a este Front Door. RoutingRule[]

BackendPool

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades do Conjunto de Back-end do Front Door BackendPoolProperties

BackendPoolProperties

Nome Descrição Valor
back-ends O conjunto de back-ends para este conjunto Back-end[]
healthProbeSettings Definições da sonda de estado de funcionamento L7 para um conjunto de back-end Sub-origem
loadBalancingSettings Definições de balanceamento de carga para um conjunto de back-end Sub-origem

Back-end

Nome Descrição Valor
address Localização do back-end (endereço IP ou FQDN) string
backendHostHeader O valor a utilizar como cabeçalho de anfitrião enviado para o back-end. Se estiver em branco ou não for especificado, esta predefinição é o anfitrião de entrada. string
enabledState Se pretende ativar a utilização deste back-end. Os valores permitidos são "Ativado" ou "Desativado" "Desativado"
"Ativado"
httpPort O número da porta TCP HTTP. Tem de estar entre 1 e 65535. int
httpsPort O número da porta TCP HTTPS. Tem de estar entre 1 e 65535. int
prioridade Prioridade a utilizar para balanceamento de carga. As prioridades mais elevadas não serão utilizadas para o balanceamento de carga se algum back-end de prioridade inferior estiver em bom estado de funcionamento. int
privateLinkAlias O Alias do recurso Private Link. Preencher este campo opcional indica que este back-end é "Privado" string
privateLinkApprovalMessage Uma mensagem personalizada a ser incluída no pedido de aprovação para ligar ao Private Link string
privateLinkLocation A localização do recurso Private Link. Necessário apenas se "privateLinkResourceId" for preenchido string
privateLinkResourceId O ID do Recurso do recurso Private Link. Preencher este campo opcional indica que este back-end é "Privado" string
peso Peso deste ponto final para fins de balanceamento de carga. int

Sub-origem

Nome Descrição Valor
ID ID do Recurso. string

BackendPoolsSettings

Nome Descrição Valor
enforceCertificateNameCheck Se pretende impor a verificação do nome do certificado em pedidos HTTPS para todos os conjuntos de back-end. Nenhum efeito nos pedidos não HTTPS. "Desativado"
"Ativado"
sendRecvTimeoutSeconds Enviar e receber tempo limite no pedido de reencaminhamento para o back-end. Quando o tempo limite é atingido, o pedido falha e devolve. int

FrontendEndpoint

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades do ponto final de Front-end FrontendEndpointProperties

FrontendEndpointProperties

Nome Descrição Valor
hostName O nome do anfitrião do frontendEndpoint. Tem de ser um nome de domínio. string
sessionAffinityEnabledState Se pretende permitir a afinidade de sessão neste anfitrião. As opções válidas são "Ativado" ou "Desativado" "Desativado"
"Ativado"
sessionAffinityTtlSeconds NÃO UTILIZADO. Este campo será ignorado. O TTL a utilizar em segundos para a afinidade de sessão, se aplicável. int
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicações Web para cada anfitrião (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
propriedades Propriedades das definições da sonda de estado de funcionamento HealthProbeSettingsProperties

HealthProbeSettingsProperties

Nome Descrição Valor
enabledState Se pretende permitir que as sondas de estado de funcionamento sejam efetuadas em back-ends definidos em backendPools. As sondas de estado de funcionamento só podem ser desativadas se existir um único back-end ativado no conjunto de back-end ativado único. "Desativado"
"Ativado"
healthProbeMethod Configura o método HTTP a utilizar para sondar os back-ends definidos em backendPools. 'GET'
'CABEÇA'
intervalInSeconds O número de segundos entre as sondas de estado de funcionamento. int
caminho O caminho a utilizar para a sonda de estado de funcionamento. A predefinição é / string
protocolo Esquema de protocolo a utilizar para esta sonda 'Http'
"Https"

LoadBalancingSettingsModel

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades das definições de balanceamento de carga LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Nome Descrição Valor
additionalLatencyMilliseconds A latência adicional em milissegundos para que as sondas caiam no registo de latência mais baixo int
sampleSize O número de amostras a considerar para decisões de balanceamento de carga int
successfulSamplesRequired O número de amostras no período de exemplo que tem de ser bem-sucedido int

RoutingRule

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades da Regra de Encaminhamento do Front Door RoutingRuleProperties

RoutingRuleProperties

Nome Descrição Valor
acceptedProtocols Esquemas de protocolo para corresponder a esta regra Matriz de cadeia que contém qualquer um dos seguintes:
'Http'
'Https'
enabledState Se pretende ativar a utilização desta regra. Os valores permitidos são "Ativado" ou "Desativado" "Desativado"
"Ativado"
frontendEndpoints Pontos finais de front-end associados a esta regra Subresource[]
patternsToMatch Os padrões de rota da regra. string[]
routeConfiguration Uma referência à configuração de encaminhamento. RouteConfiguration
rulesEngine Uma referência a uma Configuração específica do Motor de Regras a aplicar a esta rota. Sub-origem
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicações Web para cada regra de encaminhamento (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 esta regra encaminha. Sub-origem
cacheConfiguration A configuração de colocação em cache associada a esta regra. CacheConfiguration
customForwardingPath Um caminho personalizado utilizado para reescrever caminhos de recursos correspondentes a esta regra. Deixe vazio para utilizar o caminho de entrada. string
forwardingProtocol Protocolo que esta regra utilizará ao reencaminhar tráfego para back-ends. "HttpOnly"
"HttpsOnly"
'MatchRequest'

CacheConfiguration

Nome Descrição Valor
cacheDuration A duração para a qual o conteúdo tem de ser colocado 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 pretende utilizar a compressão dinâmica para conteúdo em cache "Desativado"
"Ativado"
queryParameters parâmetros de consulta a incluir ou excluir (separados por vírgulas). string
queryParameterStripDirective Tratamento dos 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 para adicionar ao URL de redirecionamento. Fragmento é a parte do URL que vem depois de #. Não inclua o #. string
customHost Anfitrião a redirecionar. Deixe vazio para utilizar o anfitrião de entrada como anfitrião de destino. string
customPath O caminho completo para redirecionar. O caminho não pode estar vazio e tem de começar com /. Deixe vazio para utilizar o caminho de entrada como caminho de destino. string
customQueryString O conjunto de cadeias de consulta a colocar no URL de redirecionamento. Definir este valor substituiria qualquer cadeia de consulta existente; deixe em branco para preservar a cadeia de consulta de entrada. A cadeia de consulta tem de estar no formato {key}={value}. O primeiro ? e & serão adicionadas automaticamente, pelo que não as inclua na frente, mas separe várias cadeias 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 irá utilizar 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 seguintes modelos de início rápido implementam este tipo de recurso.

Modelo Description
Criar o Azure Front Door em frente ao Azure Gestão de API

Implementar no Azure
Este exemplo demonstra como utilizar o Azure Front Door como um balanceador de carga global em frente ao Azure Gestão de API.
Create a basic Front Door (Criar um Front Door básico)

Implementar no Azure
Este modelo cria uma configuração básica do Front Door com um único back-end.
Create Front Door with caching enabled for certain routes (Criar o Front Door com a colocação em cache ativada para determinadas rotas)

Implementar no Azure
Este modelo cria um Front Door com a colocação em cache ativada para a configuração de encaminhamento definida, colocando assim em cache quaisquer recursos estáticos para a carga de trabalho.
Criar um Front Door com vários back-ends e conjuntos de back-end

Implementar no Azure
Este modelo cria um Front Door com balanceamento de carga configurado para vários back-ends num conjunto de back-end e também em conjuntos de back-end com base no caminho do URL.
Criar um Front Door com redirecionamento HTTP para HTTPS

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

Implementar 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

Implementar no Azure
Este modelo integra e protege um domínio personalizado com o Front Door com um certificado gerido pelo cliente
Control Health Probes for your backends on Front Door (Controlar as Sondas de Estado de Funcionamento dos back-ends no Front Door)

Implementar no Azure
Este modelo atualiza o Front Door para alterar as definições da sonda de estado de funcionamento ao definir o caminho da sonda e também os intervalos nos quais as sondas serão enviadas.
Criar o Front Door com Active-Standby configuração

Implementar no Azure
Este modelo cria um Front Door que demonstra o encaminhamento baseado em prioridades para a topologia da aplicação Active-Standby.
Configure Session Affinity for your Front Door host names (Configurar a Afinidade de Sessão para os nomes de anfitrião do Front Door)

Implementar no Azure
Este modelo atualiza um Front Door para ativar a afinidade de sessão para o anfitrião de front-end, enviando assim tráfego subsequente da mesma sessão de utilizador para o mesmo back-end.

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

O tipo de recurso frontDoors pode ser implementado em:

  • Grupos de recursos

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

Formato do recurso

Para criar um recurso Microsoft.Network/frontDoors, adicione o seguinte Terraform 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, utilize:

  @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, utilize:

  @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 (obrigatório)

Limite de carateres: 5-64

Carateres válidos:
Alfanuméricos e hífenes.

Comece e termine com alfanumérico.

O nome do recurso tem de ser exclusivo em todo o Azure.
localização Localização do recurso. string
parent_id Para implementar num grupo de recursos, utilize o ID desse grupo de recursos. cadeia (obrigatório)
etiquetas Etiquetas de recursos. Dicionário de nomes e valores de etiquetas.
propriedades Propriedades do front door Balanceador de Carga FrontDoorProperties

FrontDoorProperties

Nome Descrição Valor
backendPools Conjuntos de back-end disponíveis para regras de encaminhamento. BackendPool[]
backendPoolsSettings Definições para todos os backendPools BackendPoolsSettings
enabledState Estado operacional do balanceador de carga do Front Door. Os valores permitidos são "Ativado" ou "Desativado" "Desativado"
"Ativado"
friendlyName Um nome amigável para o frontDoor string
frontendEndpoints Pontos finais de front-end disponíveis para regras de encaminhamento. FrontendEndpoint[]
healthProbeSettings Definições da pesquisa de estado de funcionamento associadas a esta instância do Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Definições de balanceamento de carga associadas a esta instância do Front Door. LoadBalancingSettingsModel[]
routingRules Regras de encaminhamento associadas a este Front Door. RoutingRule[]

BackendPool

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades do Conjunto de Back-end do Front Door BackendPoolProperties

BackendPoolProperties

Nome Descrição Valor
back-ends O conjunto de back-ends para este conjunto Back-end[]
healthProbeSettings Definições da sonda de estado de funcionamento L7 para um conjunto de back-end Sub-origem
loadBalancingSettings Definições de balanceamento de carga para um conjunto de back-end Sub-origem

Back-end

Nome Descrição Valor
address Localização do back-end (endereço IP ou FQDN) string
backendHostHeader O valor a utilizar como cabeçalho de anfitrião enviado para o back-end. Se estiver em branco ou não for especificado, esta predefinição é o anfitrião de entrada. string
enabledState Se pretende ativar a utilização deste back-end. Os valores permitidos são "Ativado" ou "Desativado" "Desativado"
"Ativado"
httpPort O número da porta TCP HTTP. Tem de estar entre 1 e 65535. int
httpsPort O número da porta TCP HTTPS. Tem de estar entre 1 e 65535. int
prioridade Prioridade a utilizar para balanceamento de carga. As prioridades mais elevadas não serão utilizadas para o balanceamento de carga se algum back-end de prioridade inferior estiver em bom estado de funcionamento. int
privateLinkAlias O Alias do recurso Private Link. Preencher este campo opcional indica que este back-end é "Privado" string
privateLinkApprovalMessage Uma mensagem personalizada a ser incluída no pedido de aprovação para ligar ao Private Link string
privateLinkLocation A localização do recurso Private Link. Necessário apenas se "privateLinkResourceId" for preenchido string
privateLinkResourceId O ID do Recurso do recurso Private Link. Preencher este campo opcional indica que este back-end é "Privado" string
peso Peso deste ponto final para fins de balanceamento de carga. int

Sub-origem

Nome Descrição Valor
ID ID do Recurso. string

BackendPoolsSettings

Nome Descrição Valor
enforceCertificateNameCheck Se pretende impor a verificação do nome do certificado em pedidos HTTPS para todos os conjuntos de back-end. Nenhum efeito nos pedidos não HTTPS. "Desativado"
"Ativado"
sendRecvTimeoutSeconds Enviar e receber tempo limite no pedido de reencaminhamento para o back-end. Quando o tempo limite é atingido, o pedido falha e devolve. int

FrontendEndpoint

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades do ponto final de Front-end FrontendEndpointProperties

FrontendEndpointProperties

Nome Descrição Valor
hostName O nome do anfitrião do frontendEndpoint. Tem de ser um nome de domínio. string
sessionAffinityEnabledState Se pretende permitir a afinidade de sessão neste anfitrião. As opções válidas são "Ativado" ou "Desativado" "Desativado"
"Ativado"
sessionAffinityTtlSeconds NÃO UTILIZADO. Este campo será ignorado. O TTL a utilizar em segundos para a afinidade de sessão, se aplicável. int
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicações Web para cada anfitrião (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
propriedades Propriedades das definições da sonda de estado de funcionamento HealthProbeSettingsProperties

HealthProbeSettingsProperties

Nome Descrição Valor
enabledState Se pretende permitir que as sondas de estado de funcionamento sejam efetuadas em back-ends definidos em backendPools. As sondas de estado de funcionamento só podem ser desativadas se existir um único back-end ativado no conjunto de back-end ativado único. "Desativado"
"Ativado"
healthProbeMethod Configura o método HTTP a utilizar para sondar os back-ends definidos em backendPools. "GET"
"CABEÇA"
intervalInSeconds O número de segundos entre as sondas de estado de funcionamento. int
caminho O caminho a utilizar para a sonda de estado de funcionamento. A predefinição é / string
protocolo Esquema de protocolo a utilizar para esta sonda "Http"
"Https"

LoadBalancingSettingsModel

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades das definições de balanceamento de carga LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Nome Descrição Valor
additionalLatencyMilliseconds A latência adicional em milissegundos para que as sondas caiam no registo de latência mais baixo int
sampleSize O número de amostras a considerar para decisões de balanceamento de carga int
successfulSamplesRequired O número de amostras no período de exemplo que tem de ser bem-sucedido int

RoutingRule

Nome Descrição Valor
ID ID do Recurso. string
name Nome do recurso. string
propriedades Propriedades da Regra de Encaminhamento do Front Door RoutingRuleProperties

RoutingRuleProperties

Nome Descrição Valor
acceptedProtocols Esquemas de protocolo a corresponder a esta regra Matriz de cadeias que contém qualquer um dos seguintes:
"Http"
"Https"
enabledState Se pretende ativar a utilização desta regra. Os valores permitidos são "Ativado" ou "Desativado" "Desativado"
"Ativado"
frontendEndpoints Pontos finais de front-end associados a esta regra SubResource[]
patternsToMatch Os padrões de rota da regra. cadeia[]
routeConfiguration Uma referência à configuração de encaminhamento. RouteConfiguration
rulesEngine Uma referência a uma Configuração específica do Motor de Regras a aplicar a esta rota. Sub-origem
webApplicationFirewallPolicyLink Define a política de Firewall de Aplicações Web para cada regra de encaminhamento (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 esta regra se encaminha. Sub-origem
cacheConfiguration A configuração de colocação em cache associada a esta regra. CacheConfiguration
customForwardingPath Um caminho personalizado utilizado para reescrever caminhos de recursos correspondentes a esta regra. Deixe vazio para utilizar o caminho de entrada. string
forwardingProtocol Protocolo que esta regra utilizará ao reencaminhar tráfego para back-ends. "HttpOnly"
"HttpsOnly"
"MatchRequest"

CacheConfiguration

Nome Descrição Valor
cacheDuration A duração para a qual o conteúdo tem de ser colocado 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 pretende utilizar a compressão dinâmica para conteúdo em cache "Desativado"
"Ativado"
queryParameters parâmetros de consulta a incluir ou excluir (separados por vírgulas). string
queryParameterStripDirective Tratamento dos 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 para adicionar ao URL de redirecionamento. Fragmento é a parte do URL que vem depois de #. Não inclua o #. string
customHost Anfitrião a redirecionar. Deixe vazio para utilizar o anfitrião de entrada como anfitrião de destino. string
customPath O caminho completo para redirecionar. O caminho não pode estar vazio e tem de começar por /. Deixe vazio para utilizar o caminho de entrada como caminho de destino. string
customQueryString O conjunto de cadeias de consulta a colocar no URL de redirecionamento. Definir este valor substituiria qualquer cadeia de consulta existente; deixe em branco para preservar a cadeia de consulta de entrada. A cadeia de consulta tem de estar no formato {key}={value}. O primeiro ? e & serão adicionadas automaticamente, pelo que não as inclua na parte frontal, mas separe várias cadeias 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 utilizará ao redirecionar o tráfego. "Encontrado"
"Movido"
"PermanentRedirect"
"TemporaryRedirect"

RoutingRuleUpdateParametersWebApplicationFirewallPol...

Nome Descrição Valor
ID ID do Recurso. string