FrontDoors de Microsoft.Network

Definición de recursos de Bicep

El tipo de recurso frontDoors se puede implementar en:

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de los recursos

Para crear un recurso Microsoft.Network/frontDoors, agregue el siguiente bicep a la plantilla.

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

Establezca la propiedad @odata.type para especificar el 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 propiedad

frontDoors

Nombre Descripción Value
name El nombre del recurso string (obligatorio)

Límite de caracteres: 5-64

Caracteres válidos:
Caracteres alfanuméricos y guiones.

Comience y termine con un carácter alfanumérico.

El nombre del recurso debe ser único en Azure.
ubicación Ubicación del recurso string
etiquetas Etiquetas del recurso. Diccionario de nombres y valores de etiqueta. Consulte Etiquetas en plantillas.
properties Propiedades del Load Balancer de Front Door FrontDoorProperties

FrontDoorProperties

Nombre Descripción Valor
backendPools Grupos de back-end disponibles para las reglas de enrutamiento. BackendPool[]
backendPoolsSettings Configuración de todos los servidores back-endPool BackendPoolsSettings
enabledState Estado operativo del equilibrador de carga de Front Door. Los valores permitidos son "Enabled" o "Disabled" 'Deshabilitado'
'Habilitado'
friendlyName Un nombre descriptivo para frontDoor string
frontendEndpoints Puntos de conexión de front-end disponibles para las reglas de enrutamiento. FrontendEndpoint[]
healthProbeSettings Configuración del sondeo de mantenimiento asociada con esta instancia de Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Configuración de equilibrio de carga asociada con esta instancia de Front Door. LoadBalancingSettingsModel[]
routingRules Reglas de enrutamiento asociadas a esta instancia de Front Door. RoutingRule[]

BackendPool

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades del grupo de back-end de Front Door BackendPoolProperties

BackendPoolProperties

Nombre Descripción Valor
Backends Conjunto de back-end para este grupo Back-end[]
healthProbeSettings Configuración del sondeo de estado L7 para un grupo de back-end SubResource
loadBalancingSettings Configuración de equilibrio de carga para un grupo de back-end SubResource

Back-end

Nombre Descripción Valor
address Ubicación del servidor back-end (dirección IP o FQDN) string
backendHostHeader Valor que se usará como el encabezado de host que se envía al servidor back-end. Si está en blanco o no especificado, este valor predeterminado es el host entrante. string
enabledState Si desea habilitar el uso de este servidor back-end. Los valores permitidos son "Enabled" o "Disabled" 'Deshabilitado'
'Habilitado'
httpPort Número de puerto TCP de HTTP. Debe estar entre 1 y 65535. int
httpsPort Número de puerto TCP de HTTPS. Debe estar entre 1 y 65535. int
priority Prioridad que se usará para el equilibrio de carga. Las prioridades más altas no se usarán para el equilibrio de carga si algún back-end de prioridad inferior es correcto. int
privateLinkAlias Alias del recurso Private Link. Rellenar este campo opcional indica que este back-end es "Privado". string
privateLinkApprovalMessage Mensaje personalizado que se va a incluir en la solicitud de aprobación para conectarse al Private Link string
privateLinkLocation Ubicación del recurso Private Link. Solo es necesario si se rellena "privateLinkResourceId". string
privateLinkResourceId Identificador de recurso del recurso Private Link. Rellenar este campo opcional indica que este back-end es "Privado". string
peso Peso de este punto de conexión con fines de equilibrio de carga. int

SubResource

Nombre Descripción Value
id Identificador del recurso. string

BackendPoolsSettings

Nombre Descripción Valor
enforceCertificateNameCheck Si se debe aplicar la comprobación del nombre del certificado en las solicitudes HTTPS a todos los grupos de back-end. No hay ningún efecto en las solicitudes que no son HTTPS. 'Deshabilitado'
'Habilitado'
sendRecvTimeoutSeconds Enviar y recibir tiempo de espera al reenviar la solicitud al back-end. Cuando se alcanza el tiempo de espera, se produce un error en la solicitud y se devuelve. int

FrontendEndpoint

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades del punto de conexión de front-end FrontendEndpointProperties

FrontendEndpointProperties

Nombre Descripción Valor
hostName El nombre de host de frontendEndpoint. Debe ser un nombre de dominio. string
sessionAffinityEnabledState Si desea permitir la afinidad de sesiones en este host. Las opciones válidas son "Habilitado" o "Deshabilitado". 'Deshabilitado'
'Habilitado'
sessionAffinityTtlSeconds INUSITADO. Se omitirá este campo. El TTL para usar en segundos para la afinidad de sesiones, si corresponde. int
webApplicationFirewallPolicyLink Define la directiva de Web Application Firewall para cada host (si procede) FrontendEndpointUpdateParametersWebApplicationFirewa...

FrontendEndpointUpdateParametersWebApplicationFirewa...

Nombre Descripción Value
id Identificador del recurso. string

HealthProbeSettingsModel

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades de la configuración del sondeo de estado HealthProbeSettingsProperties

HealthProbeSettingsProperties

Nombre Descripción Valor
enabledState Si se habilitan los sondeos de estado que se van a realizar en back-end definidos en backendPools. Los sondeos de estado solo se pueden deshabilitar si hay un único back-end habilitado en un único grupo de back-end habilitado. 'Deshabilitado'
'Habilitado'
healthProbeMethod Configura qué método HTTP se va a usar para sondear los back-end definidos en backendPools. 'GET'
'HEAD'
intervalInSeconds Número de segundos entre sondeos de estado. int
path Ruta de acceso del sondeo de estado. El valor predeterminado es / string
protocol Esquema de protocolo que se va a usar para este sondeo 'Http'
'Https'

LoadBalancingSettingsModel

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades de la configuración de equilibrio de carga LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Nombre Descripción Valor
additionalLatencyMilliseconds Latencia adicional en milisegundos para que los sondeos entren en el cubo de latencia más baja. int
sampleSize El número de ejemplos que se deben tener en cuenta para tomar decisiones de equilibrio de carga int
successfulSamplesRequired El número de muestras dentro del período de muestra que debe realizarse correctamente. int

RoutingRule

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades de la regla de enrutamiento de Front Door RoutingRuleProperties

RoutingRuleProperties

Nombre Descripción Valor
acceptedProtocols Esquemas de protocolo para que coincidan con esta regla Matriz de cadenas que contiene cualquiera de:
'Http'
'Https'
enabledState Si desea habilitar el uso de esta regla. Los valores permitidos son "Enabled" o "Disabled" 'Deshabilitado'
'Habilitado'
frontendEndpoints Puntos de conexión de front-end asociados a esta regla SubResource[]
patternsToMatch Patrones de ruta de la regla. string[]
routeConfiguration Referencia a la configuración de enrutamiento. RouteConfiguration
rulesEngine Referencia a una configuración específica del motor de reglas que se aplicará a esta ruta. SubResource
webApplicationFirewallPolicyLink Define la directiva de Web Application Firewall para cada regla de enrutamiento (si procede) RoutingRuleUpdateParametersWebApplicationFirewallPol...

RouteConfiguration

Nombre Descripción Valor
@odata.type Establecimiento del tipo de objeto #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration
#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (obligatorio)

ForwardingConfiguration

Nombre Descripción Valor
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' (obligatorio)
backendPool Referencia a BackendPool a la que se enruta esta regla. SubResource
cacheConfiguration Configuración de almacenamiento en caché asociada a esta regla. CacheConfiguration
customForwardingPath Ruta de acceso personalizada que se usa para reescribir las rutas de acceso de recursos coincidentes con esta regla. Déjela en blanco para usar la ruta de acceso entrante. string
forwardingProtocol Protocolo que usará esta regla al reenviar el tráfico a los servidores back-end. 'HttpOnly'
'HttpsOnly'
'MatchRequest'

CacheConfiguration

Nombre Descripción Valor
cacheDuration Duración durante la que se debe almacenar en caché el contenido. El formato permitido está en formato ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requiere que el valor no sea superior a un año. string
dynamicCompression Si se debe usar la compresión dinámica para el contenido almacenado en caché 'Deshabilitado'
'Habilitado'
queryParameters parámetros de consulta para incluir o excluir (separados por comas). string
queryParameterStripDirective Tratamiento de los términos de consulta de dirección URL al formar la clave de caché. 'StripAll'
'StripAllExcept'
'StripNone'
'StripOnly'

RedirectConfiguration

Nombre Descripción Valor
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration' (obligatorio)
customFragment Fragmento que se va a agregar a la dirección URL de redireccionamiento. Fragment es la parte de la dirección URL que viene después de #. No incluya #. string
customHost Host para redirigir. Deje vacío para usar el host entrante como host de destino. string
customPath Ruta de acceso completa que se va a redirigir. La ruta de acceso no puede estar vacía y debe comenzar con /. Deje vacío para usar la ruta de acceso entrante como ruta de acceso de destino. string
customQueryString Conjunto de cadenas de consulta que se van a colocar en la dirección URL de redireccionamiento. Establecer este valor reemplazaría cualquier cadena de consulta existente; deje vacío para conservar la cadena de consulta entrante. La cadena de consulta debe tener el formato {key}={value}. ¿La primera? y & se agregarán automáticamente, por lo que no los incluyan en el frente, sino que separe varias cadenas de consulta con &. string
redirectProtocol Protocolo del destino al que se redirige el tráfico. 'HttpOnly'
'HttpsOnly'
'MatchRequest'
redirectType El tipo de redireccionamiento que usará la regla al redirigir el tráfico. 'Encontrado'
'Movido'
'PermanentRedirect'
'TemporaryRedirect'

RoutingRuleUpdateParametersWebApplicationFirewallPol...

Nombre Descripción Value
id Identificador del recurso. string

Plantillas de inicio rápido

Las siguientes plantillas de inicio rápido implementan este tipo de recurso.

Plantilla Descripción
Creación de Azure Front Door delante de Azure API Management

Implementación en Azure
En este ejemplo se muestra cómo usar Azure Front Door como equilibrador de carga global delante de Azure API Management.
Create a basic Front Door

Implementación en Azure
Esta plantilla crea una configuración básica de Front Door con un único back-end.
Create Front Door with caching enabled for certain routes

Implementación en Azure
Esta plantilla crea una instancia de Front Door con almacenamiento en caché habilitado para la configuración de enrutamiento definida, por lo que almacena en caché los recursos estáticos de la carga de trabajo.
Creación de una instancia de Front Door con varios back-end y grupos de back-end

Implementación en Azure
Esta plantilla crea una instancia de Front Door con equilibrio de carga configurado para varios back-end en un grupo de back-end y también entre grupos de back-end en función de la ruta de acceso de dirección URL.
Creación de una instancia de Front Door con redireccionamiento HTTP a HTTPS

Implementación en Azure
Esta plantilla crea una configuración de Front Door para el redireccionamiento HTTP a HTTPS.
Incorporación de un dominio personalizado y un certificado administrado con Front Door

Implementación en Azure
Esta plantilla incorpora y protege un dominio personalizado con Front Door
Incorporación de un dominio personalizado y un certificado personalizado con Front Door

Implementación en Azure
Esta plantilla incorpora y protege un dominio personalizado con Front Door con un certificado administrado por el cliente.
Control Health Probes for your backends on Front Door

Implementación en Azure
Esta plantilla actualiza Front Door para cambiar la configuración del sondeo de estado estableciendo la ruta de acceso del sondeo y también los intervalos en los que se enviarán los sondeos.
Creación de Front Door con Active-Standby configuración

Implementación en Azure
Esta plantilla crea una instancia de Front Door que muestra el enrutamiento basado en prioridad para Active-Standby topología de aplicación.
Configure Session Affinity for your Front Door host names

Implementación en Azure
Esta plantilla actualiza una instancia de Front Door para habilitar la afinidad de sesión para el host de front-end, por lo que envía tráfico posterior desde la misma sesión de usuario al mismo back-end.

Definición de recursos de plantilla de ARM

El tipo de recurso frontDoors se puede implementar en:

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de los recursos

Para crear un recurso Microsoft.Network/frontDoors, agregue el siguiente json a la plantilla.

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

Establezca la propiedad @odata.type para especificar el 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 propiedad

frontDoors

Nombre Descripción Value
type Tipo de recurso 'Microsoft.Network/frontDoors'
apiVersion La versión de la API de recursos '2021-06-01'
name El nombre del recurso string (obligatorio)

Límite de caracteres: 5-64

Caracteres válidos:
Caracteres alfanuméricos y guiones.

Comience y termine con un carácter alfanumérico.

El nombre del recurso debe ser único en Azure.
ubicación Ubicación del recurso string
etiquetas Etiquetas del recurso. Diccionario de nombres y valores de etiqueta. Consulte Etiquetas en plantillas.
properties Propiedades del Load Balancer de Front Door FrontDoorProperties

FrontDoorProperties

Nombre Descripción Valor
backendPools Grupos de back-end disponibles para las reglas de enrutamiento. BackendPool[]
backendPoolsSettings Configuración de todos los servidores back-endPool BackendPoolsSettings
enabledState Estado operativo del equilibrador de carga de Front Door. Los valores permitidos son "Enabled" o "Disabled" 'Deshabilitado'
'Habilitado'
friendlyName Un nombre descriptivo para frontDoor string
frontendEndpoints Puntos de conexión de front-end disponibles para las reglas de enrutamiento. FrontendEndpoint[]
healthProbeSettings Configuración del sondeo de mantenimiento asociada con esta instancia de Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Configuración de equilibrio de carga asociada con esta instancia de Front Door. LoadBalancingSettingsModel[]
routingRules Reglas de enrutamiento asociadas a esta instancia de Front Door. RoutingRule[]

BackendPool

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades del grupo de back-end de Front Door BackendPoolProperties

BackendPoolProperties

Nombre Descripción Valor
Backends Conjunto de back-end para este grupo Back-end[]
healthProbeSettings Configuración del sondeo de estado L7 para un grupo de back-end SubResource
loadBalancingSettings Configuración de equilibrio de carga para un grupo de back-end SubResource

Back-end

Nombre Descripción Valor
address Ubicación del servidor back-end (dirección IP o FQDN) string
backendHostHeader Valor que se usará como el encabezado de host que se envía al servidor back-end. Si está en blanco o no especificado, este valor predeterminado es el host entrante. string
enabledState Si desea habilitar el uso de este servidor back-end. Los valores permitidos son "Enabled" o "Disabled" 'Deshabilitado'
'Habilitado'
httpPort Número de puerto TCP de HTTP. Debe estar entre 1 y 65535. int
httpsPort Número de puerto TCP de HTTPS. Debe estar entre 1 y 65535. int
priority Prioridad que se usará para el equilibrio de carga. Las prioridades más altas no se usarán para el equilibrio de carga si algún back-end de prioridad inferior es correcto. int
privateLinkAlias Alias del recurso Private Link. Rellenar este campo opcional indica que este back-end es "Privado". string
privateLinkApprovalMessage Mensaje personalizado que se incluirá en la solicitud de aprobación para conectarse al Private Link string
privateLinkLocation Ubicación del recurso Private Link. Solo se requiere si se rellena "privateLinkResourceId" string
privateLinkResourceId Identificador de recurso del recurso Private Link. Rellenar este campo opcional indica que este back-end es "Privado". string
peso Peso de este punto de conexión con fines de equilibrio de carga. int

SubResource

Nombre Descripción Value
id Identificador del recurso. string

BackendPoolsSettings

Nombre Descripción Valor
enforceCertificateNameCheck Si se debe aplicar la comprobación de nombres de certificado en las solicitudes HTTPS a todos los grupos de back-end. No hay ningún efecto en las solicitudes que no son HTTPS. 'Deshabilitado'
'Habilitado'
sendRecvTimeoutSeconds Enviar y recibir el tiempo de espera en la solicitud de reenvío al back-end. Cuando se alcanza el tiempo de espera, se produce un error en la solicitud y se devuelve. int

FrontendEndpoint

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades del punto de conexión de front-end FrontendEndpointProperties

FrontendEndpointProperties

Nombre Descripción Valor
hostName El nombre de host de frontendEndpoint. Debe ser un nombre de dominio. string
sessionAffinityEnabledState Si desea permitir la afinidad de sesiones en este host. Las opciones válidas son "Enabled" o "Disabled" 'Deshabilitado'
'Habilitado'
sessionAffinityTtlSeconds INUSITADO. Se omitirá este campo. El TTL para usar en segundos para la afinidad de sesiones, si corresponde. int
webApplicationFirewallPolicyLink Define la directiva de Web Application Firewall para cada host (si procede) FrontendEndpointUpdateParametersWebApplicationFirewa...

FrontendEndpointUpdateParametersWebApplicationFirewa...

Nombre Descripción Value
id Identificador del recurso. string

HealthProbeSettingsModel

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades de la configuración del sondeo de estado HealthProbeSettingsProperties

HealthProbeSettingsProperties

Nombre Descripción Valor
enabledState Si se habilitan los sondeos de estado que se van a realizar en back-end definidos en backendPools. Los sondeos de estado solo se pueden deshabilitar si hay un único back-end habilitado en un único grupo de back-end habilitado. 'Deshabilitado'
'Habilitado'
healthProbeMethod Configura qué método HTTP se va a usar para sondear los back-end definidos en backendPools. 'GET'
'HEAD'
intervalInSeconds Número de segundos entre sondeos de estado. int
path Ruta de acceso del sondeo de estado. El valor predeterminado es / string
protocol Esquema de protocolo que se va a usar para este sondeo 'Http'
'Https'

LoadBalancingSettingsModel

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades de la configuración de equilibrio de carga LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Nombre Descripción Valor
additionalLatencyMilliseconds Latencia adicional en milisegundos para que los sondeos entren en el cubo de latencia más baja. int
sampleSize El número de ejemplos que se deben tener en cuenta para tomar decisiones de equilibrio de carga int
successfulSamplesRequired El número de muestras dentro del período de muestra que debe realizarse correctamente. int

RoutingRule

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades de la regla de enrutamiento de Front Door RoutingRuleProperties

RoutingRuleProperties

Nombre Descripción Valor
acceptedProtocols Esquemas de protocolo para que coincidan con esta regla Matriz de cadenas que contiene cualquiera de:
'Http'
'Https'
enabledState Si desea habilitar el uso de esta regla. Los valores permitidos son "Enabled" o "Disabled" 'Deshabilitado'
'Habilitado'
frontendEndpoints Puntos de conexión de front-end asociados a esta regla SubResource[]
patternsToMatch Patrones de ruta de la regla. string[]
routeConfiguration Referencia a la configuración de enrutamiento. RouteConfiguration
rulesEngine Referencia a una configuración específica del motor de reglas que se aplicará a esta ruta. SubResource
webApplicationFirewallPolicyLink Define la directiva de Web Application Firewall para cada regla de enrutamiento (si procede) RoutingRuleUpdateParametersWebApplicationFirewallPol...

RouteConfiguration

Nombre Descripción Valor
@odata.type Establecimiento del tipo de objeto #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration
#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (obligatorio)

ForwardingConfiguration

Nombre Descripción Valor
@odata.type '#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration' (obligatorio)
backendPool Referencia a BackendPool a la que se enruta esta regla. SubResource
cacheConfiguration Configuración de almacenamiento en caché asociada a esta regla. CacheConfiguration
customForwardingPath Ruta de acceso personalizada que se usa para reescribir las rutas de acceso de recursos coincidentes con esta regla. Déjela en blanco para usar la ruta de acceso entrante. string
forwardingProtocol Protocolo que usará esta regla al reenviar el tráfico a los servidores back-end. 'HttpOnly'
'HttpsOnly'
'MatchRequest'

CacheConfiguration

Nombre Descripción Valor
cacheDuration Duración durante la que se debe almacenar en caché el contenido. El formato permitido está en formato ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requiere que el valor no sea superior a un año. string
dynamicCompression Si se debe usar la compresión dinámica para el contenido almacenado en caché 'Deshabilitado'
'Habilitado'
queryParameters parámetros de consulta para incluir o excluir (separados por comas). string
queryParameterStripDirective Tratamiento de los términos de consulta de dirección URL al formar la clave de caché. 'StripAll'
'StripAllExcept'
'StripNone'
'StripOnly'

RedirectConfiguration

Nombre Descripción Valor
@odata.type "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration" (obligatorio)
customFragment Fragmento que se va a agregar a la dirección URL de redireccionamiento. Fragmento es la parte de la dirección URL que viene después de #. No incluya el archivo #. string
customHost Host para redirigir. Deje vacío para usar el host entrante como host de destino. string
customPath Ruta de acceso completa que se va a redirigir. La ruta de acceso no puede estar vacía y debe comenzar con /. Deje vacío para usar la ruta de acceso entrante como ruta de acceso de destino. string
customQueryString Conjunto de cadenas de consulta que se colocarán en la dirección URL de redireccionamiento. Establecer este valor reemplazaría cualquier cadena de consulta existente; deje vacío para conservar la cadena de consulta entrante. La cadena de consulta debe tener el formato {key}={value}. ¿La primera? y & se agregarán automáticamente, por lo que no los incluyan en el frente, pero separe varias cadenas de consulta con &. string
redirectProtocol Protocolo del destino al que se redirige el tráfico. 'HttpOnly'
"HttpsOnly"
'MatchRequest'
redirectType El tipo de redireccionamiento que usará la regla al redirigir el tráfico. 'Encontrado'
"Movido"
'PermanentRedirect'
'TemporaryRedirect'

