Snabbstart: Skapa en nätnätverkstopologi med Azure Virtual Network Manager med Terraform
Artikel
Kom igång med Azure Virtual Network Manager genom att använda Terraform för att etablera anslutning för alla dina virtuella nätverk.
I den här snabbstarten distribuerar du tre virtuella nätverk och använder Azure Virtual Network Manager för att skapa en nätnätverkstopologi. Sedan kontrollerar du att anslutningskonfigurationen har tillämpats. Du kan välja mellan en distribution med ett prenumerationsomfång eller ett hanteringsgruppsomfång. Läs mer om nätverkshanterarens omfång.
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 kan du se hur du:
Skapa ett slumpmässigt värde för Azure-resursgruppens namn med hjälp av random_pet.
Om du vill ändra dynamiska nätverksgrupper måste du endast beviljas åtkomst via Azure RBAC-rolltilldelning . Klassisk administratör/äldre auktorisering stöds inte
Implementera Terraform-koden
Det här kodexemplet implementerar Azure Virtual Network Manager i prenumerationsomfånget.
Skapa en fil med namnet variables.tf och infoga följande kod:
Terraform
variable"resource_group_location" {
type = string
default = "eastus"
description = "Location of the resource group."
}
variable"resource_group_name_prefix" {
type = string
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
default = "rg"
}
Skapa en fil med namnet outputs.tf och infoga följande kod:
Terraform
output"resource_group_name" {
value = azurerm_resource_group.rg.name
}
output"virtual_network_names" {
value = azurerm_virtual_network.vnet[*].name
}
Implementera Terraform-koden
Det här kodexemplet implementerar Azure Virtual Network Manager i hanteringsgruppens omfång.
Skapa en fil med namnet variables.tf och infoga följande kod:
Terraform
variable"resource_group_location" {
type = string
default = "eastus"
description = "Location of the resource group."
}
variable"resource_group_name_prefix" {
type = string
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
default = "rg"
}
variable"msi_id" {
type = string
description = "(Optional) Manage identity id that be used as authentication method. Defaults to `null`."
default = null
}
Skapa en fil med namnet outputs.tf och infoga följande kod:
Terraform
output"resource_group_name" {
value = azurerm_resource_group.rg.name
}
output"virtual_network_names" {
value = azurerm_virtual_network.vnet[*].name
}
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.
Console
terraform init -upgrade
Viktiga punkter:
Parametern -upgrade uppgraderar nödvändiga provider-plugin-program till den senaste versionen som uppfyller konfigurationens versionsbegränsningar.
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.
Console
terraform apply main.tfplan
Viktiga punkter:
terraform apply Exempelkommandot förutsätter att du tidigare körde terraform plan -out main.tfplan.
Om du har angett ett annat filnamn för parametern -out använder du samma filnamn i anropet till terraform apply.
Om du inte använde parametern -out anropar terraform apply du utan några parametrar.
För varje virtuellt nätverksnamn som skrevs ut i föregående steg kör du az network manager list-effective-connectivity-config för att skriva ut de effektiva (tillämpade) konfigurationerna.
<virtual_network_name> Ersätt platshållaren med namnet på det virtuella nätverket.
Azure CLI
az network manager list-effective-connectivity-config \
--resource-group$resource_group_name \
--vnet-name<virtual_network_name>
För varje virtuellt nätverksnamn som skrevs ut i föregående steg kör du Get-AzNetworkManagerEffectiveConnectivityConfiguration för att skriva ut de effektiva (tillämpade) konfigurationerna.
<virtual_network_name> Ersätt platshållaren med namnet på det virtuella nätverket.
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.