Übung: Erstellen einer Azure-Website mithilfe der CLI
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:
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.
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
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).
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.
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.
Ü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.
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
Ü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
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
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
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.