RoutingRuleUpdateParametersWebApplicationFirewallPol...

Nombre Descripción Value
id Identificador del recurso. string

Plantillas de inicio rápido

Las siguientes plantillas de inicio rápido implementan este tipo de recurso.

Plantilla Descripción
Creación de Azure Front Door delante de Azure API Management

Implementación en Azure
En este ejemplo se muestra cómo usar Azure Front Door como equilibrador de carga global delante de Azure API Management.
Create a basic Front Door

Implementación en Azure
Esta plantilla crea una configuración básica de Front Door con un único back-end.
Create Front Door with caching enabled for certain routes

Implementación en Azure
Esta plantilla crea una instancia de Front Door con almacenamiento en caché habilitado para la configuración de enrutamiento definida, por lo que almacena en caché los recursos estáticos de la carga de trabajo.
Creación de una instancia de Front Door con varios back-end y grupos de back-end

Implementación en Azure
Esta plantilla crea una instancia de Front Door con equilibrio de carga configurado para varios back-end en un grupo de back-end y también entre grupos de back-end en función de la ruta de acceso url.
Creación de una instancia de Front Door con redireccionamiento HTTP a HTTPS

Implementación en Azure
Esta plantilla crea una configuración de Front Door para el redireccionamiento HTTP a HTTPS.
Adición de un dominio personalizado y un certificado administrado con Front Door

Implementación en Azure
Esta plantilla incorpora y protege un dominio personalizado con Front Door
Adición de un dominio personalizado y un certificado personalizado con Front Door

Implementación en Azure
Esta plantilla incorpora y protege un dominio personalizado con Front Door con un certificado administrado por el cliente
Control Health Probes for your backends on Front Door

Implementación en Azure
Esta plantilla actualiza Front Door para cambiar la configuración del sondeo de estado estableciendo la ruta de acceso del sondeo y también los intervalos en los que se enviarán los sondeos.
Creación de Front Door con Active-Standby configuración

Implementación en Azure
Esta plantilla crea una instancia de Front Door que muestra el enrutamiento basado en prioridad para Active-Standby topología de aplicación.
Configure Session Affinity for your Front Door host names

Implementación en Azure
Esta plantilla actualiza una instancia de Front Door para habilitar la afinidad de sesión para el host de front-end, por lo que envía tráfico posterior desde la misma sesión de usuario al mismo back-end.

Definición de recursos de Terraform (proveedor AzAPI)

El tipo de recurso frontDoors se puede implementar en:

  • Grupos de recursos

Para obtener una lista de las propiedades modificadas en cada versión de api, consulte registro de cambios.

Formato de los recursos

Para crear un recurso Microsoft.Network/frontDoors, agregue el siguiente terraform a la plantilla.

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

Establezca la propiedad @odata.type para especificar el 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 propiedad

frontDoors

Nombre Descripción Value
type Tipo de recurso "Microsoft.Network/frontDoors@2021-06-01"
name El nombre del recurso string (obligatorio)

Límite de caracteres: 5-64

Caracteres válidos:
Caracteres alfanuméricos y guiones.

Comience y termine con un carácter alfanumérico.

El nombre del recurso debe ser único en Azure.
ubicación Ubicación del recurso string
parent_id Para realizar la implementación en un grupo de recursos, use el identificador de ese grupo de recursos. string (obligatorio)
etiquetas Etiquetas del recurso. Diccionario de nombres y valores de etiqueta.
properties Propiedades del Load Balancer de Front Door FrontDoorProperties

FrontDoorProperties

Nombre Descripción Valor
backendPools Grupos de back-end disponibles para las reglas de enrutamiento. BackendPool[]
backendPoolsSettings Configuración de todos los servidores back-endPool BackendPoolsSettings
enabledState Estado operativo del equilibrador de carga de Front Door. Los valores permitidos son "Enabled" o "Disabled" "Deshabilitado"
"Habilitado"
friendlyName Un nombre descriptivo para frontDoor string
frontendEndpoints Puntos de conexión de front-end disponibles para las reglas de enrutamiento. FrontendEndpoint[]
healthProbeSettings Configuración del sondeo de mantenimiento asociada con esta instancia de Front Door. HealthProbeSettingsModel[]
loadBalancingSettings Configuración de equilibrio de carga asociada con esta instancia de Front Door. LoadBalancingSettingsModel[]
routingRules Reglas de enrutamiento asociadas a esta instancia de Front Door. RoutingRule[]

