Início Rápido: Criar um Azure Front Door Standard/Premium – CLI do Azure

Neste início rápido, você aprenderá a criar um perfil do Azure Front Door Standard/Premium usando a CLI do Azure. Você criará esse perfil usando dois Aplicativos Web como sua origem e adicionará uma política de segurança do WAF. Você pode então verificar a conectividade com os Aplicativos Web pelo nome de host do ponto de extremidade do Azure Front Door.

Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.

Pré-requisitos

Você pode usar o Azure Cloud Shell ou uma CLI do Azure local.

Criar um grupo de recursos

No Azure, você pode alocar recursos relacionados a um grupo de recursos. Você pode usar um grupo de recursos existente ou criar um novo.

Execute az group create para criar grupos de recursos.

az group create --name myRGFD --location centralus

Criar um perfil do Azure Front Door

Execute az afd profile create para criar um perfil do Azure Front Door.

Observação

Se você quiser implantar o Azure Front Door Standard em vez de Premium, substitua o valor do parâmetro sku por Standard_AzureFrontDoor. Você não poderá implantar regras gerenciadas com a Política de WAF, se escolher o SKU Standard. Para uma comparação detalhada, veja a comparação de camadas do Azure Front Door.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFD \
    --sku Premium_AzureFrontDoor

Criar duas instâncias de um aplicativo Web

É necessário duas instâncias de um aplicativo Web em execução em diferentes regiões do Azure para este tutorial. Ambas as instâncias do aplicativo Web são executadas no modo ativo/ativo, portanto, qualquer uma pode atender ao tráfego.

Se você ainda não tiver um aplicativo Web, use o script a seguir para configurar dois aplicativos Web de exemplo.

Criar planos do Serviço de Aplicativo

Para criar os aplicativos Web, você precisará de dois Planos do Serviço de Aplicativo: um na região EUA Central e o segundo no Leste dos EUA.

Execute az appservice plan create para criar planos de serviço de aplicativo.

az appservice plan create \
    --name myAppServicePlanCentralUS \
    --resource-group myRGFD \
    --location centralus
az appservice plan create \
    --name myAppServicePlanEastUS \
    --resource-group myRGFD \
    --location eastus

Criar aplicativos Web

Execute az webapp create para criar um aplicativo Web em cada um dos planos do serviço de aplicativo na etapa anterior. Os nomes dos aplicativos Web devem ser globalmente exclusivos.

az webapp create \
    --name WebAppContoso-01 \
    --resource-group myRGFD \
    --plan myAppServicePlanCentralUS
az webapp create \
    --name WebAppContoso-02 \
    --resource-group myRGFD \
    --plan myAppServicePlanEastUS

Anote o nome de host padrão de cada aplicativo Web para que você possa definir os endereços de back-end ao implantar o Front Door na próxima etapa.

Criar um Azure Front Door

Criar um perfil de Front Door

Execute az afd profile create para criar um perfil do Azure Front Door.

Observação

Se você quiser implantar um Azure Front Door Standard em vez de Premium, substitua o valor para parâmetro sku por Standard_AzureFrontDoor. Você não poderá implantar regras gerenciadas com a Política de WAF, se escolher o SKU Standard. Para uma comparação detalhada, veja a comparação de camadas do Azure Front Door.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFD \
    --sku Premium_AzureFrontDoor

Adicionar um ponto de extremidade

Execute az afd endpoint create para criar um ponto de extremidade em seu perfil. É possível criar vários pontos de extremidade em seu perfil depois de concluir a experiência de criação.

az afd endpoint create \
    --resource-group myRGFD \
    --endpoint-name contosofrontend \
    --profile-name contosoafd \
    --enabled-state Enabled

Criar um grupo de origem

Execute az afd origin-group create para criar um grupo de origem que contenha seus dois aplicativos Web.

az afd origin-group create \
    --resource-group myRGFD \
    --origin-group-name og \
    --profile-name contosoafd \
    --probe-request-type GET \
    --probe-protocol Http \
    --probe-interval-in-seconds 60 \
    --probe-path / \
    --sample-size 4 \
    --successful-samples-required 3 \
    --additional-latency-in-milliseconds 50

Adicionar uma origem ao grupo

Execute az afd origin create para adicionar uma origem ao seu grupo de origem.

az afd origin create \
    --resource-group myRGFD \
    --host-name webappcontoso-01.azurewebsites.net \
    --profile-name contosoafd \
    --origin-group-name og \
    --origin-name contoso1 \
    --origin-host-header webappcontoso-01.azurewebsites.net \
    --priority 1 \
    --weight 1000 \
    --enabled-state Enabled \
    --http-port 80 \
    --https-port 443

Repita essa etapa e adicione sua segunda origem.

az afd origin create \
    --resource-group myRGFD \
    --host-name webappcontoso-02.azurewebsites.net \
    --profile-name contosoafd \
    --origin-group-name og \
    --origin-name contoso2 \
    --origin-host-header webappcontoso-02.azurewebsites.net \
    --priority 1 \
    --weight 1000 \
    --enabled-state Enabled \
    --http-port 80 \
    --https-port 443

Adicionar uma rota

Execute az afd route create para mapear seu ponto de extremidade ao grupo de origem. Essa rota encaminha solicitações do ponto de extremidade para o seu grupo de origem.

az afd route create \
    --resource-group myRGFD \
    --profile-name contosoafd \
    --endpoint-name contosofrontend \
    --forwarding-protocol MatchRequest \
    --route-name route \
    --https-redirect Enabled \
    --origin-group og \
    --supported-protocols Http Https \
    --link-to-default-domain Enabled 

Seu perfil do Front Door se tornaria totalmente funcional com a última etapa.

Criar uma nova política de segurança

Criar uma política de WAF

Execute az network front-door waf-policy create para criar uma política de WAF para o seu Front Door. Este exemplo cria uma política habilitada e no modo de prevenção.

Observação

As regras gerenciadas funcionarão apenas com o SKU do Front Door Premium. Você pode optar pelo SKU Standard abaixo para usar regras personalizadas.

az network front-door waf-policy create \
    --name contosoWAF \
    --resource-group myRGFD \
    --sku Premium_AzureFrontDoor \
    --disabled false \
    --mode Prevention

Observação

Se você selecionar modo Detection, seu WAF não bloqueará nenhuma solicitação.

Atribuir regras gerenciadas à política de WAF

Execute az network front-door waf-policy managed-rules add para adicionar regras gerenciadas à sua Política de WAF. Este exemplo adiciona Microsoft_DefaultRuleSet_1.2 e Microsoft_BotManagerRuleSet_1.0 à sua política.

az network front-door waf-policy managed-rules add \
    --policy-name contosoWAF \
    --resource-group myRGFD \
    --type Microsoft_DefaultRuleSet \
    --version 1.2 
az network front-door waf-policy managed-rules add \
    --policy-name contosoWAF \
    --resource-group myRGFD \
    --type Microsoft_BotManagerRuleSet \
    --version 1.0

Criar a política de segurança

Execute az afd security-policy create para aplicar sua política WAF ao domínio padrão do ponto de extremidade.

Observação

Substitua 'mysubscription' por sua ID de Assinatura do Azure nos domínios e parâmetros de política de waf abaixo. Execute az account subscription list para obter detalhes da ID da Assinatura.

az afd security-policy create \
    --resource-group myRGFD \
    --profile-name contosoafd \
    --security-policy-name contososecurity \
    --domains /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Cdn/profiles/contosoafd/afdEndpoints/contosofrontend \
    --waf-policy /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/contosoWAF

Testar o Front Door

Quando você cria o perfil do Azure Front Door Standard/Premium, a configuração leva alguns minutos para ser implantada globalmente. Após a conclusão, você pode acessar o host de front-end que criou.

Execute az afd endpoint show para obter o nome do host do ponto de extremidade do Front Door.

az afd endpoint show --resource-group myRGFD --profile-name contosoafd --endpoint-name contosofrontend

Em um navegador, vá para o nome do host do ponto de extremidade: contosofrontend-<hash>.z01.azurefd.net. Sua solicitação será roteada automaticamente para o aplicativo Web menos latente no grupo de origem.

Captura de tela da mensagem: Seu aplicativo web está funcionando e aguardando seu conteúdo

Para testar o failover global instantâneo, usaremos as seguintes etapas:

  1. Abra um navegador conforme descrito acima e vá para o nome do host do ponto de extremidade: contosofrontend-<hash>.z01.azurefd.net.

  2. Pare um dos Aplicativos Web executando az webapp stop

    az webapp stop --name WebAppContoso-01 --resource-group myRGFD
    
  3. Atualize seu navegador. Você deverá ver a mesma página de informações.

Dica

Há um pouco de atraso para essas ações. Talvez você precise atualizar novamente.

  1. Localize o outro aplicativo Web e interrompa-o também.

    az webapp stop --name WebAppContoso-02 --resource-group myRGFD
    
  2. Atualize seu navegador. Desta vez, você deverá ver uma mensagem de erro.

    Captura de tela da mensagem: Ambas as instâncias do aplicativo Web foram interrompidas

  3. Reinicie um dos Aplicativos Web executando az webapp start. Atualize seu navegador e a página voltará ao normal.

    az webapp start --name WebAppContoso-01 --resource-group myRGFD
    

Limpar recursos

Quando você não precisar dos recursos para o Front Door, exclua ambos os grupos de recursos. Excluir os grupos de recursos também exclui o Front Door e todos os seus recursos relacionados.

Execute az group delete:

az group delete --name myRGFD

Próximas etapas

Avance para o próximo artigo para saber como adicionar um domínio personalizado ao Front Door.