Exercício - Criar websites

Concluído

Neste exercício, você cria um par de máquinas virtuais atrás de um balanceador de carga interno e instala o aplicativo Web de registro de veículos. Você também configura uma rede virtual com um ponto de extremidade privado que o Front Door pode usar para se conectar às máquinas virtuais de forma privada. Por fim, você implanta o site de renovação de licença em uma instância do Serviço de Aplicativo do Azure e também estabelece conectividade privada com o Front Door.

Criar máquinas virtuais e implementar o site de registo de veículos

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

  2. Execute o seguinte comando no Cloud Shell para criar uma variável para armazenar o nome do grupo de recursos, bem como um grupo para os recursos. Substitua <resource group name> por um nome para o grupo de recursos e <location> pela região do Azure na qual quer implementar os recursos.

    Nota

    Se precisar de encontrar o nome da localização, pode utilizar o seguinte 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. Este comando utiliza a interface de linha de comandos do Azure para criar uma rede virtual denominada vehicleappvnet. É uma rede privada, que fornece endereços no intervalo 10.0.0.0 a 10.0.255.255. O comando também cria uma sub-rede denominada webServerSubnet, com o intervalo de endereço 10.0.1.0 a 10.0.1.255. Esta sub-rede contém 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 transferir o script que cria as máquinas virtuais, execute o seguinte comando.

    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 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 dos servidores Web, execute os seguintes comandos. As máquinas virtuais são denominadas webServer1 e webServer2. Cada máquina virtual executa o Ubuntu Server. Uma conta de usuário administrativo é criada para cada máquina virtual, com o nome azureuserde usuário . Cada máquina virtual tem instalada a aplicação Web de registo de veículos.

    O primeiro comando é executado de forma assíncrona para permitir que as duas máquinas virtuais sejam criadas em simultâneo.

    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 seguinte comando.

    az vm list \
        --resource-group $RG \
        --show-details \
        --output table
    

    Deverá ver um resultado semelhante ao seguinte. Antes de continuar, confirme que PowerState aparece como 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 seguinte comando.

    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 seguinte comando.

    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 seguinte comando.

    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 seguintes comandos.

    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 ligação privada é necessário para estabelecer uma comunicação privada entre a Front Door e os recursos de origem. Um ponto de extremidade privado é o que o Front Door estabelece uma conexão para obter uma conexão interna através da rede Microsoft.

  1. Para criar um serviço de link privado e associá-lo ao balanceador de carga interno, execute os seguintes comandos. O primeiro comando desativa 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 seguintes comandos. 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
    

Acabou de criar as máquinas virtuais que executam a aplicação Web de registo de veículos. Ambas as 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 por trás de um balanceador de carga interno.

Criar Serviço de Aplicações e implementar o site de renovação de cartas de condução

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

    APPSERVICE="licenserenewal$RANDOM"
    
  2. Em seguida, para criar um plano do Serviço de Aplicativo para o aplicativo Web usar, execute o seguinte comando.

    az appservice plan create \
        --resource-group $RG \
        --name vehicleAppServicePlan \
        --location eastus \
        --sku FREE
    
  3. Por último, crie a aplicação Web e implemente o site de renovação de cartas de condução.

    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.