Compartir a través de


Inicio rápido: Creación de una instancia de Azure Front Door mediante Azure PowerShell

En este inicio rápido, aprenderá a crear un perfil de Azure Front Door mediante Azure PowerShell. Puede usar dos aplicaciones web como origen y comprobar la conectividad mediante el nombre de host del punto de conexión de Azure Front Door.

Diagrama del entorno de implementación de Azure Front Door mediante el uso de Azure PowerShell.

Nota:

En el caso de las cargas de trabajo web, se recomienda encarecidamente usar la protección contra DDoS de Azure y un firewall de aplicaciones web para protegerse frente a posibles ataques DDoS. Otra opción es emplear Azure Front Door junto con un firewall de aplicaciones web. Azure Front Door ofrece protección de nivel de plataforma frente a ataques DDoS de nivel de red. Para más información, consulte línea base de seguridad para los servicios de Azure.

Requisitos previos

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
  • Azure PowerShell instalado localmente o Azure Cloud Shell.

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Para comenzar, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.

Para iniciar Azure Cloud Shell:

Opción Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. Captura de pantalla que muestra un ejemplo de la opción Pruébelo para Azure Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. Botón para iniciar Azure Cloud Shell.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. Captura de pantalla que muestra el botón de Cloud Shell en Azure Portal

Para usar Azure Cloud Shell:

  1. Inicie Cloud Shell.

  2. Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.

  3. Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.

  4. Seleccione Enter para ejecutar el código o comando.

Crear un grupo de recursos

Cree un grupo de recursos con New-AzResourceGroup:

New-AzResourceGroup -Name myRGFD -Location centralus

Creación de dos instancias de aplicación web

Cree dos instancias de aplicación web en distintas regiones de Azure mediante New-AzWebApp:

# Create first web app in Central US region.
$webapp1 = New-AzWebApp `
    -Name "WebAppContoso-01" `
    -Location centralus `
    -ResourceGroupName myRGFD `
    -AppServicePlan myAppServicePlanCentralUS

# Create second web app in East US region.
$webapp2 = New-AzWebApp `
    -Name "WebAppContoso-02" `
    -Location EastUS `
    -ResourceGroupName myRGFD `
    -AppServicePlan myAppServicePlanEastUS

Crear una instancia de Azure Front Door

Creación de un perfil de Azure Front Door

Ejecute New-AzFrontDoorCdnProfile para crear un perfil de Azure Front Door:

$fdprofile = New-AzFrontDoorCdnProfile `
    -ResourceGroupName myRGFD `
    -Name contosoAFD `
    -SkuName Premium_AzureFrontDoor `
    -Location Global

Agregación de un extremo

Ejecute New-AzFrontDoorCdnEndpoint para crear un punto de conexión en el perfil:

$FDendpoint = New-AzFrontDoorCdnEndpoint `
    -EndpointName contosofrontend `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -Location Global

Creación de un grupo de origen

Cree la configuración de sondeo de estado y equilibrio de carga y cree un grupo de origen mediante New-AzFrontDoorCdnOriginGroup:

# Create health probe settings
$HealthProbeSetting = New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject `
    -ProbeIntervalInSecond 60 `
    -ProbePath "/" `
    -ProbeRequestType GET `
    -ProbeProtocol Http

# Create load balancing settings
$LoadBalancingSetting = New-AzFrontDoorCdnOriginGroupLoadBalancingSettingObject `
    -AdditionalLatencyInMillisecond 50 `
    -SampleSize 4 `
    -SuccessfulSamplesRequired 3

# Create origin group
$originpool = New-AzFrontDoorCdnOriginGroup `
    -OriginGroupName og `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HealthProbeSetting $HealthProbeSetting `
    -LoadBalancingSetting $LoadBalancingSetting

Adición de orígenes al grupo

Agregue los orígenes de la aplicación web al grupo de origen mediante New-AzFrontDoorCdnOrigin:

# Add first web app origin to origin group.
$origin1 = New-AzFrontDoorCdnOrigin `
    -OriginGroupName og `
    -OriginName contoso1 `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HostName webappcontoso-01.azurewebsites.net `
    -OriginHostHeader webappcontoso-01.azurewebsites.net `
    -HttpPort 80 `
    -HttpsPort 443 `
    -Priority 1 `
    -Weight 1000

# Add second web app origin to origin group.
$origin2 = New-AzFrontDoorCdnOrigin `
    -OriginGroupName og `
    -OriginName contoso2 `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HostName webappcontoso-02.azurewebsites.net `
    -OriginHostHeader webappcontoso-02.azurewebsites.net `
    -HttpPort 80 `
    -HttpsPort 443 `
    -Priority 1 `
    -Weight 1000

Agregar una ruta

Asigne el punto de conexión al grupo de origen mediante New-AzFrontDoorCdnRoute:

$Route = New-AzFrontDoorCdnRoute `
    -EndpointName contosofrontend `
    -Name defaultroute `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -ForwardingProtocol MatchRequest `
    -HttpsRedirect Enabled `
    -LinkToDefaultDomain Enabled `
    -OriginGroupId $originpool.Id `
    -SupportedProtocol Http,Https

Prueba de la instancia de Azure Front Door

Después de crear el perfil de Azure Front Door, la configuración tarda unos minutos en implementarse globalmente. Una vez completado, acceda al host de front-end que ha creado.

Ejecute Get-AzFrontDoorCdnEndpoint para obtener el nombre de host del punto de conexión de Azure Front Door:

$fd = Get-AzFrontDoorCdnEndpoint `
    -EndpointName contosofrontend `
    -ProfileName contosoafd `
    -ResourceGroupName myRGFD

$fd.hostname

En un explorador, vaya al nombre de host del punto de conexión: contosofrontend-<hash>.z01.azurefd.net. La solicitud se enruta a la aplicación web que tenga la latencia más baja en el grupo de origen.

Captura de pantalla del mensaje: La aplicación web se está ejecutando y está esperando el contenido.

Para probar la conmutación por error global instantánea:

  1. Abra un explorador y vaya al nombre de host del punto de conexión: contosofrontend-<hash>.z01.azurefd.net.

  2. Detenga una de las aplicaciones web ejecutando Stop-AzWebApp:

    Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
    
  3. Actualice el explorador. Debería aparecer la misma página de información.

  4. Detenga la otra aplicación web:

    Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-02"
    
  5. Actualice el explorador. Esta vez debería aparecer un mensaje de error.

    Captura de pantalla del mensaje: Las dos instancias de la aplicación web detenidas.

  6. Reinicie una de las aplicaciones web mediante la ejecución de Start-AzWebApp. Actualice el explorador y la página volverá a la normalidad:

    Start-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
    

Limpieza de recursos

Cuando ya no necesite los recursos creados con Azure Front Door, elimine el grupo de recursos. Esta acción elimina la instancia de Azure Front Door y todos los recursos relacionados. Ejecute Remove-AzResourceGroup:

Remove-AzResourceGroup -Name myRGFD

Pasos siguientes

Para obtener información sobre cómo agregar un dominio personalizado a la instancia de Azure Front Door, continúe con los tutoriales de Azure Front Door.