Übung: Bereitstellen einer Skalierungsgruppe im Azure-Portal

Abgeschlossen

Im Beispielszenario möchten Sie eine Skalierungsgruppe verwenden, um die Webanwendung für das Versandunternehmen auszuführen. Durch die Verwendung einer Skalierungsgruppe kann das Versandunternehmen kurze Antwortzeiten für Benutzer aufrechterhalten, auch wenn die Workload variiert.

Ihre erste Aufgabe besteht darin, eine Skalierungsgruppe zu erstellen. Anschließend konfigurieren Sie diese für die Ausführung eines Webservers, in diesem Fall nginx. Wenn Sie die Skalierungsgruppe richtig konfiguriert haben, können Sie Ihre Webanwendung bereitstellen. Danach richten Sie einen Integritätstest ein, den Azure verwendet, um die Verfügbarkeit der einzelnen VMs in der Skalierungsgruppe zu überprüfen. Zum Schluss testen Sie die Skalierungsgruppe, indem Sie Anforderungen über einen Webbrowser senden.

Hinweis

Diese Übung ist optional. Wenn Sie kein Azure-Konto besitzen, können Sie die Anweisungen durchlesen, damit Sie verstehen, wie Sie die REST-API zum Abrufen von Metriken verwenden können.

Wenn Sie diese Übung absolvieren möchten, aber kein Azure-Abonnement haben oder Ihr eigenes Konto nicht verwenden möchten, erstellen Sie vor Beginn ein kostenloses Konto.

Bereitstellen einer VM-Skalierungsgruppe

  1. Melden Sie sich beim Azure-Portal an, und öffnen Sie Azure Cloud Shell.

  2. Starten Sie in Cloud Shell den Code-Editor, und erstellen Sie eine Datei mit dem Namen cloud-init.yaml.

    code cloud-init.yaml
    
  3. Fügen Sie der Datei den folgenden Text hinzu:

    #cloud-config
    package_upgrade: true
    packages:
      - nginx
    write_files:
      - owner: www-data:www-data
      - path: /var/www/html/index.html
        content: |
            Hello world from Virtual Machine Scale Set !
    runcmd:
      - service nginx restart
    

    Diese Datei enthält die Konfigurationsinformationen für die Installation von „nginx“ auf den VMs in der Skalierungsgruppe.

  4. Drücken Sie erst STRG+S, um die Datei zu speichern und anschließend STRG+Q, um den Code-Editor zu schließen.

  5. Führen Sie den folgenden Befehl aus, um eine neue Ressourcengruppe mit dem Namen scalesetrg für Ihre Skalierungsgruppe zu erstellen:

    az group create --location eastus --name myResourceGroup
    
  6. Führen Sie den folgenden Befehl aus, um die VM-Skalierungsgruppe zu erstellen:

    az vmss create \
      --resource-group myResourceGroup \
      --name webServerScaleSet \
      --image Ubuntu2204 \
      --upgrade-policy-mode automatic \
      --custom-data cloud-init.yaml \
      --admin-username azureuser \
      --generate-ssh-keys
    

    Standardmäßig verfügt die neue VM-Skalierungsgruppe über zwei Instanzen und einen Lastenausgleich.

    Hinweis

    Das Flag custom-data gibt an, dass nach dem Erstellen der VM für die VM-Konfiguration die Einstellungen in der Datei cloud-init.yaml verwendet werden sollen. Sie können eine cloud-init-Datei verwenden, um zusätzliche Pakete zu installieren, die Sicherheit zu konfigurieren und in Dateien zu schreiben, wenn die VM zum ersten Mal installiert wird.

    Weitere Informationen finden Sie unter cloud-init-Unterstützung für virtuelle Computer in Azure.

Konfigurieren der VM-Skalierungsgruppe

  1. Führen Sie den folgenden Befehl aus, um dem Lastenausgleich einen Integritätstest hinzuzufügen:

    az network lb probe create \
      --lb-name webServerScaleSetLB \
      --resource-group myResourceGroup \
      --name webServerHealth \
      --port 80 \
      --protocol Http \
      --path /
    

    Der Integritätstest pingt den Stamm der Website über Port 80. Wenn die Website nicht antwortet, wird der Server als nicht verfügbar angesehen. Der Lastenausgleich leitet dann keinen Datenverkehr an den Server weiter.

  2. Führen Sie den folgenden Befehl aus, um den Lastenausgleich zum Weiterleiten von HTTP-Datenverkehr an die Instanzen in der Skalierungsgruppe zu konfigurieren:

    az network lb rule create \
      --resource-group myResourceGroup \
      --name webServerLoadBalancerRuleWeb \
      --lb-name webServerScaleSetLB \
      --probe-name webServerHealth \
      --backend-pool-name webServerScaleSetLBBEPool \
      --backend-port 80 \
      --frontend-ip-name loadBalancerFrontEnd \
      --frontend-port 80 \
      --protocol tcp
    

Testen der VM-Skalierungsgruppe

  1. Wählen Sie im Azure-Portals auf der linken Seite Ressourcengruppen>scalesetrg aus.

  2. Wählen Sie die VM-Skalierungsgruppe webServerScaleSet aus.

  3. Notieren Sie sich die öffentliche IP-Adresse der VM-Skalierungsgruppe auf der Seite Übersicht.

    Screenshot der Seite „Übersicht“ für die VM-Skalierungsgruppe im Azure-Portal.

  4. Klicken Sie unter Einstellungen auf Instanzen. Vergewissern Sie sich, dass die Skalierungsgruppe zwei VMs enthält, die ausgeführt werden.

    Screenshot der Instanzen für die VM-Skalierungsgruppe im Azure-Portal.

  5. Wählen Sie eine Instanz aus, und navigieren Sie zur Registerkarte Eigenschaften. Überprüfen Sie, ob auf den VMs Ubuntu Linux ausgeführt wird.

    Screenshot des Betriebssystems für die VM-Skalierungsgruppe im Azure-Portal.

  6. Navigieren Sie in Ihrem Webbrowser zur öffentlichen IP-Adresse der Skalierungsgruppe. Vergewissern Sie sich, dass die Meldung Hello World from Virtual Machine Scale Set ! angezeigt wird.

    Screenshot: In einem Browser ausgeführte Web-App mit der gewünschten Meldung