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:
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.
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.
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.
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.
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.
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
.
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_id
is. 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.