Azure-beli kezdőzónák Terraform-modul

Az Azure natív szolgáltatásokat biztosít az Azure-beli célzónák kiépítéséhez. Más eszközök is segíthetnek ebben az erőfeszítésben. Az egyik eszköz, amelyet az ügyfelek és a partnerek gyakran használnak a célzónák üzembe helyezéséhez, a .

Az erőforrások alkalmazás-kezdőzónákba történő ü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 Az Azure-beli célzónák Terraform-modulja az kezeléséhez szükséges platformerőforrások gyors implementálását biztosítja.Azure-beli kezdőzónák nagy léptékben 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 kapcsolatban szeretne információt kapni, olvassa el a Telepítse a Terraform-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 lásd: Az AzureRM szolgáltatói útmutatói a Terraform webhelyén. Ha meg szeretné tudni, hogyan állíthatja be a szolgáltatót több előfizetésben való üzembe helyezéshez, tekintse meg a Szolgáltató konfigurációja wikilap.

A standard modulok használatának fontossága

Az összetevők újrafelhasználása az infrastruktúra mint kód alapelve. A modulok meghatározó szerepet jelentenek 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 kezdőzónák Terraform-modulja közzé van téve a Terraform Registry , és a HashiCorp ellenőrzi.

A modul terraformregisztrációs adatbázisból történő üzembe helyezése a következő lehetőségeket nyújtja:

  • 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, szigorú verziókövetéssel együtt.

A modul használatának előnyei

Az Azure-beli kezdőzónák Terraform-moduljának használatá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őinek használatával, és az egyéni definíciók széles tárával, amelyek hozzárendelhetők.
  • Szabályzatok érvényesítése az 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 a következők:
    • A szabályzatoknak való megfelelőség biztosítása a modul által kezelt erőforrások és a megfelelő szabályzat-hozzárendelések szoros integrációjával.
    • Az erőforrások közötti integráció csökkenti a felügyeleti terhelést, és jobb felhasználói élményt nyújt, például az Azure saját DNS virtuális hálózati kapcsolatainak automatikus létrehozását.

Tipp

A sablontár programozott módon frissül az Azure/Enterprise-Scale GitHub-adattár. Ha naprakész szeretne maradni 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 az Azure-beli célzónák következő kritikus tervezési területeihez igazodnak. Testre szabhatja ezeket az erőforrásokat a szervezet követelményeinek megfelelően.

Erőforráskategória Kritikus tervezési terület
Alapvető erőforrások Erőforrás-szervezet
Security
Kormányzás
Felügyeleti erőforrások Felügyelet és monitorozá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 hozhat létre és kényszeríthet konzisztenciát az Azure-platformon, amikor nagy léptékben dolgozik.

Ezek az erőforrások összhangban vannak az Azure-beli kezdőzónák fogalmi architektúrájával:

Az Azure-beli célzóna fogalmi architektúrájának ábrája.

Ezeket az erőforrásokat képesség szerint több előfizetésben is üzembe helyezheti Szolgáltató konfigurálása a modulblokkon.

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

Alapvető erőforrások

A modul alapvető képessége üzembe helyezi az alapjait.az Azure-beli célzónák fogalmi architektúrája, amelynek középpontjában az erőforrás-szervezés.

Az Azure-beli kezdőzóna fogalmi 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 helyezi üzembe és kezeli:

Erőforrás Azure-erőforrástípus Terraform-erőforrás típusa
Felügyeleti csoportok Microsoft.Management/managementGroups azurerm_management_group
Felügyeleti csoport-előfizetések 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 egyike sincs üzembe helyezve 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 történő hitelesítésről további információt a Hitelesítés az című témakörben talál.Azure Provider: Hitelesítés az Azure dokumentációjában .

Felügyeleti erőforrások

A modul lehetővé teszi az felügyeleti és monitorozási erőforrások az az Azure-beli kezdőzónák koncepcionális architektúrája a megadott előfizetésbe, a leírtak szerint.Szolgáltató konfigurációja wikilap. A modul azt is 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 diagramja, amely a felügyeleti erőforrásokra összpontosít.

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

Erőforrás Azure-erőforrástípus Terraform-erőforrás típusa
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 a teljes szabályzatmegfelelőség biztosítása érdekében.

A funkció használatáról további információt a wikilapon talál.

Kapcsolati erőforrások

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

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

