Übung: Erstellen einer Azure-Website mithilfe der CLI

Abgeschlossen

Als Nächstes verwenden Sie die Azure CLI, um eine Ressourcengruppe zu erstellen und anschließend eine Web-App in dieser Ressourcengruppe bereitzustellen.

Mit der kostenlosen Sandbox können Sie Ressourcen in einem Teil der globalen Azure-Regionen erstellen. Wählen Sie eine Region aus dieser Liste aus, wenn Sie Ressourcen erstellen:

  • westus2
  • southcentralus
  • centralus
  • eastus
  • westeurope
  • southeastasia
  • japaneast
  • brazilsouth
  • australiasoutheast
  • centralindia

Verwenden einer Ressourcengruppe

Wenn Sie Ihren eigenen Computer und Ihr eigenes Azure-Abonnement verwenden, müssen Sie sich mithilfe des az login-Befehls bei Azure anmelden. Eine Anmeldung ist nicht erforderlich, wenn Sie die browserbasierte Cloud Shell-Sandboxumgebung verwenden.

Als Nächstes würden Sie normalerweise mit einem Befehl vom Typ az group create eine Ressourcengruppe für alle Ihre verwandten Azure-Ressourcen erstellen. Für diese Übung wurde aber bereits die folgende Ressourcengruppe für Sie erstellt: [Name der Sandboxressourcengruppe]

Hinweis

Für diese Übung verwenden wir als Region „USA, Osten“. Wenn beim Erstellen des App Service-Plans ein Problem auftritt, wählen Sie eine andere Region aus der obigen Liste aus.

  1. Im ersten Schritt dieser Übung erstellen Sie mehrere Variablen, die Sie in späteren Befehlen verwenden:

    export RESOURCE_GROUP=<rgn>[sandbox resource group name]</rgn>
    export AZURE_REGION=eastus
    export AZURE_APP_PLAN=popupappplan-$RANDOM
    export AZURE_WEB_APP=popupwebapp-$RANDOM
    
  2. Mithilfe der Azure CLI können Sie alle Ihre Ressourcengruppen in einer Tabelle auflisten. Es sollte nur eine Ressourcengruppe vorhanden sein, wenn Sie die kostenlose Azure-Sandbox verwenden:

    az group list --output table
    

    Tipp

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

  3. Im Zuge der Azure-Entwicklung können nach und nach mehrere Ressourcengruppen zusammenkommen. Falls die Gruppenliste mehrere Elemente enthält, können Sie die Rückgabewerte filtern, indem Sie eine Option vom Typ --query hinzufügen. Führen Sie den folgenden Befehl aus:

    az group list --query "[?name == '$RESOURCE_GROUP']"
    

    Die Abfrage wird mit JMESPath (einer Standardabfragesprache für JSON-Abfragen) formatiert. Weitere Informationen zu dieser leistungsstarken Filtersprache finden Sie unter http://jmespath.org/. Im Modul Verwalten von virtuellen Computern mit Azure CLI werden Abfragen ausführlicher behandelt.

Schritte zum Erstellen eines Serviceplans

Beim Ausführen von Web-Apps mithilfe von Azure App Service zahlen Sie für die von der App verwendeten Azure-Computeressourcen, und die Ressourcenkosten sind vom App Service-Plan abhängig, der Ihren Web-Apps zugeordnet ist. Servicepläne bestimmen die Region, die für das Rechenzentrum der App, die Anzahl von verwendeten VMs und Tarife verwendet wird.

  1. Erstellen Sie einen App Service-Plan zum Ausführen der App. Der folgende Befehl gibt den kostenlosen Tarif an, Sie können aber auch az appservice plan create --help ausführen, um andere Tarife anzuzeigen.

    Hinweis

    Der Name der App und der Name des Plans müssen in Azure eindeutig sein. Durch die Variablen, die Sie zuvor erstellt haben, werden zufällige Werte als Suffixe zugewiesen, um sicherzustellen, dass sie eindeutig sind. Wenn Sie beim Erstellen von Ressourcen eine Fehlermeldung erhalten, sollten Sie jedoch die weiter oben aufgeführten Befehle ausführen, um alle Variablen mit neuen zufälligen Werten zurückzusetzen.

    Wenn Sie eine Fehlermeldung zur Ressourcengruppe erhalten, führen Sie die zuvor aufgeführten Befehle mit einem anderen Ressourcengruppenwert aus.

    az appservice plan create --name $AZURE_APP_PLAN --resource-group $RESOURCE_GROUP --location $AZURE_REGION --sku FREE
    

    Die Ausführung dieses Befehls kann mehrere Minuten dauern.

  2. Überprüfen Sie, ob der Service-Plan erfolgreich erstellt wurde, indem Sie alle Pläne in einer Tabelle auflisten:

    az appservice plan list --output table
    

    Es sollte eine Antwort ähnlich wie im folgenden Beispiel angezeigt werden:

    Kind    Location    MaximumNumberOfWorkers    Name                NumberOfSites    ResourceGroup                               Status
    ------  ----------  ------------------------  ------------------  ---------------  ------------------------------------------  --------
    app     East US     3                         popupappplan-54321  0                Learn-12345678-1234-1234-1234-123456789abc  Ready
    

Erstellen einer Web-App

Als Nächstes erstellen Sie die Web-App in Ihrem Service-Plan. Sie können den Code zur gleichen Zeit bereitstellen, in diesem Beispiel erstellen wir die Web-App und stellen den Code in einem separaten Schritt bereit.

  1. Zum Erstellen der Web-App geben Sie den Web-App-Namen und den Namen des zuvor erstellten App-Plans an. Genau wie der App-Planname muss auch der Web-App-Name eindeutig sein. Die Variablen, die Sie zuvor erstellt haben, weisen zufällige Werte zu, die für diese Übung ausreichend sein sollten. Die Ausführung dieses Befehls kann etwas dauern.

    az webapp create --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --plan $AZURE_APP_PLAN
    
  2. Überprüfen Sie, ob die App erfolgreich erstellt wurde, indem Sie alle Apps in einer Tabelle auflisten:

    az webapp list --output table
    

    Es sollte eine Antwort ähnlich wie im folgenden Beispiel angezeigt werden:

    Name               Location    State    ResourceGroup                               DefaultHostName                      AppServicePlan
    -----------------  ----------  -------  ------------------------------------------  -----------------------------------  ------------------
    popupwebapp-12345  East US  Running  Learn-12345678-1234-1234-1234-123456789abc  popupwebapp-12345.azurewebsites.net  popupappplan-54321
    

    Notieren Sie sich den Wert von DefaultHostName, der in der Tabelle aufgeführt ist. Dies ist die Adresse der URL für die neue Website. Ihre Website wird von Azure über den eindeutigen App-Namen in der Domäne azurewebsites.net zur Verfügung gestellt. Wenn der App-Name beispielsweise „popupwebapp-12345“ lautet, würde die Website-URL wie folgt aussehen: http://popupwebapp-12345.azurewebsites.net. Sie können auch das folgende Skript verwenden, um die HTTP-Adresse zurückzugeben:

    site="http://$AZURE_WEB_APP.azurewebsites.net"
    echo $site
    
  3. Um den HTML-Standardcode für die Beispiel-App abzurufen, verwenden Sie CURL mit DefaultHostName:

    curl $AZURE_WEB_APP.azurewebsites.net
    

    Es sollte eine Antwort ähnlich wie im folgenden Beispiel angezeigt werden:

    <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Microsoft Azure App Service - Welcome</title><link rel="shortcut icon" href="https://appservice.azureedge.net/images/app-service/v4/favicon.ico" type="image/x-icon"/><link href="https://appservice.azureedge.net/css/app-service/v4/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous"/><style>html, body{height: 100%; background-color: #ffffff; color: #000000; font-size: 13px;}*{border-radius: 0 !important;}</style> ... (continued)
    

Bereitstellen von Code über GitHub

  1. Der letzte Schritt besteht im Bereitstellen von Code über ein GitHub-Repository in die Web-App. Sie verwenden hierzu eine einfache PHP-Seite, die im GitHub-Repository „Azure Samples“ verfügbar ist und bei der Ausführung „Hello World!“ anzeigt. Stellen Sie sicher, dass Sie den Namen der Web-App verwenden, die Sie erstellt haben. Die Ausführung dieses Befehls kann etwas dauern.

    az webapp deployment source config --name $AZURE_WEB_APP --resource-group $RESOURCE_GROUP --repo-url "https://github.com/Azure-Samples/php-docs-hello-world" --branch master --manual-integration
    
  2. Besuchen Sie Ihre Website nach der Bereitstellung erneut über einen Browser oder cURL:

    curl $AZURE_WEB_APP.azurewebsites.net
    

    Auf der Seite wird die Nachricht „Hello World!“ angezeigt.

    Hello World!
    

In dieser Übung wurde ein typisches Muster für eine interaktive Azure CLI-Sitzung gezeigt. Zuerst haben Sie einen Standardbefehl verwendet, um eine neue Ressourcengruppe zu erstellen. Danach haben Sie eine Reihe von Befehlen verwendet, um eine Ressource (in diesem Beispiel eine Web-App) in dieser Ressourcengruppe bereitzustellen. Sie können diese Befehle einfach in einem Shellskript zusammenfassen und jederzeit ausführen, wenn Sie die gleiche Ressource erstellen müssen.