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ê cria esse perfil usando dois Aplicativos Web como sua origem e adicionará uma política de segurança do WAF (firewall do aplicativo Web). Você pode então verificar a conectividade com os Aplicativos Web pelo nome de host do ponto de extremidade do Azure Front Door.

Diagram of Front Door deployment environment using the Azure CLI.

Observação

Para cargas de trabalho da Web, é altamente recomendável utilizar a proteção contra DDoS do Azure e um firewall de aplicativo Web para proteger contra ataques de 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 de DDoS no nível da rede. Para obter mais informações, confira a linha de base de segurança dos serviços do Azure.

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

Pré-requisitos

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

Nesta etapa, você cria o perfil do Azure Front Door que seus dois serviços de aplicativos usam como a origem.

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

Nesta etapa, você cria duas instâncias de aplicativo Web que são executadas em diferentes regiões do Azure neste tutorial. Ambas as instâncias do aplicativo Web são executadas no modo ativo/ativo, portanto, qualquer uma pode atender ao tráfego. Essa configuração difere de uma configuração Ativa/Em Espera, em que uma delas atua como um failover.

Criar planos do Serviço de Aplicativo

Antes de criar os aplicativos Web, você precisa de dois planos do serviço de aplicativo: um na região EUA Central e outro 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

Depois que os planos do Serviço de Aplicativo forem criados, 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

Nesta etapa, você cria um ponto de extremidade no seu perfil do 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 do Front Door, e você pode associar os pontos de extremidade aos domínios personalizados usando rotas. Os perfis do Front Door também podem conter vários pontos de extremidade.

Execute az afd endpoint create para criar um ponto de extremidade em seu perfil.

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

Para obter mais informações sobre os pontos de extremidade do Front Door, confira Pontos de extremidade do Azure Front Door.

Criar um grupo de origem

Crie um grupo de origem que defina o tráfego e as respostas esperadas para suas instâncias de aplicativo. Os grupos de origem também definem como as origens são avaliadas por investigações de integridade, que você também define 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 as duas instâncias de aplicativos criadas anteriormente como origens ao novo grupo de origem. As origens do Front Door se referem aos aplicativos dos quais o Front Door recupera o conteúdo quando o cache não estiver habilitado ou quando um cache é ignorado.

Execute az afd origin create para adicionar sua primeira instância de aplicativo como uma origem ao 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 uma origem ao 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 as origens, grupos de origem e investigações de integridade, confira Origens e grupos de origem do Azure Front Door

Adicionar uma rota

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

Execute az afd route create para mapear seu ponto de extremidade ao 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 as rotas do Azure Front Door, consulte Métodos de roteamento de tráfego para a origem.

Criar uma nova política de segurança

O WAF (Firewall de Aplicativo Web) do Azure no Front Door fornece proteção centralizada para seus aplicativos Web, defendendo-os contra explorações e vulnerabilidades comuns.

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

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 a camada do Front Door Premium. Você pode optar pela camada Standard abaixo para usar apenas 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.

Para saber mais sobre as configurações de política do WAF para o Front Door, consulte Configurações de política do Firewall do Aplicativo Web no Azure Front Door.

Atribuir regras gerenciadas à política de WAF

Os conjuntos de regras gerenciados pelo Azure oferecem uma forma 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 de 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 as regras gerenciadas do Front Door, confira Regras e grupos de regras do DRS do Firewall do Aplicativo Web.

Criar a política de segurança

Agora aplique essas duas políticas do WAF ao Front Door criando uma política de segurança. Essa configuração aplica as regras gerenciadas pelo Azure ao ponto de extremidade que você definiu anteriormente.

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 parâmetros domains e waf-policy. 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 é roteada 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 o navegador 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.

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

  3. Reinicie um dos Aplicativos Web executando az webapp start. Atualize o 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.