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:
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.
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.
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.
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.
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.
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
.
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_id
is. 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.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: