Exercício – Criar sites
Neste exercício, você deve criar um par de máquinas virtuais por trás de um balanceamento de carga interno e instalar o aplicativo Web de registro de veículos. Você também deve configurar uma rede virtual com um ponto de extremidade privado que o Azure Front Door pode utilizar para se conectar às máquinas virtuais de forma privada. Por fim, você deve implantar o site de renovação de licenças em uma instância do Serviço de Aplicativo do Azure e também estabelecer uma conectividade privada com o Front Door.
Criar máquinas virtuais e implantar o site de registre de veículos
Abra o Azure Cloud Shell no navegador e entre no diretório com acesso à assinatura na qual deseja criar recursos.
Execute o comando a seguir no Cloud Shell para criar uma variável para armazenar o nome do seu grupo de recursos e também crie um grupo para seus recursos. Substitua
<resource group name>
pelo nome de seu grupo de recursos e<location>
pela região do Azure na qual você gostaria de implantar seus recursos.Observação
Se precisar encontrar o nome da localização, use este comando: az account list-locations -o table
RG=<resource group name> az group create --name $RG --location <location>
Na janela do Cloud Shell à direita, execute o seguinte comando. Esse comando usa a interface de linha de comando do Azure para criar uma rede virtual chamada
vehicleappvnet
. Trata-se de uma rede privada que fornece endereços no intervalo de 10.0.0.0 a 10.0.255.255. O comando também cria uma sub-rede chamadawebServerSubnet
, com intervalo de endereços de 10.0.1.0 a 10.0.1.255. Esta sub-rede conterá as máquinas virtuais.az network vnet create \ --resource-group $RG \ --name vehicleAppVnet \ --address-prefixes 10.0.0.0/16 \ --subnet-name webServerSubnet \ --subnet-prefixes 10.0.1.0/24
Para fazer download do script que cria as máquinas virtuais, execute o comando a seguir.
git clone https://github.com/MicrosoftDocs/mslearn-load-balance-web-traffic-with-application-gateway module-files
Crie um NSG (Grupo de Segurança de Rede) e uma regra de NSG para aplicar aos servidores Web durante a criação.
az network nsg create \ --resource-group $RG \ --name webNSG az network nsg rule create \ --resource-group $RG \ --nsg-name webNSG \ --name myNSGRuleHTTP \ --protocol '*' \ --direction inbound \ --source-address-prefix '*' \ --source-port-range '*' \ --destination-address-prefix '*' \ --destination-port-range 80 \ --access allow \ --priority 200
Para criar e configurar as máquinas virtuais para os servidores Web, execute os comandos a seguir. As máquinas virtuais são chamadas
webServer1
ewebServer2
. Cada máquina virtual executa o Ubuntu Server. Uma conta de usuário administrativa é criada para cada máquina virtual, com o nome de usuárioazureuser
. Cada máquina virtual tem o aplicativo Web de registro de veículos instalado.O primeiro comando é executado de maneira assíncrona para permitir que as duas máquinas virtuais sejam criadas simultaneamente.
az vm create \ --resource-group $RG \ --name webServer1 \ --image Ubuntu2204 \ --admin-username azureuser \ --generate-ssh-keys \ --vnet-name vehicleAppVnet \ --subnet webServerSubnet \ --public-ip-address "" \ --nsg webNSG \ --custom-data module-files/scripts/vmconfig.sh \ --no-wait az vm create \ --resource-group $RG \ --name webServer2 \ --image Ubuntu2204 \ --admin-username azureuser \ --generate-ssh-keys \ --vnet-name vehicleAppVnet \ --subnet webServerSubnet \ --public-ip-address "" \ --nsg webNSG \ --custom-data module-files/scripts/vmconfig.sh
Para confirmar que as duas máquinas virtuais foram criadas com êxito, execute o comando a seguir.
az vm list \ --resource-group $RG \ --show-details \ --output table
Você deverá ver uma saída semelhante à seguinte. Antes de continuar, verifique se PowerState é VM em execução para as duas máquinas virtuais.
Name ResourceGroup PowerState PublicIps Fqdns Location Zones ------------ ----------------- ------------ ----------- ------- -------------- ------- webServer1 MyResourceGroup VM running southcentralus webServer2 MyResourceGroup VM running southcentralus
Criar um balanceador de carga interno e adicionar máquinas virtuais ao pool de back-end
Para criar um recurso de balanceador de carga interno, execute o comando a seguir.
az network lb create \ --resource-group $RG \ --name webServerILB \ --sku standard \ --vnet-name vehicleAppVnet \ --subnet webServerSubnet \ --frontend-ip-name webServerIP \ --backend-pool-name webServerBackendPool
Para criar uma investigação de integridade para verificar a disponibilidade de cada instância de VM, execute o comando a seguir.
az network lb probe create \ --resource-group $RG \ --lb-name webServerILB \ --name webServerHealthProbe \ --protocol tcp \ --port 80
Para criar uma regra de balanceamento de carga para distribuir o tráfego para os servidores Web, execute o comando a seguir.
az network lb rule create \ --resource-group $RG \ --lb-name webServerILB \ --name myHTTPRule \ --protocol tcp \ --frontend-port 80 \ --backend-port 80 \ --frontend-ip-name webServerIP \ --backend-pool-name webServerBackendPool \ --probe-name webServerHealthProbe \ --idle-timeout 15 \ --enable-tcp-reset true
Para adicionar ambos os servidores Web ao pool de back-end do balanceador de carga interno, execute os comandos a seguir.
az network nic ip-config address-pool add \ --address-pool webServerBackendPool \ --lb-name webServerILB \ --ip-config-name ipconfigwebServer1 \ --nic-name webServer1VMNic \ --resource-group $RG az network nic ip-config address-pool add \ --address-pool webServerBackendPool \ --lb-name webServerILB \ --ip-config-name ipconfigwebServer2 \ --nic-name webServer2VMNic \ --resource-group $RG
Criar um serviço de link privado e um ponto de extremidade privado
O serviço de link privado é necessário para estabelecer a comunicação privada entre o Front Door e os recursos da origem. Um ponto de extremidade privado é aquele com o qual o Azure Front Door estabelece uma conexão para obter uma conexão interna na rede da Microsoft.
Para criar um serviço de link privado e associá-lo ao balanceador de carga interno, execute os comandos a seguir. O primeiro comando desabilita a política de rede de link privado na sub-rede para permitir que o serviço de link privado seja criado.
az network vnet subnet update \ --name webServerSubnet \ --resource-group $RG \ --vnet-name vehicleAppVnet \ --disable-private-link-service-network-policies true az network private-link-service create \ --resource-group $RG \ --name myPrivateLinkService \ --vnet-name vehicleAppVnet \ --subnet webServerSubnet \ --lb-name webServerILB \ --lb-frontend-ip-configs webServerIP
Para criar o ponto de extremidade privado em uma rede virtual, execute os comandos a seguir. As solicitações para estabelecer conectividade com esse ponto de extremidade privado são aprovadas automaticamente.
export resourceid=$(az network private-link-service show \ --name myPrivateLinkService \ --resource-group $RG \ --query id \ --output tsv) az network private-endpoint create \ --connection-name myPEconnectiontoPLS \ --name myPrivateEndpoint \ --private-connection-resource-id $resourceid \ --resource-group $RG \ --subnet webServerSubnet \ --manual-request false \ --vnet-name vehicleAppVnet
Agora, você criou as máquinas virtuais que executam o aplicativo Web de registro de veículos. As duas máquinas virtuais são idênticas e fazem parte da mesma rede virtual. Você também configurou um serviço de link privado e um ponto de extremidade privado para acessar as máquinas virtuais sob um balanceador de carga interno.
Criar Serviço de Aplicativo e implantar o site de renovação de cartas de motorista
Para começar, execute o comando a seguir para gerar um nome exclusivo para o site.
APPSERVICE="licenserenewal$RANDOM"
Avançar, para criar um plano do Serviço de Aplicativo para o aplicativo Web que será utilizado, execute o seguinte comando.
az appservice plan create \ --resource-group $RG \ --name vehicleAppServicePlan \ --location eastus \ --sku FREE
Por fim, crie o aplicativo Web e implante o site de renovação de carteiras de motorista.
az webapp create \ --resource-group $RG \ --name $APPSERVICE \ --plan vehicleAppServicePlan \ --deployment-source-url https://github.com/MicrosoftDocs/mslearn-load-balance-web-traffic-with-application-gateway \ --deployment-source-branch appService
Agora, vamos dar uma olhada mais de perto na configuração do Front Door.