Share via


Guia de início rápido: criar um Azure Front Door Standard/Premium - CLI do Azure

Neste guia de início rápido, você aprenderá a criar um perfil Standard/Premium do Azure Front Door usando a CLI do Azure. Você cria esse perfil usando dois aplicativos Web como origem e adiciona uma política de segurança WAF. Em seguida, você pode verificar a conectividade com seus Aplicativos Web usando o nome de host do ponto de extremidade da Porta da Frente do Azure.

Diagram of Front Door deployment environment using the Azure CLI.

Nota

Para cargas de trabalho da Web, é altamente recomendável utilizar a proteção contra DDoS do Azure e um firewall de aplicativo Web para se proteger contra ataques DDoS emergentes. Outra opção é empregar o Azure Front Door junto com um firewall de aplicativo Web. O Azure Front Door oferece proteção no nível da plataforma contra ataques DDoS no nível da rede. Para obter mais informações, consulte Linha de base de segurança para serviços do Azure.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Pré-requisitos

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

Criar um grupo de recursos

No Azure, você aloca 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

Nesta etapa, você cria o perfil da Porta da Frente do Azure que seus dois serviços de aplicativo usam como origem.

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

Nota

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 WAF, se escolher a SKU padrão. Para obter 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

Nesta etapa, você cria duas instâncias de aplicativo Web que são executadas em diferentes regiões do Azure para este tutorial. Ambas as instâncias do aplicativo Web são executadas no modo Ativo/Ativo, para que qualquer uma delas possa atender ao tráfego. Essa configuração difere de uma configuração Ativa/Stand-By, onde uma atua como um failover.

Criar planos de serviço de aplicativo

Antes de criar os aplicativos Web, você precisa de dois planos de serviço de aplicativo, um no centro dos EUA e o segundo no leste dos EUA.

Execute az appservice plan create para criar seus 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 aplicações Web

Depois que os planos de serviço de aplicativo tiverem sido criados, execute az webapp create para criar um aplicativo Web em cada um dos planos de 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 quando implantar a Front Door na próxima etapa.

Criar uma porta de entrada do Azure

Criar um perfil de porta da frente

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

Nota

Se você quiser implantar um 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 WAF, se escolher a SKU padrão. Para obter 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 final

Nesta etapa, você cria um ponto de extremidade em seu perfil Front Door. No Front Door Standard/Premium, um ponto de extremidade é um agrupamento lógico de uma ou mais rotas associadas a nomes de domínio. Cada ponto de extremidade recebe um nome de domínio pela Front Door, e você pode associar pontos de extremidade a domínios personalizados usando rotas. Os perfis da porta frontal também podem conter vários pontos finais.

Execute az afd endpoint create para criar um endpoint no seu perfil.

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

Para obter mais informações sobre pontos de extremidade na Porta da Frente, consulte Pontos de extremidade na Porta da Frente do Azure.

Criar um grupo de origem

Crie um grupo de origem que defina o tráfego e as respostas esperadas para as instâncias do seu aplicativo. Os grupos de origem também definem como as origens são avaliadas por sondas de saúde, que você pode definir nesta etapa.

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

Adicione ambas as instâncias do aplicativo criadas anteriormente como origens ao seu novo grupo de origem. As origens no Front Door referem-se a aplicativos dos quais o Front Door recupera conteúdo quando o cache não está habilitado ou quando um cache é perdido.

Execute az afd origin create para adicionar sua primeira instância de aplicativo como 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 esta etapa e adicione suas segundas instâncias de aplicativo como origem ao seu grupo de 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

Para obter mais informações sobre origens, grupos de origem e sondas de integridade, consulte Origens e grupos de origem no Azure Front Door

Adicionar uma rota

Adicione uma rota para mapear o ponto de extremidade que você criou anteriormente para o grupo de origem. Essa rota encaminha solicitações do ponto de extremidade para seu grupo de origem.

Execute az afd route create para mapear seu endpoint para o 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 

Para saber mais sobre rotas na Porta da Frente do Azure, consulte Métodos de roteamento de tráfego para origem.

Criar uma nova política de segurança

O Azure Web Application Firewall (WAF) na Front Door fornece proteção centralizada para seus aplicativos Web, defendendo-os contra exploits e vulnerabilidades comuns.

Neste tutorial, você cria uma política WAF que adiciona duas regras gerenciadas. Você também pode criar políticas WAF com regras personalizadas

Criar uma política WAF

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

Nota

As regras gerenciadas só funcionarão com o nível Front Door Premium. Você pode optar pela camada Standard para usar regras personalizadas onlu.

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

Nota

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

Para saber mais sobre as configurações de política WAF para Front Door, consulte Policy settings for Web Application Firewall on Azure Front Door.

Atribuir regras gerenciadas à política WAF

Os conjuntos de regras gerenciados pelo Azure fornecem uma maneira fácil de proteger seu aplicativo contra ameaças comuns à segurança.

Execute az network front-door waf-policy managed-rules add para adicionar regras gerenciadas à sua política WAF. Este exemplo adiciona Microsoft_DefaultRuleSet_2.1 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 \
    --action Block \
    --version 2.1 
az network front-door waf-policy managed-rules add \
    --policy-name contosoWAF \
    --resource-group myRGFD \
    --type Microsoft_BotManagerRuleSet \
    --version 1.0

Para saber mais sobre regras gerenciadas no Front Door, consulte Grupos de regras e regras DRS do Web Application Firewall.

Criar a política de segurança

Agora, aplique essas duas políticas WAF à sua porta da frente criando uma política de segurança. Essa configuração aplica as regras gerenciadas pelo Azure ao ponto de extremidade definido anteriormente.

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

Nota

Substitua 'mysubscription' pela sua ID de Subscrição do Azure nos domínios e parâmetros waf-policy. Execute a lista de assinaturas da conta az para obter os 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

Teste a porta da frente

Quando você cria o perfil Azure Front Door Standard/Premium, leva alguns minutos para que a configuração seja implantada globalmente. Uma vez concluído, você pode acessar o host frontend que você criou.

Execute az afd endpoint show para obter o nome do host do ponto de extremidade 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 final: contosofrontend-<hash>.z01.azurefd.net. Sua solicitação é encaminhada automaticamente para o aplicativo Web menos latente no grupo de origem.

Screenshot of the message: Your web app is running and waiting for your content

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

  1. Abra um navegador e vá para o nome do host do ponto final: 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 o seu browser. Você deve ver a mesma página de informações.

Gorjeta

Há um pouco de atraso para essas ações. Talvez seja necessário atualizar novamente.

  1. Encontre o outro aplicativo Web e pare-o também.

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

    Screenshot of the message: Both instances of the web app stopped

  3. Reinicie um dos Web Apps executando az webapp start. Atualize o navegador e a página volte ao normal.

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

Clean up resources (Limpar recursos)

Quando não precisar dos recursos para a Porta da Frente, exclua ambos os grupos de recursos. A exclusão dos grupos de recursos também exclui a Porta da Frente e todos os recursos relacionados.

Execute az group delete:

az group delete --name myRGFD

Próximos passos

Avance para o próximo artigo para saber como adicionar um domínio personalizado à sua porta da frente.