Compartilhar via


Tutorial: adicionar e personalizar as regras de entrega para o Azure Front Door Standard/Premium (versão prévia) com a CLI do Azure

O Azure Front Door Standard/Premium (versão prévia) é uma CDN de nuvem moderna, rápida e segura. O Azure Front Door usa a rede de borda global da Microsoft e se integra à proteção inteligente contra ameaças. O Azure Front Door Standard concentra-se na distribuição de conteúdo. O Azure Front Door Premium adiciona funcionalidades abrangentes de segurança e personalização. Este tutorial se concentra na criação de um perfil do Azure Front Door e, em seguida, na adição de regras de entrega para um controle mais granular dos comportamentos de seu aplicativo Web.

Observação

Esta documentação é específica para o Azure Front Door Standard/Premium (Versão Prévia). Em busca de informações sobre o Azure Front Door? Veja a Documentação do Azure Front Door.

Neste tutorial, você aprenderá como:

  • Criar um perfil do Azure Front Door.
  • Criar duas instâncias de um aplicativo Web.
  • Criar uma política de segurança.
  • Verificar a conectividade com seus aplicativos Web.
  • Criar um conjunto de regras.
  • Criar uma regra e adicioná-la ao conjunto de regras.
  • Adicionar ações ou condições às suas regras.

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

Pré-requisitos

Criar um Azure Front Door

Criar um grupo de recursos

Para este início rápido, você precisa de dois grupos de recursos. Uma na região EUA Central e o segundo na região Leste dos EUA.

Execute az group create para criar grupos de recursos.

az group create \
    --name myRGFDCentral \
    --location centralus

az group create \
    --name myRGFDEast \
    --location eastus

Criar um perfil do Azure Front Door

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

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFDCentral \
    --sku Premium_AzureFrontDoor \
    --subscription mysubscription

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 myRGFDCentral

az appservice plan create \
    --name myAppServicePlanEastUS \
    --resource-group myRGFDEast

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.

Execute az webapp list-runtimes para ver uma lista de pilhas internas para aplicativos Web.

az webapp create \
    --name WebAppContoso-001 \
    --resource-group myRGFDCentral \
    --plan myAppServicePlanCentralUS \
    --runtime "DOTNETCORE|2.1"

az webapp create \
    --name WebAppContoso-002 \
    --resource-group myRGFDEast \
    --plan myAppServicePlanEastUS \
    --runtime "DOTNETCORE|2.1"

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.

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 myRGFDCentral \
    --endpoint-name contoso-frontend \
    --profile-name contosoafd \
    --origin-response-timeout-seconds 60 \
    --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 myRGFDCentral \
    --origin-group-name og1 \
    --profile-name contosoafd \
    --probe-request-type GET \
    --probe-protocol Http \
    --probe-interval-in-seconds 120 \
    --probe-path /test1/azure.txt \
    --sample-size 4 \
    --successful-samples-required 3 \
    --additional-latency-in-milliseconds 50

Adicionar origens ao grupo

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

az afd origin create \
    --resource-group myRGFDCentral \
    --host-name webappcontoso-1.azurewebsites.net
    --profile-name contosoafd \
    --origin-group-name og1 \
    --origin-name contoso1 \
    --origin-host-header webappcontoso-1.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 myRGFDCentral \
    --host-name webappcontoso-2.azurewebsites.net
    --profile-name contosoafd \
    --origin-group-name og1 \
    --origin-name contoso2 \
    --origin-host-header webappcontoso-2.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 de front-end ao grupo de origem. Essa rota encaminha solicitações do ponto de extremidade para og1.

az afd route create \
    --resource-group myRGFDCentral \
    --endpoint-name contoso-frontend \
    --profile-name contosoafd \
    --route-name route1 \
    --https-redirect Enabled \
    --origin-group og1 \
    --supported-protocols Https \
    --link-to-default-domain Enabled \
    --forwarding-protocol MatchRequest

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 um dos seus grupos de recursos.

Crie uma nova política de WAF para sua Front Door. Este exemplo cria uma política habilitada e no modo de prevenção.

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

Observação

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

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.

az afd security-policy create \
    --resource-group myRGFDCentral \
    --profile-name contosoafd \
    --security-policy-name contososecurity \
    --domains /subscriptions/mysubscription/resourcegroups/myRGFDCentral/providers/Microsoft.Cdn/profiles/contosoafd/afdEndpoints/contoso-frontend.z01.azurefd.net \
    --waf-policy /subscriptions/mysubscription/resourcegroups/myRGFDCentral/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/contosoWAF

Verificar o Azure 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. Em um navegador, acesse contoso-frontend.z01.azurefd.net. Sua solicitação será roteada automaticamente para o servidor mais próximo dos servidores especificados no grupo de origem.

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

  1. Abra um navegador conforme descrito acima e vá para o endereço de front-end: contoso-frontend.azurefd.net.

  2. No portal do Azure, pesquise e selecione Serviços de Aplicativos. Role para baixo para encontrar um dos seus aplicativos Web, WebAppContoso-1, neste exemplo.

  3. Selecione seu aplicativo Web e, em seguida, selecione Parar e Sim para verificar.

  4. 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.

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

  6. Atualize seu navegador. Desta vez, você deverá ver uma mensagem de erro.

    Ambas as instâncias do aplicativo Web foram interrompidas

Criar um conjunto de regras

Crie um conjunto de regras para personalizar como as solicitações HTTP são tratadas na borda. As regras de entrega adicionadas ao conjunto de regras fornecem mais controle sobre os comportamentos do aplicativo Web. Execute az afd rule-set create para criar um conjunto de regras em seu perfil do Azure Front Door.

az afd rule-set create \
    --profile-name contosoafd \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules

Criar uma regra de entrega e adicioná-la ao conjunto de regras

Crie uma regra de entrega dentro de seu conjunto de regras. Execute az afd rule create para criar uma regra de entrega em seu conjunto de regras. Para este exemplo, criaremos uma regra para um redirecionamento de HTTP para HTTPS.

az afd rule create \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --order 1 \
    --match-variable RequestScheme \
    --operator Equal \
    --match-values HTTP \
    --rule-name "redirect" \
    --action-name "UrlRedirect" \
    --redirect-protocol Https \
    --redirect-type Moved

Adicionar uma ação ou condição à sua regra de entrega

Você pode achar que precisa personalizar ainda mais sua nova regra de entrega. Você pode adicionar ações ou condições conforme necessário após a criação. Execute az afd rule action add ou az afd rule condition add para atualizar sua regra.

Adicionar uma ação

az afd rule action add \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --rule-name redirect \
    --action-name "CacheExpiration" \
    --cache-behavior BypassCache

Adicione uma condição

az afd rule condition add \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --rule-name redirect \
    --match-variable RemoteAddress \
    --operator GeoMatch \
    --match-values "TH"

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 myRGFDCentral

az group delete \
    --name myRGFDEast