Megosztás a következőn keresztül:


Azure-beli célzónák Terraform-modulja

Az Azure natív szolgáltatásokat biztosít az Azure-beli célzónák létrehozásához. Más eszközök is segíthetnek ebben az erőfeszítésben. Az ügyfelek és partnerek által gyakran használt eszköz a Terraform by HashiCorp.

Az erőforrások alkalmazás-kezdőzónákban való üzembe helyezése kívül esik a modul hatókörén. Az üzembe helyezési módszerről és az eszközökről az alkalmazásért felelős csapat dönt.

Az Azure-beli célzónák Terraform modulja gyors implementációt biztosít az Azure-beli célzónák nagy léptékű kezeléséhez szükséges platformerőforrásokhoz a Terraform használatával. A modul célja, hogy egyszerűsítse a felügyeleti csoport hierarchiájának, szabályzatainak és erőforrásainak üzembe helyezését a kapcsolati és felügyeleti előfizetésekben.

Előfeltételek

Ha még nem használta a Terraformot, és a telepítésével és használatával kapcsolatos információkat szeretne, tekintse meg a Terraform telepítése oktatóanyagot a HashiCorp Learn webhelyen.

A Terraform-szolgáltató beállításával és az Azure-ral való hitelesítéssel kapcsolatos információkért tekintse meg az AzureRM szolgáltatói útmutatókat a Terraform webhelyén. Ha többet szeretne megtudni arról, hogyan állíthatja be a szolgáltatót több előfizetésre való üzembe helyezéshez, tekintse meg a Szolgáltató konfigurációja wikilapot.

A standard modulok használatának fontossága

Az összetevők újrafelhasználása az infrastruktúra mint kód alapelve. A modulok összhangban vannak a szabványok és a konzisztencia meghatározásában az erőforrások környezeteken belüli és környezeteken belüli üzembe helyezésében.

Az Azure-beli célzónák Terraform modulja közzé van téve a hivatalos Terraform-beállításjegyzékben , és a HashiCorp ellenőrzi.

A modul terraformregisztrációs adatbázisból való üzembe helyezése a következőt biztosítja:

  • Az Azure-beli célzónák gyorsított kézbesítése a környezetben.
  • Tesztelt frissítési útvonal a modul legújabb verziójára, valamint szigorú verziókövetés.

A modul használatának előnyei

Az Azure-beli kezdőzónák Terraform-moduljának előnyei a következők:

  • Felügyelt és bővíthető alapvető erőforráshierarchia az előfizetés-szervezet számára felügyeleti csoportokon keresztül.
  • Skálázható biztonsági szabályozás és megfelelőség az Azure Identity and Access Management (IAM) vezérlőivel, a hozzárendelhető egyéni definíciók széles tárával.
  • Szabályzat érvényesítése előfizetések között a felügyeleti csoport öröklésével.
  • Felügyelt erőforrások felügyeleti és kapcsolati kezdőzónákhoz. Ezek az erőforrások az alábbiakat biztosítják:
    • A szabályzatoknak való megfelelőség biztosítása a modul által felügyelt erőforrások és a megfelelő szabályzat-hozzárendelések szoros integrációjával.
    • Az erőforrások integrációja a felügyeleti többletterhelés csökkentése és a jobb felhasználói élmény biztosítása érdekében, például az Azure saját DNS virtuális hálózati kapcsolatainak automatikus létrehozása.

Tipp.

A sablontár programozott módon frissül az Azure/Enterprise-Scale GitHub-adattárból. Ha naprakész szeretne lenni a legújabb archetípus-konfigurációval, szabályzatokkal és szerepkörökkel, győződjön meg arról, hogy a modul legújabb verzióját használja.

Erőforrás üzembe helyezése

A modult úgy konfigurálhatja, hogy olyan erőforráskészleteket helyezzen üzembe, amelyek megfelelnek az Azure-beli célzónák következő kritikus tervezési területeinek. Testre szabhatja ezeket az erőforrásokat a szervezet követelményeinek megfelelően.

Erőforrás-kategória Kritikus tervezési terület
Alapvető erőforrások Erőforrás-szervezet
biztonsági
szabályozása
Felügyeleti erőforrások Felügyelet és figyelés
Kapcsolati erőforrások Hálózati topológia és kapcsolat
Identitáserőforrások Identitás- és hozzáférés-kezelés

Ha ezeket a képességeket egyetlen Terraform-modulba csomagolja, egyszerűbben építheti ki és kényszerítheti ki a konzisztenciát az Azure-platformon, amikor nagy léptékben dolgozik.

Ezek az erőforrások összhangban vannak az Azure-beli célzónák elméleti architektúrájával:

Az Azure célzóna fogalmi architektúrájának diagramja.

Ezeket az erőforrásokat képesség szerint több előfizetésben is üzembe helyezheti a modulblokk szolgáltatói konfigurációjának használatával.

Az alábbi szakaszok az erőforrástípusokat és a konfigurációs beállításokat ismertetik.

Alapvető erőforrások

Ennek a modulnak az alapvető képessége üzembe helyezi az Azure-beli célzónák elméleti architektúrájának alapjait, és a központi erőforrás-szervezetre összpontosít.

Az Azure-beli kezdőzóna elméleti architektúrájának diagramja, amely az alapvető erőforrás-hierarchiára összpontosít.

Ha engedélyezi az alapvető erőforrások üzembe helyezését (alapértelmezés szerint engedélyezve), a modul a következő erőforrástípusokat telepíti és kezeli:

Erőforrás Azure-erőforrástípus Terraform erőforrástípus
Felügyeleti csoportok Microsoft.Management/managementGroups azurerm_management_group
Felügyeleti csoport előfizetései Microsoft.Management/managementGroups/subscriptions azurerm_management_group
Szabályzat-hozzárendelések Microsoft.Authorization/policyAssignments azurerm_management_group_policy_assignment
Szabályzatdefiníciók Microsoft.Authorization/policyDefinitions azurerm_policy_definition
Szabályzatkészlet-definíciók Microsoft.Authorization/policySetDefinitions azurerm_policy_set_definition
Szerepkör-hozzárendelések Microsoft.Authorization/roleAssignments azurerm_role_assignment
Szerepkör-definíciók Microsoft.Authorization/roleDefinitions azurerm_role_definition

A modul által létrehozott erőforrások pontos száma a modul konfigurációjától függ. Az alapértelmezett konfiguráció esetén a modul várhatóan körülbelül 180 erőforrásokat hoz létre.

Tipp.

Ezen erőforrások egyikét sem helyezi üzembe az előfizetés hatókörében, de a Terraformnak továbbra is szüksége van egy előfizetésre, hogy hitelesített munkamenetet hozzon létre az Azure-ral. Az Azure-ral való hitelesítésről további információt az Azure Provider: Authenticating to Azure dokumentációjában talál.

Felügyeleti erőforrások

A modul lehetővé teszi a felügyeleti és monitorozási erőforrások üzembe helyezését az Azure-beli kezdőzónák elméleti architektúrájából a megadott előfizetésbe, a Provider Configuration wikioldalon leírtak szerint. A modul azt is biztosítja, hogy a megadott előfizetés a megfelelő felügyeleti csoportba kerüljön.

Az Azure célzóna fogalmi architektúrájának diagramja, amely a felügyeleti erőforrásokra összpontosít.

Ha engedélyezi a felügyeleti erőforrások üzembe helyezését, a modul a következő erőforrástípusokat helyezi üzembe és kezeli (konfigurációtól függően):

Erőforrás Azure-erőforrástípus Terraform erőforrástípus
Erőforráscsoportok Microsoft.Resources/resourceGroups azurerm_resource_group
Log Analytics-munkaterület Microsoft.OperationalInsights/workspaces azurerm_log_analytics_workspace
Log Analytics-megoldások Microsoft.OperationsManagement/solutions azurerm_log_analytics_solution
Automation-fiók Microsoft.Automation/automationAccounts azurerm_automation_account
Log Analytics társított szolgáltatás Microsoft.OperationalInsights/workspaces /linkedServices azurerm_log_analytics_linked_service

