Strefy docelowe platformy Azure — zagadnienia dotyczące projektowania modułu terraform
W tym artykule omówiono ważne obszary, które należy wziąć pod uwagę podczas korzystania z modułu Terraform stref docelowych platformy Azure. Moduł zawiera opinię dotyczącą wdrażania i obsługi platformy Azure opartej na architekturze koncepcyjnej strefy docelowej platformy Azure zgodnie z opisem w przewodniku Cloud Adoption Framework (CAF).
Terraform to narzędzie typu open source Infrastructure as Code (IaC) utworzone przez firmę HashiCorp, które używa składni deklaratywnej do wdrażania zasobów infrastruktury. Jest rozszerzalny, ma obsługę międzyplatformową i umożliwia niezmienną infrastrukturę za pośrednictwem śledzenia stanu.
Ważne
Moduł jest dostępny w module Terraform Registry: Strefy docelowe platformy Azure Terraform. Można go użyć jako punktu początkowego i skonfigurować zgodnie z potrzebami.
Uwaga
Istnieją implementacje dla kilku technologii wdrażania, w tym opartych na portalu, szablonach usługi ARM i modułach programu Terraform. Wybór technologii wdrażania nie powinien mieć wpływu na wynikowe wdrożenie stref docelowych platformy Azure.
ALZ Terraform Accelerator
Aby szybko rozpocząć wdrażanie usługi ALZ za pomocą narzędzia Terraform, możesz użyć akceleratora NARZĘDZIA Terraform ALZ przeznaczonego do użycia jako szablonu. To repozytorium udostępnia pomocniczą implementację modułu Terraform stref docelowych platformy Azure z potokami usługi Azure DevOps i przepływami pracy funkcji GitHub Actions.
Akcelerator terraform ALZ jest zgodny z podejściem 3 fazy:
- Wymagania wstępne: instrukcje dotyczące konfigurowania poświadczeń i subskrypcji.
- Bootstrap: uruchom skrypt programu PowerShell, aby wygenerować środowisko ciągłego dostarczania.
- Uruchom: zaktualizuj moduł (w razie potrzeby) zgodnie z potrzebami organizacji i wdróż go za pośrednictwem ciągłego dostarczania.
Zacznij od przewodnika użytkownika krok po kroku, aby uruchomić środowisko strefy docelowej platformy Azure.
Projektowanie
Architektura korzysta z konfigurowalnego charakteru programu Terraform i składa się z podstawowego modułu aranżacji. Ten moduł hermetyzuje wiele możliwości architektury koncepcyjnej stref docelowych platformy Azure. Każdą możliwość można wdrożyć pojedynczo lub częściowo. Można na przykład wdrożyć tylko sieć piasty lub tylko usługę Azure DDoS Protection lub tylko zasoby DNS. W takim przypadku należy wziąć pod uwagę, że możliwości mają zależności.
Architektura wykorzystuje podejście orkiestratora, aby uprościć środowisko wdrażania. Wolisz zaimplementować każdą możliwość przy użyciu co najmniej jednego dedykowanego wystąpienia modułu, w którym każda z nich jest przeznaczona dla określonej części architektury. To wszystko jest możliwe z poprawną konfiguracją
Moduły
Podstawową koncepcją w narzędziu Terraform jest użycie modułów. Moduły umożliwiają organizowanie wdrożeń w grupach logicznych. Dzięki modułom można poprawić czytelność plików programu Terraform, hermetyzując złożone szczegóły wdrożenia. Można również łatwo używać modułów dla różnych wdrożeń.
Możliwość ponownego używania modułów zapewnia rzeczywistą korzyść podczas definiowania i wdrażania stref docelowych. Umożliwia powtarzalne, spójne środowiska w kodzie przy jednoczesnym zmniejszeniu nakładu pracy wymaganego do wdrożenia na dużą skalę.
Implementacja programu Terraform stref docelowych platformy Azure jest dostarczana przy użyciu jednego modułu, który działa jako warstwa aranżacji. Warstwa aranżacji umożliwia wybranie, które zasoby są wdrażane i zarządzane przy użyciu modułu. Moduł może być używany wiele razy w tym samym środowisku, aby wdrażać zasoby niezależnie od siebie. Może to być przydatne w organizacjach, w których różne zespoły są odpowiedzialne za różne możliwości lub kolekcje zasobów podrzędnych.
Warstwy i przemieszczanie
Implementacja koncentruje się na centralnej hierarchii zasobów architektury koncepcyjnej strefy docelowej platformy Azure. Projekt jest skoncentrowany na następujących możliwościach:
- Zasoby podstawowe
- Zasoby zarządzania
- Zasoby łączności
- Zasoby tożsamości
Moduł grupuje zasoby w tych możliwościach, ponieważ mają być wdrażane razem. Grupy te tworzą logiczne etapy implementacji.
Wdrożenie każdej z tych funkcji można kontrolować przy użyciu flag funkcji. Zaletą tego podejścia jest możliwość przyrostowego dodawania środowiska w czasie. Na przykład możesz zacząć od niewielkiej liczby możliwości. Pozostałe możliwości można dodać na późniejszym etapie, gdy wszystko będzie gotowe.
Zasoby podstawowe
Podstawowa funkcja zasobów modułu jest zgodna z obszarem projektowania organizacji zasobów przewodnika Cloud Adoption Framework. Wdraża podstawowe zasoby architektury koncepcyjnej dla stref docelowych platformy Azure.
Archetypów
Ważną koncepcją w zakresie podstawowych zasobów jest włączenie archetypów.
Archetypy zapewniają podejście wielokrotnego użytku oparte na kodzie do definiowania definicji zasad, definicji zestawu zasad, przypisań zasad, definicji ról i przypisań ról należy zastosować w danym zakresie. W implementacji programu Terraform te decyzje są hermetyzowane jako definicje archetypów.
Aby utworzyć strefę docelową, grupy zarządzania są skojarzone z definicją archetypu. W poniższym przykładzie dla strefy docelowej corp archetype_config ma wskaźnik do definicji archetypu "es_corp". Ta definicja zawiera wszystkie konfiguracje zasad i ról, które zostaną dodane do tej grupy zarządzania.
es_corp_landing_zones = {
"contoso-corp" = {
display_name = "Corp"
parent_management_group_id = "contoso-landing-zones"
subscription_ids = []
archetype_config = {
archetype_id ="es_corp"
parameters = {}
access_control = {}
}
}
Gdy wbudowane archetypy nie są zgodne z wymaganiami, moduł udostępnia opcje tworzenia nowych archetypów lub wprowadzania zmian w istniejących.
Zasoby zarządzania
Możliwość zarządzania zasobami modułu jest zgodna z obszarem projektowania zarządzania w przewodniku Cloud Adoption Framework. Ta funkcja umożliwia wdrażanie zasobów zarządzania i monitorowania w strefie docelowej platformy zarządzania.
Zasoby łączności
Możliwości zasobów łączności w module udostępniają opcję wdrożenia topologii sieci i łączności architektury koncepcyjnej dla stref docelowych platformy Azure.
Zasoby tożsamości
Funkcja zasobów tożsamości modułu jest zgodna z obszarem projektowania zarządzania tożsamościami i dostępem platformy Azure w przewodniku Cloud Adoption Framework. Ta funkcja umożliwia skonfigurowanie zasad w strefie docelowej platformy tożsamości.
Uwaga
Dzięki tej możliwości nie są wdrażane żadne zasoby. Gdy zmienna deploy_identity_resources
ma wartość true, przypisania usługi Azure Policy są skonfigurowane, aby chronić zasoby w subskrypcji strefy docelowej platformy tożsamości.
Opisy modułów
Ta sekcja zawiera ogólne omówienie zasobów wdrożonych przez ten moduł.
Warstwa | Typy zasobów | opis | Przydatne linki |
---|---|---|---|
Podstawowe funkcje | Grupy zarządzania | Grupy zarządzania to zasoby najwyższego poziomu w dzierżawie platformy Azure. Grupy zarządzania umożliwiają łatwiejsze zarządzanie zasobami. Zasady można stosować na poziomie grupy zarządzania, a zasoby niższego poziomu będą dziedziczyć te zasady. W szczególności można zastosować następujące elementy na poziomie grupy zarządzania, które będą dziedziczone przez subskrypcje w grupie zarządzania:
|
|
Podstawowe funkcje | Definicje zasad, przypisania zasad i definicje zestawu zasad | Zasady DeployIfNotExists (DINE) lub Modyfikuj pomagają zapewnić zgodność subskrypcji i zasobów tworzących strefy docelowe. Zasady są przypisywane do grup zarządzania za pomocą przypisań zasad. Zasady ułatwiają zarządzanie strefami docelowymi. Definicje zestawu zasad grupują zestawy zasad razem. Nie wszyscy klienci mogą używać zasad DINE lub Modify. Jeśli tak się dzieje, wskazówki caF dotyczące zasad niestandardowych zawierają wskazówki. |
|
Podstawowe funkcje | Definicje ról i przypisania ról | Kontrola dostępu oparta na rolach (RBAC) upraszcza zarządzanie prawami użytkowników w systemie. Zamiast zarządzać prawami osób fizycznych, należy określić prawa wymagane dla różnych ról w systemie. Kontrola dostępu oparta na rolach platformy Azure ma kilka wbudowanych ról. Definicje ról niestandardowych umożliwiają tworzenie ról niestandardowych dla danego środowiska. Zarządzanie tożsamościami i dostępem (IAM) to kluczowa granica zabezpieczeń w przetwarzaniu w chmurze. Kontrola dostępu oparta na rolach platformy Azure umożliwia wykonywanie przypisań ról wbudowanych lub niestandardowych definicji ról do jednostek usługi, tożsamości zarządzanych lub grup zabezpieczeń w grupach zarządzania i subskrypcjach. |
|
Zarządzanie | Azure Monitor, Azure Automation i Microsoft Sentinel | Usługi Azure Monitor, Azure Automation i Microsoft Sentinel umożliwiają monitorowanie infrastruktury i obciążeń oraz zarządzanie nimi. Azure Monitor to rozwiązanie, które umożliwia zbieranie, analizowanie i wykonywanie działań telemetrycznych ze środowiska. Microsoft Sentinel to natywna dla chmury funkcja zarządzania informacjami i zdarzeniami zabezpieczeń (SIEM). Umożliwia to:
Usługa Azure Automation to oparty na chmurze system automatyzacji. Zawartość:
|
|
Łączność | Podstawowe typy zasobów sieci wymienionych tutaj | Topologia sieci to kluczowa kwestia we wdrożeniach strefy docelowej platformy Azure. CaF koncentruje się na dwóch podstawowych podejściach sieciowych:
|
|
Łączność | Ochrona przed atakami DDoS | Wskazówki dotyczące strefy docelowej platformy Azure zaleca włączenie usługi Azure DDoS Network Protection. Ta usługa oferuje kompleksową ochronę przed atakami DDoS. | |
Łączność | Strefy DNS, strefy Prywatna strefa DNS i łącze sieci wirtualnej strefy Prywatna strefa DNS | Prywatna strefa DNS stref można wdrożyć w celu obsługi korzystania z prywatnych punktów końcowych. Prywatny punkt końcowy to karta sieciowa, która ma przypisany prywatny adres IP z sieci wirtualnej. Za pomocą prywatnego adresu IP można bezpiecznie komunikować się z usługami obsługującymi usługę Azure Private Link. Prywatna strefa DNS strefy można skonfigurować w celu rozpoznawania w pełni kwalifikowanej nazwy domeny (FQDN) usługi na prywatny adres IP prywatnego punktu końcowego. |
Korzystanie z modułu Terraform
Wdrażanie podstawowych zasobów
Domyślnie moduł wdroży następującą hierarchię, która jest podstawowym zestawem grup zarządzania strefami docelowymi:
- Korzeń
- Platforma
- Tożsamość
- Zarządzanie
- Łączność
- Strefy docelowe
- Sprzęt zlikwidowany
- Piaskownica
- Platforma
Grupy zarządzania strefami docelowymi SAP, Corp i Online nie mają zastosowania do wszystkich użytkowników, więc nie są one domyślnie wdrażane. Poniżej przedstawiono sposoby wdrażania następujących elementów:
- W celach demonstracyjnych można ustawić zmienną
deploy_demo_landing_zones
na true, która będzie wdrażać strefy docelowe SAP, Corp i Online - W celach produkcyjnych można włączyć żądane grupy zarządzania, ustawiając następujące zmienne na true:
deploy_corp_landing_zones
deploy_online_landing_zones
deploy_sap_landing_zones
- Możesz wdrożyć własne niestandardowe grupy zarządzania strefami docelowymi, tworząc niestandardową definicję strefy docelowej
Wdrażanie zasobów zarządzania
Aby wdrożyć zasoby zarządzania, zmienna deploy_management_resources
musi być ustawiona na wartość true, a subscription_id_management
zmienna musi być ustawiona na identyfikator subskrypcji zarządzania, w której mają być wdrażane zasoby.
deploy_management_resources = true
subscription_id_management = <management subscription id>
Wdrażanie zasobów łączności
Wdrażanie zasobów łączności zawiera wskazówki dotyczące wdrażania tych topologii.
Wdrażanie zasobów tożsamości
Aby wdrożyć funkcję tożsamości, zmienna musi być ustawiona na wartość true, deploy_identity_resources
a subscription_id_identity
zmienna musi być ustawiona na identyfikator subskrypcji tożsamości, w której mają zostać skonfigurowane zasady.
deploy_identity_resources = true
subscription_id_identity = <identity subscription id>
Dostosowywanie implementacji narzędzia Terraform
Implementacje strefy docelowej platformy Azure udostępniane w ramach przewodnika Cloud Adoption Framework odpowiadają szerokiej gamie wymagań i przypadków użycia. Jednak często istnieją scenariusze, w których dostosowanie jest wymagane do spełnienia określonych potrzeb biznesowych.
Napiwek
Aby uzyskać więcej informacji, zobacz Dostosowywanie architektury strefy docelowej platformy Azure w celu spełnienia wymagań .
Moduł Terraform stref docelowych platformy Azure może służyć jako podstawa dostosowanego wdrożenia. Dzięki temu można przyspieszyć implementację, usuwając konieczność rozpoczęcia od podstaw z powodu określonej wymaganej zmiany reguł gotowej opcji.
Informacje na temat dostosowywania modułów są dostępne w witrynie typu wiki repozytorium GitHub: moduł Terraform stref docelowych platformy Azure — wiki. Można go użyć jako punktu początkowego i skonfigurować zgodnie z potrzebami.