Übung: Zugriff auf eine App Service-Instanz mit Azure Cloud Shell

Das Azure-Portal stellt eine praktische Benutzeroberfläche zum Suchen, Installieren und Zugreifen auf verschiedene verfügbare Azure-Angebote bereit. Einige dieser Aufgaben wiederholen sich jedoch häufig und eignen Sie für die Automatisierung mithilfe einer Befehlszeilenschnittstelle.

Was ist Azure Cloud Shell?

Azure Cloud Shell ist ein browserbasierter Dienst zum Verwalten und Entwickeln von Azure-Ressourcen über die Befehlszeile. Stellen Sie sich Cloud Shell als interaktive Konsole vor, die in der Cloud ausgeführt wird.

Cloud Shell stellt zwei Funktionen bereit, aus denen Sie auswählen können: Bash und PowerShell. Beide umfassen Zugriff auf die Azure-Befehlszeilenschnittstelle namens Azure CLI und auf Azure PowerShell.

Sie können jede beliebige Verwaltungsschnittstelle von Azure verwenden, einschließlich des Azure-Portals, der Azure CLI und Azure PowerShell, um Azure-Ressourcen zu verwalten. Zu Lernzwecken verwenden Sie hier die Azure CLI, um die zuvor erstellte WordPress-Website zu starten und zu beenden.

Angenommen Sie haben mehrere Websites bereitgestellt, und Sie möchten diese Websites beenden oder starten, ohne über das Portal auf jede einzelne App Service-Instanz zuzugreifen. Dies ist eine einfache Aufgabe, die Sie mithilfe von Cloud Shell und der Azure CLI in ein Skript konvertieren können.

In dieser Übung verwenden Sie das Cloud Shell-Fenster, das parallel zu den Übungsanweisungen angezeigt wird. Wenn Sie normal über das Azure-Portal auf Cloud Shell zugreifen, klicken Sie auf das Cloud Shell-Symbol auf der oberen Navigationsleiste. Das Symbol befindet sich manchmal im Menüsymbol mit den drei Auslassungspunkten (...) neben Ihrem Profil.

Screenshot: Navigationsleiste im Azure-Portal mit erweitertem Menü mit den drei Auslassungspunkten und hervorgehobenem Cloud Shell-Symbol.

Für diese Übung verwenden Sie die Cloud Shell-Funktion im Rahmen der Sandboximplementierung.

Tipp

Sie können die Schaltfläche Kopieren verwenden, um Befehle in die Zwischenablage zu kopieren. Klicken Sie zum Einfügen im Cloud Shell-Fenster mit der rechten Maustaste auf eine neue Zeile, und wählen Sie Einfügen aus, oder verwenden Sie die Tastenkombination UMSCHALT+EINFG (⌘+V unter macOS).

  1. Der erste Schritt besteht darin, sicherzustellen, dass Sie mit dem richtigen Azure-Abonnement arbeiten, bevor Sie Änderungen an Einstellungen vornehmen. Verwenden Sie den Listenbefehl az account list. Der Befehl gibt standardmäßig eine JSON-Zeichenfolge zurück. Die Ausgabe wird jedoch als Tabelle formatiert, um die Arbeit mit diesen Informationen zu vereinfachen. Führen Sie den folgenden Befehl aus.

    az account list --output table
    
  2. Denken Sie daran, dass Sie beim Erstellen der Website eine vorab erstellte Ressourcengruppe namens [Name der Sandbox-Ressourcengruppe] verwendet haben. Wenn Sie jedoch jemals alle Ressourcengruppen in einem Abonnement auflisten müssen, führen Sie den Befehl az group list aus.

    az group list --output table
    
  3. Als Nächstes führen Sie alle Ressourcen in [Name der Sandbox-Ressourcengruppe] mit dem Befehl az resource list auf. Der Befehl gibt eine Liste mit Ressourcen zurück. Durch Angeben von --resource-type können Sie das Ergebnis filtern, sodass nur die Ressourceninformationen in Bezug auf Websites enthalten sind.

    Führen Sie den folgenden Befehl aus.

    az resource list \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --resource-type Microsoft.Web/sites
    

    Hier ist ein Beispiel für die Befehlsausgabe:

    {
    "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx/resourceGroups/<rgn>[sandbox resource group name]</rgn>/providers/Microsoft.Web/sites/BlogFor",
    "identity": null,
    "kind": "app",
    "location": "centralus",
    "managedBy": null,
    "name": "MyWebApp",
    "plan": null,
    "properties": null,
    "resourceGroup": "<rgn>[sandbox resource group name]</rgn>",
    "sku": null,
    "tags": null,
    "type": "Microsoft.Web/sites"
    }
    

    Kopieren Sie den Wert von name. Sie benötigen sie in den nächsten Schritten, um Ihre Website zunächst zu beenden und dann wieder zu starten.

  4. Verwenden Sie den Befehl az webapp stop, um die Webanwendung in App Service zu beenden. Ersetzen Sie <web app name> durch den Namen Ihrer Web-App, den Sie kopiert haben, und führen Sie anschließend diesen Befehl aus, um Ihre Web-App anzuhalten.

    az webapp stop \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name <web app name>
    
  5. Öffnen Sie die Website in einer neuen Browserregisterkarte. Die URL für die Website finden Sie in der Übersicht von App Service im Portal. In Ihrem Browser wird die folgende Meldung angezeigt:

    Screenshot: Beendete App Service-Web-App mit „Fehler 403 – Diese Web-App wurde beendet“.

  6. Starten Sie nun die Web-App, indem Sie den Befehl az webapp start ausführen. Ersetzen Sie <web app name> durch den Namen Ihrer Web-App, den Sie kopiert haben, und führen Sie anschließend diesen Befehl aus, um Ihre Web-App zu starten.

    az webapp start \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name <web app name>
    
  7. Wechseln Sie zurück zu der Registerkarte für Ihre Website, und aktualisieren Sie die Seite. Ihre Website ist nach wenigen Sekunden verfügbar.