Snabbstart: Distribuera din första Azure-resurs med AzAPI Terraform-providern
Artikel testad med följande Terraform- och Terraform-providerversioner:
Terraform möjliggör definition, förhandsversion och distribution av molninfrastruktur. Med Terraform skapar du konfigurationsfiler med hjälp av HCL-syntax. Med HCL-syntaxen kan du ange molnleverantören – till exempel Azure – och de element som utgör din molninfrastruktur. När du har skapat konfigurationsfilerna skapar du en körningsplan som gör att du kan förhandsgranska ändringarna i infrastrukturen innan de distribueras. När du har verifierat ändringarna tillämpar du körningsplanen för att distribuera infrastrukturen.
I den här artikeln får du lära dig hur du använder AzAPI Terraform-providern för att hantera en Azure-tjänst som för närvarande inte stöds av AzureRM-providern. azapi_resource
Kommer att användas för att hantera ett Azure Lab Services-konto samt ett labb.
- Definiera och konfigurera AzureRM- och AzAPI-leverantörerna.
- Använda AzureRM-providern för att skapa en Azure-resursgrupp
- Använd AzureRM-providern för att registrera providern "Microsoft.LabServices" i din prenumeration
- Använda AzAPI-providern för att skapa Azure Lab Services-resurserna
Kommentar
Exempelkoden i den här artikeln finns på Azure Terraform GitHub-lagringsplatsen.
Förutsättningar
- Azure-prenumeration: Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Konfigurera Terraform: Om du inte redan har gjort det konfigurerar du Terraform med något av följande alternativ:
Implementera Terraform-koden
Skapa en katalog där du kan testa Terraform-exempelkoden och göra den till den aktuella katalogen.
Skapa en fil med namnet
providers.tf
och infoga följande kod:terraform { required_providers { azapi = { source = "azure/azapi" version = "=0.1.0" } azurerm = { source = "hashicorp/azurerm" version = "=3.0.2" } } } provider "azapi" { default_location = "eastus" default_tags = { team = "Azure deployments" } } provider "azurerm" { features {} }
Skapa en fil med namnet
main.tf
och infoga följande kod:resource "azurerm_resource_group" "qs101" { name = "rg-qs101" location = "westus2" }
Skapa en fil med namnet
main-generic.tf
och infoga följande kod:# Provision a Lab Service Account and a Lab that are in public preview resource "azapi_resource" "qs101-account" { type = "Microsoft.LabServices/labaccounts@2018-10-15" name = "qs101LabAccount" parent_id = azurerm_resource_group.qs101.id body = jsonencode({ properties = { enabledRegionSelection = false } }) } resource "azapi_resource" "qs101-lab" { type = "Microsoft.LabServices/labaccounts/labs@2018-10-15" name = "qs101Lab" parent_id = azapi_resource.qs101-account.id body = jsonencode({ properties = { maxUsersInLab = 10 userAccessMode = "Restricted" } }) }
Initiera Terraform
Kör terraform init för att initiera Terraform-distributionen. Det här kommandot laddar ned den Azure-provider som krävs för att hantera dina Azure-resurser.
terraform init -upgrade
Viktiga punkter:
- Parametern
-upgrade
uppgraderar nödvändiga provider-plugin-program till den senaste versionen som uppfyller konfigurationens versionsbegränsningar.
Skapa en Terraform-körningsplan
Kör terraform-planen för att skapa en körningsplan.
terraform plan -out main.tfplan
Viktiga punkter:
- Kommandot
terraform plan
skapar en körningsplan, men kör den inte. I stället avgör den vilka åtgärder som krävs för att skapa den konfiguration som anges i konfigurationsfilerna. Med det här mönstret kan du kontrollera om körningsplanen matchar dina förväntningar innan du gör några ändringar i faktiska resurser. - Med den valfria
-out
parametern kan du ange en utdatafil för planen. Med hjälp av parametern-out
ser du till att planen du granskade är exakt vad som tillämpas.
Tillämpa en Terraform-körningsplan
Kör terraform gäller för att tillämpa körningsplanen på din molninfrastruktur.
terraform apply main.tfplan
Viktiga punkter:
terraform apply
Exempelkommandot förutsätter att du tidigare kördeterraform plan -out main.tfplan
.- Om du har angett ett annat filnamn för parametern
-out
använder du samma filnamn i anropet tillterraform apply
. - Om du inte använde parametern
-out
anroparterraform apply
du utan några parametrar.
Verifiera resultatet
- Kontrollera att dina nycklar har listats som ett resultat av att terraformen har tillämpats.
Rensa resurser
Gör följande när du inte längre behöver de resurser som skapats via Terraform:
Kör terraform-plan och ange
destroy
flaggan.terraform plan -destroy -out main.destroy.tfplan
Viktiga punkter:
- Kommandot
terraform plan
skapar en körningsplan, men kör den inte. I stället avgör den vilka åtgärder som krävs för att skapa den konfiguration som anges i konfigurationsfilerna. Med det här mönstret kan du kontrollera om körningsplanen matchar dina förväntningar innan du gör några ändringar i faktiska resurser. - Med den valfria
-out
parametern kan du ange en utdatafil för planen. Med hjälp av parametern-out
ser du till att planen du granskade är exakt vad som tillämpas.
- Kommandot
Kör terraform tillämpa för att tillämpa körningsplanen.
terraform apply main.destroy.tfplan
Felsöka Terraform i Azure
Felsöka vanliga problem när du använder Terraform i Azure