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
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
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:
Abra um navegador conforme descrito acima e vá para o endereço de front-end:
contoso-frontend.azurefd.net
.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.
Selecione seu aplicativo Web e, em seguida, selecione Parar e Sim para verificar.
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.
Localize o outro aplicativo Web e interrompa-o também.
Atualize seu navegador. Desta vez, você deverá ver uma mensagem de erro.
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