A modul a DDoS Network Protection virtuális hálózatokkal való létrehozását és összekapcsolását, valamint a központosított nyilvános és privát DNS-zónák kezelését is lehetővé teszi.

Megjegyzés

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

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

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-beli 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.

Megjegyzé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 a kimenő virtuális hálózatok közötti társviszony-létesítés engedélyezve van a küllőről a küllőre, a felhasználóknak továbbra is küllőről központba kell társviszonyt létesíteniük. Ez annak a korlátozásának köszönhető, hogy az AzureRM-szolgáltató hogyan céloz meg egy adott előfizetést az üzembe helyezéshez.

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

Erőforrás Azure-erőforrástípus Terraform-erőforrás típusa
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ózatok közötti társviszonyok Microsoft.Network/virtualNetworks/virtualNetworkPeerings azurerm_virtual_network_peering

A funkció használatáról további információt a wikilapon talál.

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

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

Az Azure-beli kezdőzóna fogalmi architektúrájának ábrája, amely egy Virtual WAN (Microsoft által felügyelt) hálózati topológiát használó kapcsolati erőforrásokra összpontosít.

Megjegyzés

A hálózati erőforrások hagyományos Virtual WAN 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 Virtual WAN hálózati topológia (Microsoft által felügyelt) alapján helyez üzembe erőforrásokat, a modul a következő erőforrástípusokat helyezi üzembe és kezeli (a konfigurációtól függően):

Erőforrás Azure-erőforrástípus Terraform-erőforrás típusa
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
Virtuális központ kapcsolatai 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-csomag

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 csomaggal.

Megjegyzés

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

Fontos

Az Azure-beli kezdőzónák útmutatója a DDoS Network Protection engedélyezését javasolja az Azure-platform védelmének növelése érdekében. 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 terraform-modulban az erőforráshoz kapcsolódó költségek miatt.

Éles környezetekben határozottan 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 (a konfigurációtól függően):

Erőforrás Azure-erőforrástípus Terraform-erőforrás típusa
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 csatolható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 (a konfigurációtól függően):

Erőforrás Azure-erőforrástípus Terraform-erőforrás típusa
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 Zone Virtual Network Link Microsoft.Network/privatednszones/virtualnetworklinks azurerm_private_dns_zone_virtual_network_link

Identitás-erőforrások

A modul lehetővé teszi az kapcsolatos szabályzatok konfigurálását a felhőadaptálási keretrendszer.identitás- és hozzáférés-kezelési kezdőzóna. Azt is biztosítja, hogy a megadott előfizetés a megfelelő felügyeleti csoportba kerüljön.

Az Azure-beli kezdőzóna fogalmi architektúrájának ábrája, amely az identitás-erőforrásokra összpontosít.

Megjegyzés

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

A funkció használatáról további információt a wikilapon talál.

Első lépések

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

Az első lépések egyszerűsítése érdekében a modul közzé lett téve a Terraform Registry. Közvetlenül a kódban hivatkozhat rá, ahogy 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 tekintheti meg.Függőségek lap a Terraform beállításjegyzékében.

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émát a Terraform és az AzureRM szolgáltató legújabb verziójára való frissítéssel háríthat el. Más ismert problémák átmeneti hibák, amelyeket általában az üzemelő példány ú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 azokat.

Ha módosításra van szükség, kiadjuk a modul új verzióit. Az új kiadások biztosítják a Terraform és az AzureRM szolgáltató legújabb verzióival való kompatibilitást. További információért tekintse meg a Modulkiadások útmutató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 újabb 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 üzemelő példányt.

Tipp

Annak ellenére root_parent_id , hogy ez a modul egyetlen kötelező változója, javasoljuk a beállítását root_idis. Az érték módosítása elindítja a root_id modul által kezelt összes erőforrás teljes újbóli üzembe helyezését, 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 modul gyorsított utat biztosít 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 célzónák konfigurációjának kezelését is egyszerűbben kezeli.

További információért tekintse át a Terraform Registry modulját , és tekintse át a moduldokumentációja a GitHubon. A dokumentációban további példákat és oktatóanyagokat talál az üzembe helyezés testreszabásával kapcsolatban.

Megtudhatja, hogyan az Azure-beli kezdőzónák Terraform-moduljának üzembe helyezése a HashiCorp Learn használatával. Innen azt is megtudhatja, hogyan működnek a modul egyes részei.