Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Stellen Sie AWS Control Tower Account Factory für Terraform (AFT) bereit
Dieser Abschnitt richtet sich an Administratoren von AWS Control Tower-Umgebungen, die Account Factory for Terraform (AFT) in ihrer bestehenden Umgebung einrichten möchten. Es wird beschrieben, wie eine Account Factory for Terraform (AFT) -Umgebung mit einem neuen, dedizierten AFT-Verwaltungskonto eingerichtet wird.
Anmerkung
Ein Terraform-Modul stellt AFT bereit. Dieses Modul ist im AFT-Repository
Wir empfehlen, dass Sie sich auf die AFT-Module beziehen, GitHub anstatt das AFT-Repository zu klonen. Auf diese Weise können Sie Aktualisierungen der Module kontrollieren und nutzen, sobald sie verfügbar sind.
Einzelheiten zu den neuesten Versionen der Funktionen von AWS Control Tower Account Factory for Terraform (AFT) finden Sie in der Release-Datei
Voraussetzungen für die Bereitstellung
Bevor Sie Ihre AFT-Umgebung konfigurieren und starten, müssen Ihnen die folgenden Ressourcen zur Verfügung stehen:
-
Eine Heimatregion für Ihre AWS Control Tower-Landezone. Weitere Informationen finden Sie unter So AWS-Regionen arbeiten Sie mit dem AWS Control Tower.
-
Eine Landezone für den AWS Control Tower. Weitere Informationen finden Sie unter Planen Sie Ihre AWS Control Tower-Landezone.
Ein AFT-Verwaltungskonto, das Sie im AWS Control Tower bereitstellen oder auf andere Weise bereitstellen und sich bei AWS Control Tower registrieren können.
-
Eine Terraform-Version und -Distribution. Weitere Informationen finden Sie unter Terraform- und AFT-Versionen.
-
Ein VCS-Anbieter für die Verfolgung und Verwaltung von Änderungen an Code und anderen Dateien. Standardmäßig verwendet AWS CodeCommit AFT. Weitere Informationen finden Sie unter Was ist AWS CodeCommit? im AWS CodeCommit Benutzerhandbuch.
Wenn Sie AFT zum ersten Mal bereitstellen und kein vorhandenes CodeCommit Repository haben, müssen Sie einen externen VCS-Anbieter wie GitHub oder BitBucket auswählen. Weitere Informationen finden Sie unter Alternativen zur Versionskontrolle von Quellcode in AFT.
-
Eine Laufzeitumgebung, in der Sie das Terraform-Modul ausführen können, das AFT installiert.
-
AFT-Funktionsoptionen. Weitere Informationen finden Sie unter Funktionsoptionen aktivieren.
Konfigurieren und starten Sie Ihre AWS Control Tower Account Factory für Terraform
Bei den folgenden Schritten wird davon ausgegangen, dass Sie mit dem Terraform-Workflow vertraut sind. Sie können auch mehr über den Einsatz von AFT erfahren, indem Sie der Einführung in AFT
Schritt 1: Starten Sie Ihre AWS Control Tower-Landezone
Anweisungen für die ersten Schritte mit AWS Control Tower finden Sie unter Erste Schritte mit AWS Control Tower. Hier erstellen Sie das AWS Control Tower-Verwaltungskonto und richten Ihre AWS Control Tower-Landezone ein.
Anmerkung
Stellen Sie sicher, dass Sie eine Rolle für das AWS Control Tower-Verwaltungskonto erstellen, das über AdministratorAccess Anmeldeinformationen verfügt. Weitere Informationen finden Sie hier:
-
IAM-Identitäten (Benutzer, Benutzergruppen und Rollen) im AWS Identity and Access Management Benutzerhandbuch
-
AdministratorAccessim AWS Managed Policy Reference Guide
Schritt 2: Erstellen Sie eine neue Organisationseinheit für AFT (dringend empfohlen)
Wir empfehlen Ihnen, eine separate Organisationseinheit in Ihrer AWS Control Tower-Landezone zu erstellen. In dieser OU stellen Sie das AFT-Verwaltungskonto bereit. Erstellen Sie die neue OU und das AFT-Verwaltungskonto von Ihrem AWS Control Tower-Verwaltungskonto aus. Weitere Informationen finden Sie unter Neue OU erstellen.
Schritt 3: Stellen Sie das AFT-Verwaltungskonto bereit
AFT erfordert, dass Sie ein AWS Konto einrichten, das für AFT-Verwaltungsvorgänge vorgesehen ist. Erstellen Sie das AFT-Verwaltungskonto, wenn Sie bei dem AWS Control Tower-Verwaltungskonto angemeldet sind, das Ihrer AWS Control Tower-Landezone zugeordnet ist. Sie können das AFT-Verwaltungskonto von der AWS Control Tower-Konsole aus bereitstellen, indem Sie auf der Seite Organisation die Option Konto erstellen auswählen, oder auf andere Weise. Weitere Informationen finden Sie unter Bereitstellen von Konten mit AWS Service Catalog Account Factory.
Anmerkung
Wenn Sie eine separate Organisationseinheit für AFT erstellt haben, achten Sie darauf, diese Organisationseinheit auszuwählen, wenn Sie das AFT-Verwaltungskonto erstellen.
Die vollständige Bereitstellung des AFT-Verwaltungskontos kann bis zu 30 Minuten dauern.
Schritt 4: Stellen Sie sicher, dass die Terraform-Umgebung für die Bereitstellung verfügbar ist
Bei diesem Schritt wird davon ausgegangen, dass Sie Erfahrung mit Terraform haben und über Verfahren zur Ausführung von Terraform verfügen. Weitere Informationen finden Sie unter Command: init
Anmerkung
AFT unterstützt die Terraform-Version 1.6.1 oder höher.
Schritt 5: Optionale Konfigurationen
-
Legen Sie optional die Virtual Private Cloud (VPC) -Konfiguration fest
Das AFT-Modul enthält einen
aft_enable_vpcParameter, der angibt, ob AWS Control Tower Kontoressourcen innerhalb einer VPC im zentralen AFT-Verwaltungskonto bereitstellt. In der Standardeinstellung ist der Parameter auftruefestgelegt. Wenn Sie diesen Parameter auf setzenfalse, stellt AWS Control Tower AFT ohne Verwendung einer VPC und privater Netzwerkressourcen wie NAT-Gateways oder VPC-Endpunkte bereit. Die Deaktivierungaft_enable_vpckann bei einigen Nutzungsmustern dazu beitragen, die Betriebskosten von AFT zu senken. Durch das Hinzufügen von VPC-Konfigurationen wird deraft_enable_vpcParameter, auf den gesetzt wurde, außer Kraft gesetzt.falseAnmerkung
Re-enabling Für den
aft_enable_vpcParameter (Umschalten des Werts vonfalseauftrue) müssen Sie denterraform applyBefehl möglicherweise zweimal hintereinander ausführen.Anstatt eine neue VPC bereitzustellen, können Sie AFT so konfigurieren, dass eine vorhandene VPC in Ihrem Konto verwendet wird. Um Ihre eigene VPC zu verwenden, geben Sie die folgenden VPC-Konfigurationsparameter an:
-
aft_customer_vpc_id- Die ID Ihrer vorhandenen VPC -
aft_customer_private_subnets- Eine Liste der privaten Subnetz-IDs in Ihrer VPC
Beispielkonfiguration:
module "aft" { source = "github.com/aws-ia/terraform-aws-control_tower_account_factory" # VPC configuration aft_customer_vpc_id = "vpc-0123456789abcdef0" aft_customer_private_subnets = ["subnet-0123456789abcdef0", "subnet-0123456789abcdef1"] # Other AFT parameters... }Wichtig
Wir empfehlen nicht, die benutzerdefinierte VPC-Option zu verwenden, wenn Sie bereits über eine AFT-Bereitstellung verfügen. Möglicherweise sind Sie von Lambda-Funktionen abhängig oder CodePipeline hängen von Ressourcen innerhalb der zugrunde liegenden vorhandenen VPC ab.
-
-
Konfigurieren Sie optional den Terraform-Projektnamen
Sie können den von AFT verwendeten Terraform-Projektnamen anpassen, indem Sie den Parameter festlegen.
terraform_project_nameStandardmäßig platziert AFT die Bereitstellung in das „Standard“ -Projekt in HCP Terraform oder Terraform Enterprise.Beispielkonfiguration:
module "aft" { source = "github.com/aws-ia/terraform-aws-control_tower_account_factory" # Project name configuration terraform_project_name = "my-organization-aft" # Other AFT parameters... }Anmerkung
Dieser Parameter gilt nur für Terraform Enterprise- oder Terraform Cloud-Bereitstellungen.
-
Wenden Sie optional benutzerdefinierte Tags auf AFT-Ressourcen an
Sie können benutzerdefinierte Tags auf alle AFT-Ressourcen anwenden, indem Sie den
tagsParameter verwenden. Diese Tags helfen bei der Ressourcenorganisation, Kostenzuweisung und Zugriffskontrolle.Beispielkonfiguration:
module "aft" { source = "github.com/aws-ia/terraform-aws-control_tower_account_factory" # Custom tags configuration tags = { Environment = "Production" CostCenter = "IT-12345" Project = "AFT-Deployment" Owner = "platform-team@example.com" } # Other AFT parameters... }Diese Tags werden auf alle Ressourcen angewendet, die vom AFT-Modul erstellt wurden. AFT fügt allen Ressourcen automatisch ein
managed_by = "AFT"Tag hinzu, das nicht durch benutzerdefinierte Tags überschrieben werden kann.Anmerkung
Benutzerdefinierte Tags können jederzeit hinzugefügt werden, nicht nur bei der ersten Bereitstellung.
-
Wenden Sie optional einen AWS KMS vom Kunden verwalteten Verschlüsselungsschlüssel (CMK) auf CloudWatch Protokollgruppen und SNS-Themen an
Um die KMS-CMK-Verschlüsselung für Protokollgruppen und SNS-Themen zu aktivieren, legen Sie die Variablen und fest.
cloudwatch_log_group_enable_cmk_encryptionsns_topic_enable_cmk_encryptionWenn Sie sich für diese Einstellungen entscheiden, verwendet AFT das vorhandene CMK alias/aft, um CloudWatch Protokolle und SNS-Themen zu verschlüsseln. Dieses CMK wird erstellt, wenn AFT im AFT-Verwaltungskonto bereitgestellt wird, und es kann auf Protokollgruppen und SNS-Themen angewendet werden.
Wenn die Variable auf true gesetzt
cloudwatch_log_group_enable_cmk_encryptionist, werden die CloudWatch Protokollgruppen für AFT mithilfe des CMK verschlüsselt. Wenn die Variable auf False gesetzt ist, was dem Standardwert entspricht, werden die Protokolle mithilfe der serverseitigen Verschlüsselung verschlüsselt, wobei die CloudWatch Protokolle standardmäßig verwendet werden.Wenn die Variable auf true gesetzt
sns_topic_enable_cmk_encryptionist, werden Benachrichtigungen, die an die AFT-SNS-Themen (aft-notifications und aft-failure-notifications) gesendet werden, mithilfe des CMK verschlüsselt. Wenn die Variable auf False gesetzt ist, was dem Standardwert entspricht, werden die SNS-Nachrichten mit dem folgenden Schlüssel verschlüsselt: /sns. AWS-managed alias/aws Weitere Informationen finden Sie unter SSE-Schlüsselbegriffe.
-
Ändern Sie optional Ihren CodeBuild Berechnungstyp
Legen Sie während der Bereitstellung die Variable fest, um den Berechnungstyp zu ändern CodeBuild, für den AFT verwendet
aft_codebuild_compute_type.Informationen zu akzeptierten Berechnungstypen finden Sie unter Über On-Demand-Umgebungstypen. Der Standard-Berechnungstyp ist
BUILD_GENERAL1_MEDIUM. -
Konfigurieren Sie optional OpenID Connect (OIDC) für Terraform
Kunden, die Terraform Enterprise oder HCP Terraform (ehemals Terraform Cloud) verwenden, können die Workload-Identitätstoken (oder dynamische Anbieteranmeldeinformationen) von Terraform verwenden, die auf dem OIDC-Protokoll basieren, um Arbeitsbereiche sicher mit AFT zu verbinden und zu authentifizieren.
Sie können die OIDC-Integration für AFT-Workspaces aktivieren, indem Sie den Parameter auf setzen.
terraform_oidc_integrationtrueDieser Parameter ist standardmäßig auffalsefestgelegt. Wenn Sie diesen Parameter aktivieren, sollten dieterraform_oidc_hostnameParameterterraform_oidc_aws_audienceund überprüft und konfiguriert werdenapp.terraform.io, falls die Standardwerte (aws.workload.identitybzw.) nicht mit Ihrer Umgebung übereinstimmen.Beispielkonfiguration:
module "aft" { source = "github.com/aws-ia/terraform-aws-control_tower_account_factory" # Terraform distribution must be "tfc" or "tfe" for OIDC terraform_distribution = "tfc" # Terraform OIDC Configuration terraform_oidc_integration = true terraform_oidc_aws_audience = "aws.workload.identity" # default terraform_oidc_hostname = "app.terraform.io" # default; set to your TFE hostname if applicable # Other AFT parameters... }Anmerkung
Dieser Parameter gilt nur für Terraform Enterprise- oder HCP Terraform-Bereitstellungen.
Anmerkung
Wenn Sie derzeit einen OIDC-Anbieter für Terraform im AFT-Verwaltungskonto nutzen, müssen Sie diesen Anbieter löschen, bevor Sie sich für diese Integration anmelden. AFT erstellt diesen Anbieter bei der Bereitstellung für Sie neu.
Schritt 6: Rufen Sie das Account Factory for Terraform-Modul an, um AFT bereitzustellen
Rufen Sie das AFT-Modul mit der Rolle auf, die Sie für das AWS Control Tower-Verwaltungskonto mit Anmeldeinformationen erstellt haben AdministratorAccess. AWS Control Tower stellt ein Terraform-Modul über das AWS Control Tower-Managementkonto bereit, das die gesamte Infrastruktur einrichtet, die für die Orchestrierung von AWS Control Tower Account Factory-Anfragen erforderlich ist.
Sie können das AFT-Modul im AFT-Repository
Wenn Sie in Ihrer Umgebung Pipelines haben, die für die Verwaltung von Terraform eingerichtet wurden, können Sie das AFT-Modul in Ihren bestehenden Workflow integrieren. Andernfalls führen Sie das AFT-Modul in einer beliebigen Umgebung aus, die mit den erforderlichen Anmeldeinformationen authentifiziert ist.
Ein Timeout führt dazu, dass die Bereitstellung fehlschlägt. Wir empfehlen die Verwendung von AWS -Security-Token-Service (STS) -Anmeldeinformationen, um sicherzustellen, dass Sie einen Timeout haben, der für eine vollständige Bereitstellung ausreicht. Das Mindest-Timeout für AWS STS Anmeldeinformationen beträgt 60 Minuten. Weitere Informationen finden Sie im AWS Identity and Access Management Benutzerhandbuch unter Temporäre Sicherheitsanmeldeinformationen in IAM.
Anmerkung
Sie können bis zu 30 Minuten warten, bis AFT die Bereitstellung über das Terraform-Modul abgeschlossen hat.
Schritt 7: Verwalten Sie die Terraform-Statusdatei
Eine Terraform-Statusdatei wird generiert, wenn Sie AFT bereitstellen. Dieses Artefakt beschreibt den Zustand der Ressourcen, die Terraform erstellt hat. Wenn Sie vorhaben, die AFT-Version zu aktualisieren, stellen Sie sicher, dass die Terraform-Statusdatei erhalten bleibt, oder richten Sie ein Terraform-Backend mit Amazon S3 und DynamoDB ein. Das AFT-Modul verwaltet keinen Backend-Terraform-Status.
Anmerkung
Sie sind für den Schutz der Terraform-Statusdatei verantwortlich. Einige Eingabevariablen können vertrauliche Werte enthalten, z. B. einen privaten ssh Schlüssel oder ein Terraform-Token. Abhängig von Ihrer Bereitstellungsmethode können diese Werte als Klartext in der Terraform-Statusdatei sichtbar sein. Weitere Informationen finden Sie auf der