Exercício – Criar sites

Concluído

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

  1. Abra o Azure Cloud Shell no navegador e entre no diretório com acesso à assinatura na qual deseja criar recursos.

  2. 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>
    
  3. 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 chamada webServerSubnet, 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
    
  4. 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
    
  5. 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
    
  6. 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 e webServer2. 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ário azureuser. 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
    
  7. 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

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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
    

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.

  1. 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
    
  2. 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

  1. Para começar, execute o comando a seguir para gerar um nome exclusivo para o site.

    APPSERVICE="licenserenewal$RANDOM"
    
  2. 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
    
  3. 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.