A fenti erőforrások üzembe helyezése mellett a modul natív integrációt biztosít a megfelelő szabályzat-hozzárendelésekbe, hogy teljes körű szabályzatmegfelelőséget biztosítson.

A funkció használatáról további információt a Felügyeleti erőforrások üzembe helyezése wikilapon talál.

Kapcsolati erőforrások

A modul lehetővé teszi a hálózati topológia és a kapcsolati erőforrások üzembe helyezését az Azure-beli kezdőzónák elméleti architektúrájából az aktuális előfizetési környezetbe. Emellett biztosítja, hogy a megadott előfizetés a megfelelő felügyeleti csoportba kerüljön.

Ez a funkció lehetővé teszi több hub-hálózat üzembe helyezését a hagyományos Azure hálózati topológia (központ és küllő) és a Virtual WAN hálózati topológia (Microsoft által felügyelt) bármely kombinációján alapulva.

A modul a DDoS Network Protection virtuális hálózatokkal való összekapcsolására és központi nyilvános és privát DNS-zónák kezelésére is képes.

Feljegyzés

Jelenleg nem javasoljuk a DDoS IP Protection használatát az Azure-beli kezdőzónákban, és javasoljuk, hogy adott körülmények között használja ezt a lehetőséget. Tekintse át a termékdokumentációt az Azure DDoS Protection termékváltozatának összehasonlításáról

Hagyományos Azure hálózati topológia (központ és küllő)

A modul opcionálisan üzembe helyezhet egy vagy több központhálózatot a hagyományos Azure hálózati topológia (központ és küllő) alapján.

Az Azure célzóna fogalmi architektúrájának diagramja, amely a hagyományos Azure hálózati topológiát (központ és küllő) használó kapcsolati erőforrásokra összpontosít.

Feljegyzés

A modul jelenleg csak a hálózati központot és a függő erőforrásokat konfigurálja a kapcsolati előfizetéshez. Bár lehetőség van a küllős virtuális hálózatok küllőről küllőre történő társviszonyának engedélyezésére, a felhasználóknak továbbra is kezdeményezniük kell a küllő és a központ közötti társviszony-létesítést. Ennek oka az, hogy az AzureRM-szolgáltató hogyan céloz meg egy adott előfizetést az üzembe helyezéshez.

Amikor hagyományos Azure hálózati topológián (központ és küllő) alapuló erőforrásokat helyez üzembe, a modul a következő erőforrástípusokat helyezi üzembe és kezeli (konfigurációtól függően):

Erőforrás Azure-erőforrástípus Terraform erőforrástípus
Erőforráscsoportok Microsoft.Resources/resourceGroups azurerm_resource_group
Virtuális hálózatok Microsoft.Network/virtualNetworks azurerm_virtual_network
Alhálózatok Microsoft.Network/virtualNetworks/subnets azurerm_subnet
Virtuális hálózati átjárók Microsoft.Network/virtualNetworkGateways azurerm_virtual_network_gateway
Azure-tűzfalak Microsoft.Network/azureFirewalls azurerm_firewall
Nyilvános IP-címek Microsoft.Network/publicIPAddresses azurerm_public_ip
Virtuális hálózati társviszonyok Microsoft.Network/virtualNetworks/virtualNetworkPeerings azurerm_virtual_network_peering

A funkció használatáról további információt a Kapcsolati erőforrások üzembe helyezése wikilapon talál.

Virtual WAN hálózati topológia (Microsoft által felügyelt)

A modul opcionálisan üzembe helyezhet egy vagy több központi hálózatot a Virtual WAN hálózati topológiája (Microsoft által felügyelt) alapján.

Az Azure célzóna fogalmi architektúrájának diagramja, amely a Virtual WAN hálózati topológiát használó (Microsoft által felügyelt) kapcsolati erőforrásokra összpontosít.

Feljegyzés

A Virtual WAN hálózati erőforrásainak különböző képességei miatt a Virtual WAN küllőkhöz való társviszony-létesítés kétirányú a funkció használatakor.

Amikor egy Virtual WAN hálózati topológián (Microsoft által felügyelt) alapuló erőforrásokat helyez üzembe, a modul a következő erőforrástípusokat helyezi üzembe és kezeli (konfigurációtól függően):

