Ćwiczenie — tworzenie witryn internetowych

Ukończone

W tym ćwiczeniu utworzysz parę maszyn wirtualnych za wewnętrznym modułem równoważenia obciążenia i zainstalujesz aplikację internetową do rejestracji pojazdów. Należy również skonfigurować sieć wirtualną z prywatnym punktem końcowym, za pomocą którego usługa Front Door może łączyć się prywatnie z maszynami wirtualnymi. Na koniec wdrożysz witrynę sieci Web odnawiania licencji w wystąpieniu usługi aplikacja systemu Azure Service, a także ustanowić prywatną łączność z usługą Front Door.

Tworzenie maszyn wirtualnych i wdrażanie witryny do rejestrowania pojazdów

  1. Otwórz usługę Azure Cloud Shell w przeglądarce i zaloguj się do katalogu z dostępem do subskrypcji, w której chcesz utworzyć zasoby.

  2. Uruchom następujące polecenie w usłudze Cloud Shell, aby utworzyć zmienną do przechowywania nazwy grupy zasobów oraz grupę zasobów dla zasobu. Zamień ciąg <resource group name> na nazwę grupy zasobów i ciąg <location> na region platformy Azure, w którym chcesz wdrożyć zasoby.

    Uwaga

    Jeśli musisz znaleźć nazwę lokalizacji, możesz użyć następującego polecenia: az account list-locations -o table

    RG=<resource group name>
    az group create --name $RG --location <location>
    
  3. W oknie usługi Cloud Shell po prawej stronie uruchom następujące polecenie. To polecenie używa interfejsu wiersza polecenia platformy Azure do utworzenia sieci wirtualnej o nazwie vehicleappvnet. Jest to sieć prywatna, która udostępnia adresy z zakresu od 10.0.0.0 do 10.0.255.255. Polecenie powoduje również utworzenie podsieci o nazwie webServerSubnet z zakresem adresów od 10.0.1.0 do 10.0.1.255. Ta podsieć zawiera maszyny wirtualne.

    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. Aby pobrać skrypt tworzący maszyny wirtualne, uruchom następujące polecenie.

    git clone https://github.com/MicrosoftDocs/mslearn-load-balance-web-traffic-with-application-gateway module-files
    
  5. Utwórz regułę sieciowej grupy zabezpieczeń i sieciowej grupy zabezpieczeń, która ma zostać zastosowana do serwerów internetowych podczas tworzenia.

    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. Aby utworzyć i skonfigurować maszyny wirtualne na potrzeby serwerów internetowych, uruchom następujące polecenia. Nazwy maszyn wirtualnych to webServer1 i webServer2. Na każdej maszynie wirtualnej działa system Ubuntu Server. Konto użytkownika administracyjnego jest tworzone dla każdej maszyny wirtualnej o nazwie azureuserużytkownika . Na każdej maszynie wirtualnej zainstalowana jest aplikacja internetowa do rejestrowania pojazdów.

    Pierwsze polecenie jest uruchamiane asynchronicznie, aby umożliwić jednoczesne utworzenie obu maszyn wirtualnych.

    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. Aby potwierdzić, że obie maszyny wirtualne zostały pomyślnie utworzone, uruchom następujące polecenie.

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

    Wyświetlone dane wyjściowe powinny wyglądać mniej więcej tak. Przed przejściem dalej upewnij się, że dla obu maszyn wirtualnych parametr PowerState (Stan zasilania) ma wartość VM running (Maszyna wirtualna uruchomiona).

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

Tworzenie wewnętrznego modułu równoważenia obciążenia i dodawanie maszyn wirtualnych do puli zaplecza

  1. Aby utworzyć wewnętrzny zasób modułu równoważenia obciążenia, uruchom następujące polecenie.

    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. Aby utworzyć sondę kondycji w celu sprawdzenia dostępności każdego wystąpienia maszyny wirtualnej, uruchom następujące polecenie.

    az network lb probe create \
        --resource-group $RG \
        --lb-name webServerILB \
        --name webServerHealthProbe \
        --protocol tcp \
        --port 80
    
  3. Aby utworzyć regułę równoważenia obciążenia w celu dystrybucji ruchu na serwery internetowe, uruchom następujące polecenie.

    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. Aby dodać oba serwery internetowe do puli zaplecza wewnętrznego modułu równoważenia obciążenia, uruchom następujące polecenia.

    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
    

Usługa łącza prywatnego jest wymagana do nawiązania prywatnej komunikacji między usługą Front Door a zasobami źródła. Prywatny punkt końcowy to to, z czym usługa Front Door nawiązuje połączenie w celu osiągnięcia połączenia wewnętrznego za pośrednictwem sieci firmy Microsoft.

  1. Aby utworzyć usługę łącza prywatnego i skojarzyć ją z wewnętrznym modułem równoważenia obciążenia, uruchom następujące polecenia. Pierwsze polecenie wyłącza zasady sieci łącza prywatnego w podsieci, aby umożliwić utworzenie usługi łącza prywatnego.

    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. Aby utworzyć prywatny punkt końcowy w sieci wirtualnej, uruchom następujące polecenia. Żądania ustanowienia łączności z tym prywatnym punktem końcowym są automatycznie zatwierdzane.

    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
    

Maszyny wirtualne, na których uruchomiona jest aplikacja internetowa do rejestrowania pojazdów, zostały utworzone. Obie maszyny wirtualne są identyczne i są częścią tej samej sieci wirtualnej. Skonfigurowano również usługę łącza prywatnego i prywatny punkt końcowy w celu uzyskania dostępu do maszyn wirtualnych za wewnętrznym modułem równoważenia obciążenia.

Tworzenie usługi App Service i wdrażanie witryny do odnawiania praw jazdy

  1. Aby rozpocząć, uruchom następujące polecenie w celu wygenerowania unikatowej nazwy dla witryny internetowej.

    APPSERVICE="licenserenewal$RANDOM"
    
  2. Następnie, aby utworzyć plan usługi App Service dla aplikacji internetowej do użycia, uruchom następujące polecenie.

    az appservice plan create \
        --resource-group $RG \
        --name vehicleAppServicePlan \
        --location eastus \
        --sku FREE
    
  3. Na koniec utwórz aplikację internetową i wdróż witrynę do odnawiania praw jazdy.

    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
    

Teraz przyjrzyjmy się bliżej konfigurowaniu usługi Front Door.