Freigeben über


Wie erstelle und verwalte ich Ressourcen in Azure?

Dieser Artikel ist Teil 5 in einer Reihe von sieben Artikeln, die Entwicklern bei den ersten Schritten mit Azure helfen.

Azure bietet verschiedene Tools zum Erstellen und Verwalten der Ressourcen, die Ihre Anwendung nutzt.

Verschiedene Tools unterstützen verschiedene Anwendungsfälle, und die meisten Azure-Entwickler verwenden je nach Auftrag eine Kombination von Tools. Sie können z. B. Folgendes tun:

  • Verwenden Sie ein GUI-Tool wie das Azure-Portal oder die Azure Tools-Erweiterung für VS Code, wenn Azure-Ressourcen für eine neue Anwendung prototypiert werden. GUI-Tools führen Sie durch den Prozess der Erstellung neuer Dienste und ermöglichen es Ihnen, die Optionen für einen Dienst mithilfe von Dropdownmenüs und anderen grafischen Elementen zu überprüfen und auszuwählen.

  • Schreiben Sie ein Skript mithilfe der Azure CLI oder Azure PowerShell, um eine gemeinsame Aufgabe zu automatisieren. Sie können z. B. ein Skript erstellen, das eine grundlegende Entwicklungsumgebung für eine neue Webanwendung erstellt, die aus einem Azure App Service, einer Datenbank und einem BLOB-Speicher besteht. Das Schreiben eines Skripts stellt eine konsistente Ressourcenerstellung sicher und ist schneller als die Verwendung einer Benutzeroberfläche.

  • Verwenden Sie Infrastruktur als Codetools (IaC), um Azure-Ressourcen deklarativ bereitzustellen und zu verwalten. Mit Tools wie Terraform, Ansible und Bicep können Sie Azure-Ressourcen in deklarativer Syntax codieren und eine konsistente Bereitstellung über Umgebungen hinweg sicherstellen und Umweltabweichungen verhindern.

Azure-Portal

Das Azure-Portal ist eine Webschnittstelle zum Verwalten von Azure-Ressourcen. Die Azure-Portal-Features:

  • Eine benutzerfreundliche, webbasierte Benutzeroberfläche zum Erstellen und Verwalten von Azure-Ressourcen
  • Erstellen konfigurierbarer Dashboards
  • Zugreifen auf Abonnementeinstellungen und Abrechnungsinformationen

Ein Screenshot, der das Azure-Portal zeigt.Screenshot des Azure-Portals

VS Code Azure Tools-Erweiterungspaket

Entwickler, die Visual Studio Code verwenden, verwalten Azure-Ressourcen direkt in VS Code mit dem Azure Tools Extension Pack für VS Code. Mit dem Azure Tools Extension Pack können Sie:

  • Erstellen, Verwalten und Bereitstellen von Code auf Websites mit Azure App Service
  • Erstellen, Durchsuchen und Abfragen von Azure-Datenbanken
  • Erstellen, Debuggen und Bereitstellen von Azure Functions direkt in VS Code
  • Bereitstellen von containerisierten Anwendungen in VS Code

Die vollständige Liste der Features finden Sie auf der Downloadseite der Erweiterung.

Screenshot, das Visual Studio Code mit installiertem Azure Tools Erweiterungspaket zeigt.

Befehlszeilentools

Befehlszeilentools bieten Effizienz, Wiederholbarkeit und die Möglichkeit, wiederkehrende Aufgaben zu skripten. Azure bietet zwei Befehlszeilentools: Azure CLI und Azure PowerShell. Beide Tools sind funktional gleichwertig. Wählen Sie daher die Tools aus, die ihrem Workflow entsprechen.

Azure CLI

Die Azure CLI ist ein plattformübergreifendes Befehlszeilentool, das unter Windows, Linux und macOS ausgeführt wird. Die Azure CLI:

  • Bietet eine präzise, effiziente Syntax für die Verwaltung von Azure-Ressourcen
  • Gibt Ergebnisse als JSON (standardmäßig) aus. Ergebnisse können auch als YAML, eine ASCII-Tabelle oder tabtrennte Werte ohne Schlüssel formatiert werden.
  • Bietet die Möglichkeit, die Ausgabe mithilfe von JMESPath-Abfragen abzufragen und zu gestalten.

Azure CLI-Befehle lassen sich problemlos in beliebte Skriptsprachen wie Bash integrieren, sodass Sie allgemeine Aufgaben ausführen können.

LOCATION='eastus'                                        
RESOURCE_GROUP_NAME='msdocs-expressjs-mongodb-tutorial'

WEB_APP_NAME='msdocs-expressjs-mongodb-123'
APP_SERVICE_PLAN_NAME='msdocs-expressjs-mongodb-plan-123'    
RUNTIME='NODE|14-lts'

# Create a resource group
az group create \
    --location $LOCATION \
    --name $RESOURCE_GROUP_NAME

# Create an app service plan
az appservice plan create \
    --name $APP_SERVICE_PLAN_NAME \
    --resource-group $RESOURCE_GROUP_NAME \
    --sku B1 \
    --is-linux

# Create the web app in the app service
az webapp create \
    --name $WEB_APP_NAME \
    --runtime $RUNTIME \
    --plan $APP_SERVICE_PLAN_NAME \
    --resource-group $RESOURCE_GROUP_NAME 

Azure PowerShell