Erőforrás Azure-erőforrástípus Terraform erőforrástípus
Erőforráscsoportok Microsoft.Resources/resourceGroups azurerm_resource_group
Virtuális WAN-ok Microsoft.Network/virtualWans azurerm_virtual_wan
Virtuális központok Microsoft.Network/virtualHubs azurerm_virtual_hub
Express Route-átjárók Microsoft.Network/expressRouteGateways azurerm_express_route_gateway
VPN-átjárók Microsoft.Network/vpnGateways azurerm_vpn_gateway
Azure-tűzfalak Microsoft.Network/azureFirewalls azurerm_firewall
Azure Firewall-szabályzatok Microsoft.Network/firewallPolicies azurerm_firewall_policy
Virtual Hub-kapcsolatok Microsoft.Network/virtualHubs/hubVirtualNetworkConnections azurerm_virtual_hub_connection

A funkció használatáról további információt a Virtual WAN-erőforrások üzembe helyezése wikilapon talál.

DDoS Protection-terv

A modul igény szerint üzembe helyezheti a DDoS Network Protectiont, és szükség esetén összekapcsolhatja a virtuális hálózatokat a tervvel.

Feljegyzés

A platformkorlátozások miatt a DDoS Protection-csomagok csak hagyományos virtuális hálózatokon engedélyezhetők. A Virtual Hub támogatása jelenleg nem érhető el.

Fontos

Az Azure-beli célzónák útmutatója azt javasolja, hogy engedélyezze a DDoS Network Protection használatát az Azure-platform védelmének növeléséhez. A nem éles és MVP üzemelő példányok váratlan költségeinek elkerülése érdekében ez a képesség le van tiltva az Azure-beli kezdőzónák Terraform moduljában az erőforráshoz társított költségek miatt.

Éles környezetekben erősen javasoljuk ennek a képességnek a engedélyezését.

Ha engedélyezi a DDoS Protection-terv erőforrásainak üzembe helyezését, a modul a következő erőforrástípusokat helyezi üzembe és kezeli (konfigurációtól függően):

Erőforrás Azure-erőforrástípus Terraform erőforrástípus
Erőforráscsoportok Microsoft.Resources/resourceGroups azurerm_resource_group
DDoS Protection-csomagok Microsoft.Network/ddosProtectionPlans azurerm_network_ddos_protection_plan

DNS

A modul igény szerint üzembe helyezhet saját DNS zónákat a privát végpontok támogatásához, és összekapcsolhatja őket a küllős virtuális hálózatokkal. A felhasználó által megadott nyilvános és privát DNS-zónák szükség szerint üzembe helyezhetők és összekapcsolhatók.

Ha engedélyezi a DNS-erőforrások üzembe helyezését, a modul a következő erőforrástípusokat helyezi üzembe és kezeli (konfigurációtól függően):

Erőforrás Azure-erőforrástípus Terraform erőforrástípus
Erőforráscsoportok Microsoft.Resources/resourceGroups azurerm_resource_group
DNS-zónák Microsoft.Network/dnsZones azurerm_dns_zone
saját DNS zónák Microsoft.Network/privateDnsZones azurerm_private_dns_zone
saját DNS zóna virtuális hálózati kapcsolata Microsoft.Network/privatednszones/virtualnetworklinks azurerm_private_dns_zone_virtual_network_link

Identitáserőforrások

A modul lehetővé teszi az identitás- és hozzáférés-kezelési célzónával kapcsolatos szabályzatok konfigurálását. Emellett biztosítja, hogy a megadott előfizetés a megfelelő felügyeleti csoportba kerüljön.

Az Azure-beli célzóna fogalmi architektúrájának ábrája, amely az identitáserőforrásokra összpontosít.

Feljegyzés

Ez a képesség nem helyez üzembe erőforrásokat. Ha frissíteni szeretné az identitáskezelési csoporthoz kapcsolódó házirend-beállításokat, használja a bemeneti változót configure_identity_resources .

A funkció használatáról további információt az Identitáserőforrások üzembe helyezése wikilapon talál.

Első lépések

A modul használatának megkezdésére vonatkozó követelményeket az Első lépések wikilapon dokumentáljuk.

Az első lépések egyszerűsítése érdekében a modul közzé lett téve a Terraform Registryben. Közvetlenül a kódban hivatkozhat rá, ahogyan az a cikk későbbi, egyszerű példájában is látható. A futtatás terraform init automatikusan letölti a modult és az összes függőséget.

A legújabb modul- és szolgáltatófüggőségeket a Terraform-beállításjegyzék Függőségek lapján tekintheti meg.

Fontos

Néhány Terraform- és AzureRM-szolgáltatói verziókombinációval kapcsolatban ismert problémák merülnek fel. Néhány ismert probléma megoldásához frissítsen a Terraform és az AzureRM szolgáltató legújabb verzióira. Más ismert problémák átmeneti hibák, amelyeket általában az üzembe helyezés újrafuttatásával lehet kijavítani.

Általában azt javasoljuk, hogy rögzítsen bizonyos verziókat, és a frissítés előtt alaposan tesztelje.

Ha módosításra van szükség, kiadjuk a modul új verzióit. Az új kiadások biztosítják a kompatibilitást a Terraform és az AzureRM szolgáltató legújabb verzióival. További információért tekintse meg a modul kiadási útmutatóját .

A legújabb funkciók beszerzéséhez győződjön meg arról, hogy a modul verziója a legújabb verzióra van állítva. Ha a modul egy későbbi verziójára frissít, futtassa a parancsot terraform init -upgrade.

GitHub-kiadás (legújabb SemVer)

Egyszerű példa

Ez a példakód üzembe helyezi a minimálisan ajánlott felügyeleti csoportot és előfizetés-szervezetet a nagyvállalati szintű referenciaarchitektúrából. Miután elvégezte ezt az egyszerű példát, elkezdheti testre szabni az üzembe helyezést.

Tipp.

Annak ellenére root_parent_id , hogy a modul csak kötelező változó, javasoljuk a beállítását root_idis. Az root_id érték módosítása a modul által kezelt összes erőforrás teljes újratelepítését indítja el, beleértve az alsóbb rétegbeli függőségeket is.

A következő kód egy egyszerű kezdőkonfiguráció a main.tf gyökérmodulhoz:

# Configure Terraform to set the required AzureRM provider
# version and features{} block.

terraform {
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = ">= 2.77.0"
    }
  }
}

provider "azurerm" {
  features {}
}

# Get the current client configuration from the AzureRM provider.
# This configuration is used to populate the root_parent_id variable with the
# current tenant ID used as the ID for the "Tenant Root Group"
# management group.

data "azurerm_client_config" "core" {}

# Use variables to customize the deployment

variable "root_id" {
  type    = string
  default = "es"
}

variable "root_name" {
  type    = string
  default = "Enterprise-Scale"
}

# Declare the Terraform Module for Cloud Adoption Framework
# Enterprise-scale and provide a base configuration.

module "enterprise_scale" {
  source  = "Azure/caf-enterprise-scale/azurerm"
  version = ">= 1.0.0"

  providers = {
    azurerm              = azurerm
    azurerm.connectivity = azurerm
    azurerm.management   = azurerm
  }

  root_parent_id = data.azurerm_client_config.core.tenant_id
  root_id        = var.root_id
  root_name      = var.root_name

}

Következő lépések

A Nagyvállalati szintű felhőadaptálási keretrendszer Terraform modulja gyorsított utat kínál a nagyvállalati szintű célzónák kiépítéséhez. Emellett rugalmasan bővítheti és testre szabhatja az üzemelő példányt, miközben az egyes kezdőzónák konfigurációjának kezelését leegyszerűsíti.

További információkért tekintse át a Terraform-beállításjegyzékben található modult, és ismerkedjen meg a GitHub moduldokumentációival. A dokumentációban további példákat és oktatóanyagokat talál az üzembe helyezés testreszabásáról.

Ismerje meg, hogyan helyezheti üzembe az Azure-beli célzónák Terraform-modult a HashiCorp Learn segítségével. Innen azt is megtudhatja, hogyan működnek a modul egyes részei.