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 implantar o site de registro de veículos

  1. Abra o Azure Cloud Shell no seu navegador e inicie sessão no diretório com acesso à subscrição onde pretende criar recursos.

  2. Execute o seguinte comando no Cloud Shell para criar uma variável para armazenar o nome do seu grupo de recursos e um grupo de recursos para as suas implementações. Substitua <resource group name> por um nome para seu grupo de recursos e <location> com a região do Azure na qual você deseja implantar seus recursos.

    Observação

    Se você precisar encontrar o nome do local, você pode usar 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 usa a interface de linha de comando do Azure para criar uma rede virtual chamada vehicleappvnet. É 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 o intervalo de endereços 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 baixar 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 para os servidores Web, execute os seguintes comandos. As máquinas virtuais são chamadas de 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 de usuário azureuser. Cada máquina virtual tem a aplicação Web de registo de veículos instalada.

    O primeiro comando é executado de forma assíncrona para permitir que ambas as 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 se ambas as máquinas virtuais foram criadas com êxito, execute o seguinte comando.

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

    Você deverá ver um resultado semelhante ao seguinte. Antes de continuar, verifique se o PowerState está com a VM em execução para ambas as 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 é onde o Front Door estabelece uma conexão para conseguir uma ligação interna pela 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
    

Agora você criou as máquinas virtuais que executam o aplicativo Web de registro 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 ligação privada e um ponto de extremidade privado para acessar as máquinas virtuais atrás de um balanceador de carga interno.

Criar o Serviço de Aplicativo e implantar o site de renovação de licença

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

    APPSERVICE="licenserenewal$RANDOM"
    
  2. Em seguida, para criar um plano de serviço de aplicativo para o uso do aplicativo web, 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 licença.

    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.