BackendPool

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades del grupo de back-end de Front Door BackendPoolProperties

BackendPoolProperties

Nombre Descripción Valor
Backends Conjunto de back-end para este grupo Back-end[]
healthProbeSettings Configuración del sondeo de estado L7 para un grupo de back-end SubResource
loadBalancingSettings Configuración de equilibrio de carga para un grupo de back-end SubResource

Back-end

Nombre Descripción Valor
address Ubicación del servidor back-end (dirección IP o FQDN) string
backendHostHeader Valor que se usará como el encabezado de host que se envía al servidor back-end. Si está en blanco o no especificado, este valor predeterminado es el host entrante. string
enabledState Si desea habilitar el uso de este servidor back-end. Los valores permitidos son "Enabled" o "Disabled" "Deshabilitado"
"Habilitado"
httpPort Número de puerto TCP de HTTP. Debe estar entre 1 y 65535. int
httpsPort Número de puerto TCP de HTTPS. Debe estar entre 1 y 65535. int
priority Prioridad que se usará para el equilibrio de carga. Las prioridades más altas no se usarán para el equilibrio de carga si algún back-end de prioridad inferior es correcto. int
privateLinkAlias Alias del recurso Private Link. Rellenar este campo opcional indica que este back-end es "Privado". string
privateLinkApprovalMessage Mensaje personalizado que se incluirá en la solicitud de aprobación para conectarse al Private Link string
privateLinkLocation Ubicación del recurso Private Link. Solo se requiere si se rellena "privateLinkResourceId" string
privateLinkResourceId Identificador de recurso del recurso Private Link. Rellenar este campo opcional indica que este back-end es "Privado". string
peso Peso de este punto de conexión con fines de equilibrio de carga. int

SubResource

Nombre Descripción Value
id Identificador del recurso. string

BackendPoolsSettings

Nombre Descripción Valor
enforceCertificateNameCheck Si se debe aplicar la comprobación de nombres de certificado en las solicitudes HTTPS a todos los grupos de back-end. No hay ningún efecto en las solicitudes que no son HTTPS. "Deshabilitado"
"Habilitado"
sendRecvTimeoutSeconds Enviar y recibir el tiempo de espera en la solicitud de reenvío al back-end. Cuando se alcanza el tiempo de espera, se produce un error en la solicitud y se devuelve. int

FrontendEndpoint

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades del punto de conexión de front-end FrontendEndpointProperties

FrontendEndpointProperties

Nombre Descripción Valor
hostName El nombre de host de frontendEndpoint. Debe ser un nombre de dominio. string
sessionAffinityEnabledState Si desea permitir la afinidad de sesiones en este host. Las opciones válidas son "Enabled" o "Disabled" "Deshabilitado"
"Habilitado"
sessionAffinityTtlSeconds INUSITADO. Se omitirá este campo. El TTL para usar en segundos para la afinidad de sesiones, si corresponde. int
webApplicationFirewallPolicyLink Define la directiva de Web Application Firewall para cada host (si procede) FrontendEndpointUpdateParametersWebApplicationFirewa...

FrontendEndpointUpdateParametersWebApplicationFirewa...

Nombre Descripción Value
id Identificador del recurso. string

HealthProbeSettingsModel

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades de la configuración del sondeo de estado HealthProbeSettingsProperties

HealthProbeSettingsProperties

Nombre Descripción Valor
enabledState Si se habilitan los sondeos de estado que se van a realizar en back-end definidos en backendPools. Los sondeos de estado solo se pueden deshabilitar si hay un único back-end habilitado en un único grupo de back-end habilitado. "Deshabilitado"
"Habilitado"
healthProbeMethod Configura qué método HTTP se va a usar para sondear los back-end definidos en backendPools. "GET"
"HEAD"
intervalInSeconds Número de segundos entre sondeos de estado. int
path Ruta de acceso del sondeo de estado. El valor predeterminado es / string
protocol Esquema de protocolo que se va a usar para este sondeo "Http"
"Https"

LoadBalancingSettingsModel

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades de la configuración de equilibrio de carga LoadBalancingSettingsProperties

LoadBalancingSettingsProperties

Nombre Descripción Valor
additionalLatencyMilliseconds Latencia adicional en milisegundos para que los sondeos entren en el cubo de latencia más baja. int
sampleSize El número de ejemplos que se deben tener en cuenta para tomar decisiones de equilibrio de carga int
successfulSamplesRequired El número de muestras dentro del período de muestra que debe realizarse correctamente. int

RoutingRule

Nombre Descripción Value
id Identificador del recurso. string
name Nombre del recurso. string
properties Propiedades de la regla de enrutamiento de Front Door RoutingRuleProperties

RoutingRuleProperties

Nombre Descripción Valor
acceptedProtocols Esquemas de protocolo para que coincidan con esta regla Matriz de cadenas que contiene cualquiera de:
"Http"
"Https"
enabledState Si desea habilitar el uso de esta regla. Los valores permitidos son "Enabled" o "Disabled" "Deshabilitado"
"Habilitado"
frontendEndpoints Puntos de conexión de front-end asociados a esta regla SubResource[]
patternsToMatch Patrones de ruta de la regla. string[]
routeConfiguration Referencia a la configuración de enrutamiento. RouteConfiguration
rulesEngine Referencia a una configuración específica del motor de reglas que se aplicará a esta ruta. SubResource
webApplicationFirewallPolicyLink Define la directiva de Web Application Firewall para cada regla de enrutamiento (si procede) RoutingRuleUpdateParametersWebApplicationFirewallPol...

RouteConfiguration

Nombre Descripción Valor
@odata.type Establecimiento del tipo de objeto #Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration
#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration (obligatorio)

ForwardingConfiguration

Nombre Descripción Valor
@odata.type "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration" (obligatorio)
backendPool Referencia a BackendPool a la que se enruta esta regla. SubResource
cacheConfiguration Configuración de almacenamiento en caché asociada a esta regla. CacheConfiguration
customForwardingPath Ruta de acceso personalizada que se usa para reescribir las rutas de acceso de recursos coincidentes con esta regla. Déjela en blanco para usar la ruta de acceso entrante. string
forwardingProtocol Protocolo que usará esta regla al reenviar el tráfico a los servidores back-end. "HttpOnly"
"HttpsOnly"
"MatchRequest"

CacheConfiguration

Nombre Descripción Valor
cacheDuration Duración durante la que se debe almacenar en caché el contenido. El formato permitido está en formato ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601#Durations). HTTP requiere que el valor no sea superior a un año. string
dynamicCompression Si se debe usar la compresión dinámica para el contenido almacenado en caché "Deshabilitado"
"Habilitado"
queryParameters parámetros de consulta para incluir o excluir (separados por comas). string
queryParameterStripDirective Tratamiento de los términos de consulta de dirección URL al formar la clave de caché. "StripAll"
"StripAllExcept"
"StripNone"
"StripOnly"

RedirectConfiguration

Nombre Descripción Valor
@odata.type "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration" (obligatorio)
customFragment Fragmento que se va a agregar a la dirección URL de redireccionamiento. Fragment es la parte de la dirección URL que viene después de #. No incluya #. string
customHost Host para redirigir. Deje vacío para usar el host entrante como host de destino. string
customPath Ruta de acceso completa que se va a redirigir. La ruta de acceso no puede estar vacía y debe comenzar con /. Deje vacío para usar la ruta de acceso entrante como ruta de acceso de destino. string
customQueryString Conjunto de cadenas de consulta que se van a colocar en la dirección URL de redireccionamiento. Establecer este valor reemplazaría cualquier cadena de consulta existente; deje vacío para conservar la cadena de consulta entrante. La cadena de consulta debe tener el formato {key}={value}. ¿La primera? y & se agregarán automáticamente, por lo que no los incluyan en el frente, sino que separe varias cadenas de consulta con &. string
redirectProtocol Protocolo del destino al que se redirige el tráfico. "HttpOnly"
"HttpsOnly"
"MatchRequest"
redirectType El tipo de redireccionamiento que usará la regla al redirigir el tráfico. "Encontrado"
"Movido"
"PermanentRedirect"
"TemporaryRedirect"

RoutingRuleUpdateParametersWebApplicationFirewallPol...

Nombre Descripción Value
id Identificador del recurso. string