Início rápido: criar um Azure Front Door usando a CLI do Azure
Neste início rápido, você aprenderá a criar um Azure Front Door usando a CLI do Azure. Configure um perfil com dois Aplicativos Web do Azure como origens e adicione uma política de segurança do WAF. Você pode então verificar a conectividade com os Aplicativos Web usando o nome do host do ponto de extremidade do Azure Front Door.
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
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 grupo de recursos
No Azure, os recursos relacionados são alocados a um grupo de recursos. É possível usar um grupo de recursos existente ou criar um novo.
Execute az group create para criar um grupo de recursos.
az group create --name myRGFD --location centralus
Criar um perfil do Azure Front Door
Em seguida, crie o perfil do Azure Front Door que seus dois Serviços de Aplicativos usam como origens.
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 do Premium, substitua o valor para parâmetro SKU por Standard_AzureFrontDoor
. As regras gerenciadas com a Política do WAF não estão disponíveis com o SKU Standard. Para uma comparação detalhada, consulte Comparação das 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ê criará duas instâncias de aplicativo Web em execução em regiões diferentes do Azure. Ambas as instâncias operam no modo Ativo/Ativo, o que significa que ambas podem lidar com o tráfego. Essa configuração é diferente de uma configuração Ativa/Em espera, em que uma instância serve como failover.
Criar planos do Serviço de Aplicativo
Primeiro, crie dois planos de serviço de aplicativo: um em EUA Central e outro no Leste dos EUA.
Execute os comandos a seguir para criar os 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
Em seguida, crie um aplicativo Web em cada um dos planos do serviço de aplicativo criados na etapa anterior. Os nomes dos aplicativos Web precisam ser globalmente exclusivos.
Execute os comandos a seguir para criar os aplicativos Web:
az webapp create \
--name WebAppContoso-01 \
--resource-group myRGFD \
--plan myAppServicePlanCentralUS
az webapp create \
--name WebAppContoso-02 \
--resource-group myRGFD \
--plan myAppServicePlanEastUS
Anote os nomes de host padrão para cada aplicativo Web, pois você precisará deles para definir os endereços de back-end ao implantar o Azure Front Door na próxima etapa.
Criar um Azure Front Door
Criar um perfil do Azure Front Door
Execute az afd profile create para criar um perfil do Azure Front Door.
Observação
Para implantar um Azure Front Door Standard em vez de um Premium, defina o parâmetro sku
como Standard_AzureFrontDoor
. As regras gerenciadas com a Política do WAF não estão disponíveis com o SKU Standard. Para uma comparação detalhada, consulte Comparação das camadas do Azure Front Door.
az afd profile create \
--profile-name contosoafd \
--resource-group myRGFD \
--sku Premium_AzureFrontDoor
Adicionar um ponto de extremidade
Crie um ponto de extremidade no seu perfil do Azure Front Door. Um ponto de extremidade é um agrupamento lógico de uma ou mais rotas associadas a nomes de domínios. Cada ponto de extremidade recebe um nome de domínio do Azure Front Door, e você pode associar os pontos de extremidade aos domínios personalizados usando rotas. Os perfis do Azure 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 Azure 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.
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 origens ao grupo de origem
Adicione as duas instâncias de aplicativos criadas anteriormente como origens ao novo grupo de origem. As origens no Azure Front Door referem-se a aplicativos dos quais o Azure Front Door recupera conteúdo quando o cache não está habilitado ou quando ocorre uma falha de cache.
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 a sua segunda instância 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 Firewall de Aplicativo Web (WAF) 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 de WAF que adiciona duas regras gerenciadas. Você também pode criar políticas de 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 Azure Front Door. Este exemplo cria uma política habilitada e no modo de prevenção.
Observação
As regras gerenciadas só estão disponíveis com a camada Premium do Azure Front Door. Você pode usar regras personalizadas com a camada Standard.
az network front-door waf-policy create \
--name contosoWAF \
--resource-group myRGFD \
--sku Premium_AzureFrontDoor \
--disabled false \
--mode Prevention
Observação
Se você selecionar o modo Detection
, seu WAF não bloqueará nenhuma solicitação.
Para saber mais sobre as configurações de política de WAF para o Azure 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 Azure 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 Azure 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 domínios 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 Azure Front Door
Quando você cria o perfil do Azure Front Door, 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 Azure 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 para o aplicativo Web menos latente no grupo de origem.
Para testar o failover global instantâneo, siga estas etapas:
Abra o navegador e vá para o nome do host do ponto de extremidade:
contosofrontend-<hash>.z01.azurefd.net
.Pare um dos Aplicativos Web executando az webapp stop:
az webapp stop --name WebAppContoso-01 --resource-group myRGFD
Atualize seu navegador. Você deverá ver a mesma página de informações.
Dica
Pode haver um pequeno atraso para essas ações. Talvez seja necessário atualizar a página.
Interrompa o outro aplicativo Web também:
az webapp stop --name WebAppContoso-02 --resource-group myRGFD
Atualize seu navegador. Desta vez, você deverá ver uma mensagem de erro.
Reinicie um dos Aplicativos Web executando az webapp start. Atualize o navegador e a página deve voltar ao normal.
az webapp start --name WebAppContoso-01 --resource-group myRGFD
Limpar os recursos
Quando você não precisar mais dos recursos criados para o Azure Front Door, poderá excluir o grupo de recursos. Essa ação remove o Azure Front Door e todos os recursos associados.
Execute o seguinte comando para excluir o grupo de recursos:
az group delete --name myRGFD
Próximas etapas
Avance para o próximo artigo para saber como adicionar um domínio personalizado ao Azure Front Door.