Упражнение. Создание веб-сайтов

Завершено

В этом упражнении вы создадите пару виртуальных машин за внутренней подсистемой балансировки нагрузки и установите веб-приложение регистрации автомобиля. Вы также настраиваете виртуальную сеть с частной конечной точкой, которую Front Door может использовать для подключения к виртуальным машинам в частном порядке. Наконец, вы развертываете веб-сайт продления лицензии на экземпляре службы приложений Azure и устанавливаете частное подключение к распределённой сети Front Door.

Создание виртуальных машин и развертывание сайта регистрации транспортных средств

  1. Откройте Azure Cloud Shell в браузере и войдите в каталог с доступом к подписке, в которой вы хотите создать ресурсы.

  2. Выполните следующую команду в Cloud Shell, чтобы создать переменную для сохранения имени вашей группы ресурсов и группу ресурсов для ваших ресурсов. Замените <resource group name> именем группы ресурсов и <location> регионом Azure, в который вы хотите развернуть ресурсы.

    Заметка

    Если вам нужно найти имя расположения, можно использовать следующую команду: az account list-location -o table

    RG=<resource group name>
    az group create --name $RG --location <location>
    
  3. В окне Cloud Shell справа выполните следующую команду. Эта команда использует интерфейс командной строки Azure для создания виртуальной сети с именем vehicleappvnet. Это частная сеть, которая предоставляет адреса в диапазоне 10.0.0.0 до 10.0.255.255. Команда также создает подсеть с именем webServerSubnetс диапазоном адресов 10.0.1.0 до 10.0.1.255. Эта подсеть содержит виртуальные машины.

    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. Чтобы скачать скрипт, создающий виртуальные машины, выполните следующую команду.

    git clone https://github.com/MicrosoftDocs/mslearn-load-balance-web-traffic-with-application-gateway module-files
    
  5. Создайте группу безопасности сети (NSG) и правило NSG для применения к веб-серверам во время создания.

    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. Чтобы создать и настроить виртуальные машины для веб-серверов, выполните следующие команды. Виртуальные машины называются webServer1 и webServer2. Каждая виртуальная машина запускает Ubuntu Server. Учетная запись администратора создается для каждой виртуальной машины с именем пользователя azureuser. На каждой виртуальной машине установлено веб-приложение для регистрации транспортных средств.

    Первая команда выполняется асинхронно, чтобы одновременно создавать обе виртуальные машины.

    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. Чтобы подтвердить успешное создание обеих виртуальных машин, выполните следующую команду.

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

    Вы должны увидеть выходные данные, аналогичные приведенным ниже. Прежде чем продолжить, убедитесь, что PowerState установлен в "VM running" для обеих виртуальных машин.

    Name          ResourceGroup      PowerState    PublicIps    Fqdns    Location        Zones
    ------------  -----------------  ------------  -----------  -------  --------------  -------
    webServer1    MyResourceGroup    VM running                          southcentralus
    webServer2    MyResourceGroup    VM running                          southcentralus
    

Создание внутренней подсистемы балансировки нагрузки и добавление виртуальных машин в внутренний пул

  1. Чтобы создать внутренний ресурс подсистемы балансировки нагрузки, выполните следующую команду.

    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. Чтобы создать пробу работоспособности для проверки доступности каждого экземпляра виртуальной машины, выполните следующую команду.

    az network lb probe create \
        --resource-group $RG \
        --lb-name webServerILB \
        --name webServerHealthProbe \
        --protocol tcp \
        --port 80
    
  3. Чтобы создать правило балансировки нагрузки для распределения трафика на веб-серверах, выполните следующую команду.

    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. Чтобы добавить оба веб-сервера в внутренний пул внутренней подсистемы балансировки нагрузки, выполните следующие команды.

    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
    

Служба приватного канала необходима для установления частного взаимодействия между Front Door и исходными ресурсами. Приватная конечная точка — это конечный пункт, с которым Front Door устанавливает подключение, чтобы обеспечить внутреннее соединение через сеть Microsoft.

  1. Чтобы создать службу приватного канала и связать ее с внутренней подсистемой балансировки нагрузки, выполните следующие команды. Первая команда отключает политику сети приватного канала в подсети, чтобы разрешить создание службы приватного канала.

    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. Чтобы создать частную конечную точку в виртуальной сети, выполните следующие команды. Запросы на установку подключения к этой частной конечной точке автоматически утверждены.

    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
    

Теперь вы создали виртуальные машины под управлением веб-приложения регистрации автомобилей. Обе виртуальные машины идентичны и являются частью одной виртуальной сети. Вы также настроили службу приватного соединения и частную конечную точку для доступа к виртуальным машинам за внутренним балансировщиком нагрузки.

Создание службы приложений и развертывание сайта продления лицензии

  1. Чтобы начать, чтобы создать уникальное имя веб-сайта, выполните следующую команду.

    APPSERVICE="licenserenewal$RANDOM"
    
  2. Затем, чтобы создать план службы приложений для использования веб-приложения, выполните следующую команду.

    az appservice plan create \
        --resource-group $RG \
        --name vehicleAppServicePlan \
        --location eastus \
        --sku FREE
    
  3. Наконец, создайте веб-приложение и разверните сайт продления лицензии.

    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
    

Теперь давайте детально рассмотрим настройку Front Door.