Azure PowerShell umfasst Cmdlets zur direkten Verwaltung von Azure-Ressourcen über PowerShell. Azure PowerShell wird als PowerShell-Modul installiert und funktioniert mit PowerShell 7.0.6 LTS, PowerShell 7.1.3 und höheren Versionen auf allen Plattformen, einschließlich Windows, macOS und Linux. Es ist auch mit Windows PowerShell 5.1 kompatibel.

Azure PowerShell lässt sich eng in die PowerShell-Sprache integrieren. Befehle verwenden ein Verben-Substantivformat, und Daten werden als PowerShell-Objekte zurückgegeben. Wenn Sie bereits mit powerShell-Skripting vertraut sind, ist Azure PowerShell eine natürliche Wahl.

$location = 'eastus'
$resourceGroupName = 'msdocs-blob-storage-demo-azps'
$storageAccountName = 'stblobstoragedemo999'

# Create a resource group
New-AzResourceGroup `
    -Location $location `
    -Name $resourceGroupName

# Create the storage account
New-AzStorageAccount `
    -Name $storageAccountName `
    -ResourceGroupName $resourceGroupName `
    -Location $location `
    -SkuName Standard_LRS

Weitere Informationen zur Auswahl zwischen Azure CLI und Azure PowerShell finden Sie im Artikel Auswählen des richtigen Befehlszeilentools.

Infrastruktur als Codetools

Infrastruktur als Code ist der Prozess der Verwaltung und Bereitstellung von Ressourcen über deklarative Konfigurationsdateien. Infrastruktur-als-Code-Tools verwenden eine deklarative Endzustandsspezifikation, um sicherzustellen, dass jedes Mal ein Satz von Ressourcen auf die gleiche Weise erstellt und konfiguriert wird. Die meisten Infrastruktur als Codetools überwachen auch Ressourcen, um sicherzustellen, dass sie im gewünschten Zustand konfiguriert bleiben.

Azure unterstützt verschiedene Infrastruktur als Codetools für automatisierte, wiederholte und zuverlässige Bereitstellungen.

Bicep

Bicep ist eine domänenspezifische Sprache (Domain-Specific Language, DSL), die eine deklarative Syntax zur Bereitstellung von Azure-Ressourcen verwendet. Sie bietet eine präzise Syntax, zuverlässige Typsicherheit und Unterstützung für die Wiederverwendung von Code.

param location string = resourceGroup().location
param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'

resource storageAccount 'Microsoft.Storage/storageAccounts@2021-06-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
  }
}

Terraform

Hashicorp Terraform ist ein Open Source-Tool für die Bereitstellung und Verwaltung von Cloud-Infrastrukturen. Die Infrastruktur in Konfigurationsdateien, die die Topologie von Cloudressourcen beschreiben, wird kodifiziert. Die Befehlszeilenschnittstelle von Terraform bietet einen einfachen Mechanismus für die Bereitstellung von Konfigurationsdateien und für ihre Versionserstellung in Azure.

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "main" {
  name     = "${var.prefix}-resources"
  location = var.location
}

resource "azurerm_app_service_plan" "main" {
  name                = "${var.prefix}-asp"
  location            = azurerm_resource_group.main.location
  resource_group_name = azurerm_resource_group.main.name
  kind                = "Linux"
  reserved            = true

  sku {
    tier = "Standard"
    size = "S1"
  }
}

resource "azurerm_app_service" "main" {
  name                = "${var.prefix}-appservice"
  location            = azurerm_resource_group.main.location
  resource_group_name = azurerm_resource_group.main.name
  app_service_plan_id = azurerm_app_service_plan.main.id

  site_config {
    linux_fx_version = "NODE|10.14"
  }
}

Ansible

Ansible ist ein Open-Source-Produkt, mit dem die Cloudbereitstellung, Konfigurationsverwaltung und Anwendungsbereitstellungen automatisiert werden können. Mithilfe von Ansible können Sie virtuelle Computer, Container, Netzwerke und vollständige Cloudinfrastrukturen bereitstellen. Mit Ansible können Sie auch die Bereitstellung und Konfiguration von Ressourcen in Ihrer Umgebung automatisieren.

- hosts: localhost
  connection: local
  vars:
    resource_group: myResourceGroup
    webapp_name: myfirstWebApp
    plan_name: myAppServicePlan
    location: eastus
  tasks:
    - name: Create a resource group
      azure_rm_resourcegroup:
        name: "{{ resource_group }}"
        location: "{{ location }}"

    - name: Create App Service on Linux with Java Runtime
      azure_rm_webapp:
        resource_group: "{{ resource_group }}"
        name: "{{ webapp_name }}"
        plan:
          resource_group: "{{ resource_group }}"
          name: "{{ plan_name }}"
          is_linux: true
          sku: S1
          number_of_workers: 1
        frameworks:
          - name: "java"
            version: "8"
            settings:
              java_container: tomcat
              java_container_version: 8.5

Azure SDK- und REST-APIs

Azure-Ressourcen können programmgesteuert über Code erstellt werden. Auf diese Weise können Sie Anwendungen schreiben, die Azure-Ressourcen dynamisch als Reaktion auf Benutzeranforderungen bereitstellen. Das Azure SDK bietet Ressourcenverwaltungspakete in .NET, Go, JavaScript und Python, mit denen Sie Azure-Ressourcen direkt im Code erstellen und verwalten können. Alternativ können Sie mit der Azure REST-API Azure-Ressourcen über HTTP-Anforderungen an einen RESTful-Endpunkt verwalten.

Verwenden des Azure SDK für .NET

Verwenden der Azure-REST-APIs