Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Schnellstartanleitung erstellen Sie ein Azure Automation-Konto und verwenden Terraform, um dem Konto die Rolle „Leser“ zuzuweisen. Ein Automation-Konto ist ein cloudbasierter Dienst, der eine sichere Umgebung zum Ausführen von Runbooks bereitstellt. Dies sind Skripts, die Prozesse automatisieren. Das Konto kann häufige, zeitaufwendige und fehleranfällige Aufgaben automatisieren, die in der Cloud verwaltet werden. Dieses Automation-Konto wird innerhalb einer Azure-Ressourcengruppe erstellt. Dabei handelt es sich um einen Container, der verwandte Ressourcen für eine Azure-Lösung enthält. Darüber hinaus wird dem Automation-Konto die Rolle „Leser“ zugewiesen. Dem Abonnement wird die Berechtigung erteilt, alle Ressourcen in einem Automation-Konto anzuzeigen, aber keine Änderungen vorzunehmen.
Mit Terraform können Sie eine Cloudinfrastruktur definieren, eine Vorschau der Cloudinfrastruktur anzeigen und die Cloudinfrastruktur bereitstellen. Terraform ermöglicht das Erstellen von Konfigurationsdateien mit HCL-Syntax. Mit der HCL-Syntax können Sie den Cloudanbieter (beispielsweise Azure) und die Elemente angeben, aus denen sich Ihre Cloudinfrastruktur zusammensetzt. Nach der Erstellung Ihrer Konfigurationsdateien erstellen Sie einen Ausführungsplan, mit dem Sie eine Vorschau Ihrer Infrastrukturänderungen anzeigen können, bevor diese bereitgestellt werden. Nach der Überprüfung der Änderungen wenden Sie den Ausführungsplan an, um die Infrastruktur bereitzustellen.
In diesem Artikel werden folgende Vorgehensweisen behandelt:
- Erstellen Sie eine Azure-Ressourcengruppe mit einem eindeutigen Namen.
- Generieren Sie eine zufällige Zeichenfolge als eindeutige Benennung der Azure-Ressourcen.
- Erstellen Sie ein Automation-Konto, und aktivieren Sie den Zugriff über öffentliche Netzwerke.
- Rufen Sie das aktuelle Azure-Abonnement ab.
- Rufen Sie die Rollendefinition für „Leser“ ab.
- Weisen Sie dem Automation-Konto die Rolle „Leser“ zu.
- Geben Sie die Namen der erstellten Ressourcengruppe und des Automation-Kontos aus.
Voraussetzungen
Erstellen Sie ein Azure-Konto mit einem aktiven Abonnement. Sie können ein Konto kostenlos erstellen. Die Optionen für Ihr neues Automation-Konto sind auf der Seite Automation-Konto erstellen im Azure-Portal auf Registerkarten organisiert.
Installieren und konfigurieren Sie Terraform.
Implementieren des Terraform-Codes
Hinweis
Der Beispielcode für diesen Artikel befindet sich im Azure Terraform-GitHub-Repository. Sie können die Protokolldatei anzeigen, die die Testergebnisse von aktuellen und früheren Terraform-Versionen enthält.
Lesen Sie weitere Artikel und Beispielcodes zur Verwendung von Terraform zum Verwalten von Azure-Ressourcen.
Erstellen Sie ein Verzeichnis, in dem der Terraform-Beispielcode getestet und ausgeführt werden soll, und legen Sie es als aktuelles Verzeichnis fest.
Erstellen Sie eine Datei namens
main.tf, und fügen Sie den folgenden Code ein:resource "random_pet" "rg_name" { prefix = var.resource_group_name_prefix } resource "azurerm_resource_group" "rg" { location = var.resource_group_location name = random_pet.rg_name.id } resource "random_string" "azurerm_automation_account_name" { length = 13 lower = true numeric = false special = false upper = false } resource "azurerm_automation_account" "example" { name = coalesce(var.automation_account_name, "autoacc-${random_string.azurerm_automation_account_name.result}") resource_group_name = azurerm_resource_group.rg.name location = azurerm_resource_group.rg.location sku_name = "Basic" identity { type = "SystemAssigned" } public_network_access_enabled = true } data "azurerm_subscription" "current" {} data "azurerm_role_definition" "contributor" { name = "Contributor" } resource "azurerm_role_assignment" "example" { scope = data.azurerm_subscription.current.id role_definition_name = "Contributor" principal_id = azurerm_automation_account.example.identity[0].principal_id }Erstellen Sie eine Datei namens
outputs.tf, und fügen Sie den folgenden Code ein:output "resource_group_name" { value = azurerm_resource_group.rg.name } output "automation_account_name" { value = azurerm_automation_account.example.name }Erstellen Sie eine Datei namens
providers.tf, und fügen Sie den folgenden Code ein:terraform { required_version = ">=1.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~>3.0" } random = { source = "hashicorp/random" version = "~>3.0" } } } provider "azurerm" { features {} }Erstellen Sie eine Datei namens
variables.tf, und fügen Sie den folgenden Code ein:variable "resource_group_name_prefix" { type = string default = "rg" description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." } variable "resource_group_location" { type = string default = "eastus" description = "Location of the resource group." } variable "automation_account_name" { type = string description = "The name of the Automation Account resource. The value will be randomly generated if blank." default = "" }
Initialisieren von Terraform
Führen Sie zum Initialisieren der Terraform-Bereitstellung terraform init aus. Mit diesem Befehl wird der Azure-Anbieter heruntergeladen, der zum Verwalten Ihrer Azure-Ressourcen erforderlich ist.
terraform init -upgrade
Die wichtigsten Punkte:
- Der Parameter
-upgradeaktualisiert die erforderlichen Anbieter-Plug-Ins auf die neueste Version, die den Versionseinschränkungen der Konfiguration entspricht.
Erstellen eines Terraform-Ausführungsplans
Führen Sie terraform plan aus, um einen Ausführungsplan zu erstellen.
terraform plan -out main.tfplan
Die wichtigsten Punkte:
- Durch den Befehl
terraform planwird ein Ausführungsplan erstellt, aber nicht ausgeführt. Stattdessen werden die Aktionen ermittelt, die erforderlich sind, um die in Ihren Konfigurationsdateien angegebene Konfiguration zu erstellen. Mit diesem Muster können Sie überprüfen, ob der Ausführungsplan Ihren Erwartungen entspricht, bevor Sie Änderungen an den eigentlichen Ressourcen vornehmen. - Der optionale Parameter
-outermöglicht die Angabe einer Ausgabedatei für den Plan. Durch die Verwendung des Parameters-outwird sichergestellt, dass genau der von Ihnen überprüfte Plan angewendet wird.
Anwenden eines Terraform-Ausführungsplans
Führen Sie terraform apply aus, um den Ausführungsplan auf Ihre Cloudinfrastruktur anzuwenden.
terraform apply main.tfplan
Die wichtigsten Punkte:
- Der Beispielbefehl
terraform applysetzt voraus, dass Sie zuvorterraform plan -out main.tfplanausgeführt haben. - Wenn Sie einen anderen Dateinamen für den Parameter
-outangegeben haben, verwenden Sie denselben Dateinamen im Aufruf vonterraform apply. - Wenn Sie den Parameter
-outnicht verwendet haben, rufen Sieterraform applyohne Parameter auf.
Überprüfen der Ergebnisse
Rufen Sie den Namen der Azure-Ressourcengruppe ab.
resource_group_name=$(terraform output -raw resource_group_name)Rufen Sie den Namen des Automation-Kontos ab.
automation_account_name=$(terraform output -raw automation_account_name)Führen Sie
az automation account showaus, um das Automation-Konto anzuzeigen.az automation account show --name $automation_account_name --resource-group $resource_group_name
Bereinigen von Ressourcen
Wenn Sie die über Terraform erstellten Ressourcen nicht mehr benötigen, führen Sie die folgenden Schritte aus:
Führen Sie terraform plan aus, und geben Sie das Flag
destroyan.terraform plan -destroy -out main.destroy.tfplanDie wichtigsten Punkte:
- Durch den Befehl
terraform planwird ein Ausführungsplan erstellt, aber nicht ausgeführt. Stattdessen werden die Aktionen ermittelt, die erforderlich sind, um die in Ihren Konfigurationsdateien angegebene Konfiguration zu erstellen. Mit diesem Muster können Sie überprüfen, ob der Ausführungsplan Ihren Erwartungen entspricht, bevor Sie Änderungen an den eigentlichen Ressourcen vornehmen. - Der optionale Parameter
-outermöglicht die Angabe einer Ausgabedatei für den Plan. Durch die Verwendung des Parameters-outwird sichergestellt, dass genau der von Ihnen überprüfte Plan angewendet wird.
- Durch den Befehl
Führen Sie zum Anwenden des Ausführungsplans den Befehl terraform apply aus.
terraform apply main.destroy.tfplan
Problembehandlung für Terraform in Azure
Behandeln Sie allgemeine Probleme bei der Verwendung von Terraform in Azure.
Nächste Schritte
In dieser Schnellstartanleitung haben Sie ein Automation-Konto erstellt. Lesen Sie Artikel über Automation-Konten, um mehr zu erfahren.
Zur Verwendung von verwalteten Identitäten mit Ihrem Automation-Konto fahren Sie fort mit: