

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.

# Richten Sie mithilfe von Terraform eine zentrale Protokollierung auf Unternehmensebene ein
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform"></a>

*Aarti Rajput, Yashwant Patel und Nishtha Yadav, Amazon Web Services*

## Zusammenfassung
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-summary"></a>

Die zentralisierte Protokollierung ist für die Cloud-Infrastruktur eines Unternehmens von entscheidender Bedeutung, da sie Einblick in Betrieb, Sicherheit und Compliance bietet. Wenn Ihr Unternehmen seine AWS Umgebung auf mehrere Konten skaliert, wird eine strukturierte Protokollverwaltungsstrategie zur Grundlage für die Durchführung von Sicherheitsoperationen, die Erfüllung von Prüfanforderungen und die Erzielung operativer Exzellenz.

Dieses Muster bietet ein skalierbares, sicheres Framework für die Zentralisierung von Protokollen aus mehreren Diensten AWS-Konten und ermöglicht so ein unternehmensweites Protokollierungsmanagement für komplexe Bereitstellungen. AWS Die Lösung wird mithilfe von Terraform automatisiert, einem Infrastructure-as-Code-Tool (IaC), das konsistente und wiederholbare Bereitstellungen gewährleistet und HashiCorp die manuelle Konfiguration minimiert. Durch die Kombination von Amazon CloudWatch Logs, Amazon Data Firehose und Amazon Simple Storage Service (Amazon S3) können Sie eine robuste Protokollaggregations- und Analyse-Pipeline implementieren, die Folgendes bietet:
+ Zentralisiertes Protokollmanagement in Ihrem gesamten Unternehmen in AWS Organizations
+ Automatisierte Protokollerfassung mit integrierten Sicherheitskontrollen
+ Skalierbare Protokollverarbeitung und langlebiger Speicher
+ Vereinfachte Compliance-Berichterstattung und Audit-Trails
+ Betriebliche Einblicke und Überwachung in Echtzeit

Die Lösung sammelt Protokolle von Amazon Elastic Kubernetes Service (Amazon EKS) -Containern, AWS Lambda Funktionen und Amazon Relational Database Service (Amazon RDS) -Datenbank-Instances über Logs. CloudWatch Sie leitet diese Protokolle mithilfe von Abonnementfiltern automatisch an ein spezielles Protokollierungskonto weiter. CloudWatch Firehose verwaltet die Protokoll-Streaming-Pipeline mit hohem Durchsatz zu Amazon S3 zur Langzeitspeicherung. Amazon Simple Queue Service (Amazon SQS) ist so konfiguriert, dass er bei der Objekterstellung Amazon S3 S3-Ereignisbenachrichtigungen empfängt. Dies ermöglicht die Integration mit Analysediensten, einschließlich:
+ Amazon OpenSearch Service für Protokollsuche, Visualisierung und Echtzeitanalyse
+ Amazon Athena für SQL-basierte Abfragen
+ Amazon EMR für die Verarbeitung in großem Maßstab
+ Lambda für benutzerdefinierte Transformation
+ Amazon Quick Sight für Dashboards

Alle Daten werden mithilfe von AWS Key Management Service (AWS KMS) verschlüsselt, und die gesamte Infrastruktur wird mithilfe von Terraform bereitgestellt, um eine konsistente Konfiguration in allen Umgebungen zu gewährleisten.

Dieser zentralisierte Protokollierungsansatz ermöglicht es Unternehmen, ihre Sicherheitslage zu verbessern, Compliance-Anforderungen einzuhalten und die betriebliche Effizienz ihrer AWS gesamten Infrastruktur zu optimieren.

## Voraussetzungen und Einschränkungen
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-prereqs"></a>

**Voraussetzungen**
+ Eine landing zone für Ihre Organisation, die erstellt wurde mit [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html)
+ [Account Factory for Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html), bereitgestellt und konfiguriert mit den erforderlichen Konten
+ [Terraform](https://developer.hashicorp.com/terraform/downloads) für die Bereitstellung der Infrastruktur
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html) -Rollen und Richtlinien für den kontoübergreifenden Zugriff

Anweisungen zur Einrichtung von AFT AWS Control Tower- und Anwendungskonten finden Sie im Abschnitt [Epics](#set-up-centralized-logging-at-enterprise-scale-by-using-terraform-epics).

**Erforderliche Konten**

Ihre Organisation AWS Organizations sollte die folgenden Konten enthalten:
+ **Anwendungskonto** — Ein oder mehrere Quellkonten, auf denen die AWS-Services (Amazon EKS, Lambda und Amazon RDS) ausgeführt und Protokolle generiert werden
+ **Log Archive-Konto** — Ein spezielles Konto für die zentrale Speicherung und Verwaltung von Protokollen

**Produktversionen**
+ [AWS Control Tower Version 3.1](https://docs.aws.amazon.com/controltower/latest/userguide/2023-all.html#lz-3-1) oder höher
+ [Terraform Version 0.15.0](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli) oder höher

## Architektur
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-architecture"></a>

Das folgende Diagramm zeigt eine AWS zentralisierte Protokollierungsarchitektur, die eine skalierbare Lösung für das Sammeln, Verarbeiten und Speichern von Protokollen aus mehreren Anwendungskonten in einem speziellen Log Archive-Konto bietet. Diese Architektur verarbeitet effizient Protokolle von AWS-Services, einschließlich Amazon RDS, Amazon EKS und Lambda, und leitet sie über einen optimierten Prozess an regionale S3-Buckets im Log Archive-Konto weiter.

![Zentralisierte AWS-Protokollierungsarchitektur zum Sammeln von Protokollen von mehreren Anwendungskonten.](https://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/9fc71a10-65d6-437b-9128-cc27bda11af4/images/2e916040-0f11-4712-a8dd-31c95194ce5d.png)


Der Workflow umfasst fünf Prozesse:

1. **Log-Flow-Prozess**
   + Der Protokollflussprozess beginnt in den Anwendungskonten, wo verschiedene Arten von Protokollen AWS-Services generiert werden, z. B. allgemeine Protokolle, Fehler-, Prüfprotokolle, langsame Abfrageprotokolle von Amazon RDS, Kontrollebenenprotokolle von Amazon EKS sowie Funktionsausführungs- und Fehlerprotokolle von Lambda.
   + CloudWatch dient als erste Sammelstelle. Es sammelt diese Protokolle auf Protokollgruppenebene innerhalb jedes Anwendungskontos.
   + In CloudWatch bestimmen [Abonnementfilter](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Subscriptions.html), welche Protokolle an das zentrale Konto weitergeleitet werden sollen. Diese Filter bieten Ihnen eine detaillierte Kontrolle über die Protokollweiterleitung, sodass Sie genaue Protokollmuster oder vollständige Protokollstreams für die Zentralisierung angeben können.

1. **Kontoübergreifende Protokollübertragung**
   + Protokolle werden in das Log Archive-Konto verschoben. CloudWatch Abonnementfilter erleichtern die kontoübergreifende Übertragung und bewahren den regionalen Kontext.
   + Die Architektur richtet mehrere parallel Streams ein, um verschiedene Protokollquellen effizient zu handhaben und so eine optimale Leistung und Skalierbarkeit zu gewährleisten.

1. **Protokollverarbeitung im Log Archive-Konto**
   + Im Log Archive-Konto verarbeitet Firehose die eingehenden Protokollstreams.
   + Jede Region unterhält eigene Firehose-Lieferdatenströme, die Protokolle nach Bedarf transformieren, konvertieren oder anreichern können.
   + Diese Firehose-Streams liefern die verarbeiteten Protokolle an S3-Buckets im Log Archive-Konto, das sich in derselben Region wie die Quellanwendungskonten (Region A im Diagramm) befindet, um die Anforderungen an die Datenhoheit zu wahren.

1. **Benachrichtigungen und zusätzliche Workflows**
   + Wenn Protokolle ihre Ziel-S3-Buckets erreichen, implementiert die Architektur mithilfe von Amazon SQS ein Benachrichtigungssystem.
   + Die regionalen SQS-Warteschlangen ermöglichen eine asynchrone Verarbeitung und können zusätzliche Workflows, Analyse- oder Warnsysteme auslösen, die auf den gespeicherten Protokollen basieren.

1. **AWS KMS aus Sicherheitsgründen**

   Die Architektur beinhaltet aus AWS KMS Sicherheitsgründen. AWS KMS stellt Verschlüsselungsschlüssel für die S3-Buckets bereit. Dadurch wird sichergestellt, dass alle gespeicherten Protokolle die Verschlüsselung im Ruhezustand beibehalten und gleichzeitig die regionale Verschlüsselung beibehalten wird, um die Anforderungen an die Datenresidenz zu erfüllen.

## Tools
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-tools"></a>

**AWS-Services**
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ist ein Überwachungs- und Beobachtungsdienst, der Überwachungs- und Betriebsdaten in Form von Protokollen, Metriken und Ereignissen sammelt. Es bietet eine einheitliche Ansicht der AWS Ressourcen, Anwendungen und Services, die auf AWS- und lokalen Servern ausgeführt werden.
+ [CloudWatch Protokoll-Abonnementfilter](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html) sind Ausdrücke, die einem Muster bei eingehenden Protokollereignissen entsprechen und entsprechende Protokollereignisse zur weiteren Verarbeitung oder Analyse an die angegebene AWS Ressource weiterleiten.
+ [AWS Control Tower Account Factory For Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) richtet eine Terraform-Pipeline ein, mit der Sie Konten bereitstellen und anpassen können. AWS Control Tower AFT bietet eine Terraform-basierte Kontobereitstellung und ermöglicht es Ihnen gleichzeitig, Ihre Konten mit zu verwalten. AWS Control Tower
+ [Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) liefert Streaming-Daten in Echtzeit an Ziele wie Amazon S3, Amazon Redshift und Amazon OpenSearch Service. Es passt sich automatisch dem Durchsatz Ihrer Daten an und erfordert keine laufende Verwaltung.
+ [Amazon Elastic Kubernetes Service (Amazon EKS)](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) ist ein verwalteter Container-Orchestrierungsservice, der die Bereitstellung, Verwaltung und Skalierung containerisierter Anwendungen mithilfe von Kubernetes vereinfacht. Er verwaltet automatisch die Verfügbarkeit und Skalierbarkeit der Knoten der Kubernetes-Steuerebene.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) erstellt und kontrolliert Verschlüsselungsschlüssel für die Verschlüsselung Ihrer Daten. AWS KMS integriert sich in andere AWS-Services , um Ihnen zu helfen, die Daten zu schützen, die Sie mit diesen Diensten speichern.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)ist ein serverloser Rechendienst, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Er skaliert Ihre Anwendungen automatisch, indem er Code als Reaktion auf jeden Trigger ausführt, und berechnet nur die Rechenzeit, die Sie tatsächlich nutzen.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) ist ein verwalteter relationaler Datenbankservice, der die Einrichtung, den Betrieb und die Skalierung einer relationalen Datenbank in der Cloud vereinfacht. Er bietet kosteneffiziente und anpassbare Kapazität und automatisiert gleichzeitig zeitaufwändige Verwaltungsaufgaben.
+ [Amazon Simple Queue Service (Amazon SQS)](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) ist ein Nachrichtenwarteschlangen-Service, mit dem Sie Microservices, verteilte Systeme und serverlose Anwendungen entkoppeln und skalieren können. Damit entfällt die Komplexität der Verwaltung und des Betriebs nachrichtenorientierter Middleware.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Skalierbarkeit, Datenverfügbarkeit, Sicherheit und Leistung bietet. Er kann jede Datenmenge von überall im Internet speichern und abrufen.

**Andere Tools**
+ [Terraform](https://www.terraform.io/) ist ein IaC-Tool (Infrastructure as Code) HashiCorp , mit dem Sie Cloud- und lokale Ressourcen erstellen und verwalten können.

**Code**

[Der Code für dieses Muster ist im Centralized Logging Repository verfügbar. GitHub](https://github.com/aws-samples/sample-centralised-logging-at-enterprise-scale-using-terraform)

## Best Practices
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-best-practices"></a>
+ Verwenden Sie [mehrere AWS-Konten in einer einzigen Organisation in AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html). Diese Vorgehensweise ermöglicht eine zentrale Verwaltung und eine standardisierte Protokollierung für alle Konten.
+ Konfigurieren Sie [S3-Buckets mit Versionierung, Lebenszyklusrichtlinien und regionsübergreifender Replikation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html). Implementieren Sie Verschlüsselung und Zugriffsprotokollierung für Sicherheit und Compliance.
+ Implementieren [Sie allgemeine Protokollierungsstandards, indem Sie das JSON-Format](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData-discoverable-fields.html) mit Standardzeitstempeln und Feldern verwenden. Verwenden Sie eine konsistente Präfixstruktur und Korrelation IDs für eine einfache Nachverfolgung und Analyse.
+ Aktivieren Sie [Sicherheitskontrollen mit AWS KMS Verschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html) und Zugriff mit geringsten Rechten. Sorgen Sie für mehr Sicherheit durch AWS CloudTrail Überwachung und regelmäßige Schlüsselrotation.
+ Richten Sie [CloudWatch Messwerte und Benachrichtigungen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) für die Sendungsverfolgung ein. Überwachen Sie Kosten und Leistung mit automatisierten Benachrichtigungen.
+ Konfigurieren Sie [Amazon S3 S3-Aufbewahrungsrichtlinien, um die](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) Compliance-Anforderungen zu erfüllen, und aktivieren Sie die Amazon S3 S3-Serverzugriffsprotokollierung, um alle Anfragen an Ihre S3-Buckets nachzuverfolgen. Pflegen Sie die Dokumentation für S3-Bucket-Richtlinien und Lebenszyklusregeln. Führen Sie regelmäßige Überprüfungen von Zugriffsprotokollen, Bucket-Berechtigungen und Speicherkonfigurationen durch, um die Einhaltung von Vorschriften und [bewährten Sicherheitsverfahren](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html) sicherzustellen.

## Epen
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-epics"></a>

### Konten einrichten AWS Control Tower, AFT und Anwendung
<a name="set-up-ctowerlong-aft-and-application-accounts"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie eine AWS Control Tower Umgebung mit AFT ein. | 1. Folgen Sie AWS Control Tower bei der Bereitstellung den Anweisungen in der [AWS Control Tower Dokumentation](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html).<br />2. Stellen Sie AFT bereit, indem Sie den Anweisungen in der [AWS Control Tower Dokumentation](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html) folgen. | AWS-Administrator | 
| Aktivieren Sie die gemeinsame Nutzung von Ressourcen für die Organisation. | 1. [Konfigurieren Sie AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) mit den Anmeldeinformationen für das Verwaltungskonto, die Administratorberechtigungen für die Verwaltung bereitstellen AWS Control Tower.<br />2. Führen Sie den folgenden AWS CLI Befehl in einem beliebigen Befehl aus AWS-Region:<pre>aws ram enable-sharing-with-aws-organization</pre><br />Dies ermöglicht die gemeinsame Nutzung von Ressourcen innerhalb Ihrer Organisation in AWS Organizations allen Regionen, die AWS Resource Access Manager (AWS RAM) unterstützen. | AWS-Administrator | 
| Überprüfen oder Bereitstellen von Anwendungskonten. | Um neue Anwendungskonten für Ihren Anwendungsfall bereitzustellen, erstellen Sie sie über AFT. Weitere Informationen finden Sie in der AWS Control Tower Dokumentation unter [Bereitstellen eines neuen Kontos bei AFT](https://docs.aws.amazon.com/controltower/latest/userguide/aft-provision-account.html). | AWS-Administrator | 

### Richten Sie Konfigurationsdateien für Anwendungskonten ein
<a name="set-up-configuration-files-for-application-accounts"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Kopiert `Application_account` den Inhalt des Ordners in das `aft-account-customizations` Repository. | 1. Erstellen Sie einen Ordner, der `Application_account` im Stammpfad des `aft-account-customizations` Repositorys benannt ist. Dieses Repository wird automatisch erstellt, wenn Sie AFT einrichten (siehe das vorherige Epos).<br />2. Navigieren Sie zum Stammverzeichnis des scale-using-terraform Repositorys [centralised-logging-at-enterprise—](https://github.com/aws-samples/centralised-logging-at-enterprise-scale-using-terraform), kopieren Sie den Inhalt des `aft/account` Verzeichnisses und fügen Sie ihn dann in das `Application_account` Verzeichnis ein, das Sie in Schritt 1 im `aft-account-customizations` Repository erstellt haben.<br />3. Kopieren Sie den Inhalt des Verzeichnisses aus dem `Application_account` Stammverzeichnis des `centralised-logging-at-enterprise-scale-using-terraform` Repositorys in das `Application_account/terraform` Verzeichnis im `aft-account-customizations` Repository.<br />4. Vergewissern Sie sich in der `aft-account-customizations/Application_account/terraform.tfvars` Datei, dass alle Parameter als Argumente in den entsprechenden Terraform-Konfigurationsdateien übergeben wurden. | DevOps Ingenieur | 
| Überprüfen und bearbeiten Sie die Eingabeparameter für die Einrichtung des Anwendungskontos. | In diesem Schritt richten Sie die Konfigurationsdatei für die Erstellung von Ressourcen in Anwendungskonten ein, einschließlich CloudWatch Protokollgruppen, CloudWatch Abonnementfiltern, IAM-Rollen und -Richtlinien sowie Konfigurationsdetails für Amazon RDS-, Amazon EKS- und Lambda-Funktionen.<br />Konfigurieren Sie in Ihrem `aft-account-customizations` Repository im `Application_account` Ordner die Eingabeparameter in der `terraform.tfvars` Datei entsprechend den Anforderungen Ihrer Organisation:+ `environment`: Der Name der Umgebung (z. B.,`prod`,`staging`)`dev`, in der die Ressourcen bereitgestellt werden.<br />+ `account_name`: Der Name der AWS-Konto Stelle, in der die Ressourcen erstellt werden.<br />+ `log_archive_account_id`: Die AWS-Konto ID, unter der Protokolle archiviert werden.<br />+ `admin_role_name`: Der Name der Administratorrolle, die für die Verwaltung von Ressourcen verwendet wird.<br />+ `tags`: Eine Zuordnung von Schlüssel-Wert-Paaren, die gemeinsame Tags darstellen, die auf alle Ressourcen angewendet werden sollen.<br />+ `rds_config`: Ein Objekt, das Konfigurationsdetails für Amazon RDS-Instances enthält.<br />+ `allowed_cidr_blocks`: Eine Liste von CIDR-Blöcken, die auf die Ressourcen zugreifen dürfen.<br />+ `destination_name:`Eine Variable, die verwendet wird, um den Amazon-Ressourcennamen (ARN) des CloudWatch Ziels zu erstellen, an das Protokolle gestreamt werden.<br />+ `rds_parameters:`Ein Objekt, das Amazon RDS-Parametergruppeneinstellungen enthält.<br />+ `vpc_config`: Ein Objekt, das VPC-Konfigurationsdetails enthält.<br />+ `eks_config`: Ein Objekt, das Konfigurationsdetails für Amazon EKS-Cluster enthält.<br />+ `lambda_config`: Ein Objekt, das Konfigurationsdetails für Lambda-Funktionen enthält.<br />+ `restrictive_cidr_range`: Eine Liste restriktiver CIDR-Bereiche für Sicherheitsgruppenregeln.<br />+ `target_account_id`: Die AWS-Konto ID des Log Archive-Zielkontos, für das Ressourcen bereitgestellt werden. | DevOps Ingenieur | 

### Richten Sie Konfigurationsdateien für das Log Archive-Konto ein
<a name="set-up-configuration-files-for-the-log-archive-account"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Kopiert `Log_archive_account` den Inhalt des Ordners in das `aft-account-customizations` Repository. | 1. Erstellen Sie einen Ordner mit `Log_archive_account` dem Stammverzeichnis des `aft-account-customizations` Repositorys. Dieses Repository wird automatisch erstellt, wenn Sie AFT einrichten.<br />2. Navigieren Sie zum Stammverzeichnis des `centralised-logging-at-enterprise-scale-using-terraform` Repositorys, kopieren Sie den Inhalt des `aft/account` Verzeichnisses und fügen Sie ihn dann in das `Log_archive_account` Verzeichnis ein, das Sie im vorherigen Schritt im `aft-account-customizations` Repository erstellt haben.<br />3. Kopieren Sie den Inhalt des Verzeichnisses aus dem `Log_archive_account` Stammverzeichnis des `centralised-logging-at-enterprise-scale-using-terraform` Repositorys in das `Log_archive_account/terraform` Verzeichnis im `aft-account-customizations` Repository.<br />4. Vergewissern Sie sich in der `aft-account-customizations/Log_archive_account/terraform.tfvars` Datei, dass alle Parameter als Argumente in den entsprechenden Terraform-Konfigurationsdateien übergeben wurden. | DevOps Ingenieur | 
| Überprüfen und bearbeiten Sie die Eingabeparameter für die Einrichtung des Log Archive-Kontos. | In diesem Schritt richten Sie die Konfigurationsdatei für die Erstellung von Ressourcen im Log Archive-Konto ein, einschließlich Firehose-Lieferstreams, S3-Buckets, SQS-Warteschlangen sowie IAM-Rollen und -Richtlinien.<br />Konfigurieren Sie im `Log_archive_account` Ordner Ihres `aft-account-customizations` Repositorys die Eingabeparameter in der `terraform.tfvars` Datei entsprechend den Anforderungen Ihrer Organisation:+ `environment`: Der Name der Umgebung (z. B.,`prod`,`staging`)`dev`, in der die Ressourcen bereitgestellt werden.<br />+ `destination_name`: Eine Variable, die verwendet wird, um den ARN des CloudWatch Ziels zu erstellen, an das Protokolle gestreamt werden.<br />+ `source_account_ids`: Eine Liste von Personen AWS-Konto IDs , die Abonnementfilter auf das Protokollziel setzen dürfen. Sie können so viele Konten eingeben, IDs wie Sie für die zentrale Protokollierung aktivieren möchten. | DevOps Ingenieur | 

### Führen Sie Terraform-Befehle aus, um Ressourcen bereitzustellen
<a name="run-terraform-commands-to-provision-resources"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Option 1 — Stellen Sie die Terraform-Konfigurationsdateien von AFT bereit. | In AFT wird die AFT-Pipeline ausgelöst, nachdem Sie den Code mit den Konfigurationsänderungen in das Repository übertragen haben. GitHub `aft-account-customizations` AFT erkennt die Änderungen automatisch und leitet den Prozess der Kontoanpassung ein.<br />Nachdem Sie Änderungen an Ihren Terraform (`terraform.tfvars`) -Dateien vorgenommen haben, übertragen Sie Ihre Änderungen und übertragen Sie sie in Ihr Repository: `aft-account-customizations`<pre>$ git add *<br />$ git commit -m "update message"<br />$ git push origin main</pre>Wenn du einen anderen Branch (wie`dev`) verwendest, ersetze ihn `main` durch deinen Branch-Namen. | DevOps Ingenieur | 
| Option 2 — Stellen Sie die Terraform-Konfigurationsdatei manuell bereit. | Wenn Sie AFT nicht verwenden oder die Lösung manuell bereitstellen möchten, können Sie die folgenden Terraform-Befehle aus den Ordnern und verwenden: `Application_account` `Log_archive_account`1. Klonen Sie das GitHub Repository und konfigurieren Sie die Eingabeparameter in der `terraform.tfvars` Datei.<br />2. Führen Sie den folgenden Befehl aus:<pre>$ terraform init</pre><br />3. Änderungen in der Vorschau anzeigen:<pre>$ terraform plan</pre><br />Dieser Befehl wertet die Terraform-Konfiguration aus, um den gewünschten Status der Ressourcen zu ermitteln, und vergleicht ihn mit dem aktuellen Status Ihrer Infrastruktur.<br />4. Änderungen übernehmen:<pre>$ terraform apply</pre><br />5. Überprüfen Sie die geplanten Änderungen und geben Sie bei der Aufforderung **Ja** ein, um mit dem Antrag fortzufahren. | DevOps Ingenieur | 

### Ressourcen validieren
<a name="validate-resources"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Überprüfen Sie die Abonnementfilter. | Gehen Sie wie folgt vor, um sicherzustellen, dass die Abonnementfilter Protokolle korrekt von den Protokollgruppen des Anwendungskontos an das Protokollarchivkonto weiterleiten:1. Öffnen Sie im Anwendungskonto die [CloudWatch Konsole](https://console.aws.amazon.com/cloudwatch).<br />2. Wählen Sie im linken Navigationsbereich **Log groups (Protokollgruppen)** aus.<br />3. Wählen Sie jede Protokollgruppe (`/aws/rds`,`/aws/eks`,`/aws/lambda`) aus und klicken Sie auf die Registerkarte **Abonnementfilter**.<br />Sie sollten aktive Abonnementfilter sehen, die auf den Ziel-ARN verweisen, basierend auf dem Namen, den Sie in der Terraform-Konfigurationsdatei angegeben haben.<br />4. Wählen Sie einen beliebigen Abonnementfilter aus, um dessen Konfiguration und Status zu überprüfen. | DevOps Ingenieur | 
| Überprüfen Sie Firehose-Streams. | So überprüfen Sie, ob die Firehose-Streams im Log Archive-Konto Anwendungsprotokolle erfolgreich verarbeiten:1. Öffnen Sie im Log Archive-Konto die [Firehose-Konsole](https://console.aws.amazon.com/firehose).<br />2. Wählen Sie im linken Navigationsbereich **Firehose-Streams aus**.<br />3. Wählen Sie einen beliebigen **Firehose-Stream** aus und überprüfen Sie Folgendes:Das Ziel zeigt den richtigen S3-Bucket an.Auf der Registerkarte **Überwachung** werden Kennzahlen für erfolgreiche Lieferungen angezeigt.Der Zeitstempel der letzten Lieferung ist aktuell. | DevOps Ingenieur | 
| Validieren Sie die zentralisierten S3-Buckets. | Gehen Sie wie folgt vor, um zu überprüfen, ob die zentralisierten S3-Buckets Protokolle empfangen und ordnungsgemäß organisieren:1. Öffnen Sie im Log Archive-Konto die [Amazon S3 S3-Konsole](https://console.aws.amazon.com/s3).<br />2. Wählen Sie jeden zentralen Logging-Bucket aus.<br />3. Navigieren Sie durch die Ordnerstruktur: **AWSLogs/AccountID/Region/Service**.<br />Sie sollten Protokolldateien sehen, die nach timestamp (**YYYY/MM/DD/HH**) organisiert sind.<br />4. Wählen Sie eine aktuelle Protokolldatei aus und überprüfen Sie deren Format und Datenintegrität. | DevOps Ingenieur | 
| Überprüfen Sie die SQS-Warteschlangen. | So überprüfen Sie, ob die SQS-Warteschlangen Benachrichtigungen für neue Protokolldateien erhalten:1. Öffnen Sie im Log Archive-Konto die [Amazon SQS SQS-Konsole](https://console.aws.amazon.com/sqs).<br />2. Wählen Sie im linken Navigationsbereich **Queues (Wartschlange)** aus.<br />3. Wählen Sie jede konfigurierte Warteschlange aus und wählen **Sie Nachrichten senden und empfangen**.<br />Sie sollten Nachrichten sehen, die **S3-Ereignisbenachrichtigungen** für neue Protokolldateien enthalten.<br />4. Wählen Sie eine beliebige Nachricht aus, um zu überprüfen, ob sie die richtigen S3-Objektinformationen enthält. | DevOps Ingenieur | 

### Bereinigen von Ressourcen
<a name="clean-up-resources"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Option 1 — Außerbetriebnahme der Terraform-Konfigurationsdatei von AFT. | Wenn Sie die Terraform-Konfigurationsdateien entfernen und die Änderungen übertragen, leitet AFT automatisch den Prozess zum Entfernen der Ressourcen ein.1. Navigieren Sie zum Repository. `aft-account-customizations`<br />2. Wechseln Sie zum Verzeichnis `terraform`.<br />3. Löschen Sie die folgenden Dateien:`modules`Verzeichnis`iam.tf``versions.tf``variables.tf``outputs.tf``terraform.tfvars`<br />4. Löscht den Inhalt der `main.tf` Datei.<br />5. Übertragen Sie Ihre Änderungen in das Repository:<pre># Stage all changes<br />$ git add *<br /><br /># Commit cleanup changes<br />$ git commit -m "Remove AFT customizations"<br /><br /># Push to repository<br />$ git push origin main</pre>Wenn Sie einen anderen Zweig (z. B.`dev`) verwenden, `main` ersetzen Sie ihn durch Ihren Zweignamen. | DevOps Ingenieur | 
| Option 2 — Manuelles Bereinigen der Terraform-Ressourcen. | Wenn Sie AFT nicht verwenden oder Ressourcen manuell bereinigen möchten, verwenden Sie die folgenden Terraform-Befehle aus den Ordnern und: `Application_account` `Log_archive_account`1. Initialisieren Sie die Terraform-Konfiguration:<pre>$ terraform init</pre><br />Dieser Befehl initialisiert Terraform und stellt den Zugriff auf den aktuellen Status sicher.<br />2. Vorschau der Cleanup-Änderungen anzeigen:<pre>$ terraform destroy</pre><br />Dieser Befehl bewertet, welche Ressourcen zerstört werden, und vergleicht den gewünschten Zustand mit dem aktuellen Zustand Ihrer Infrastruktur.<br />3. Führen Sie die Bereinigung aus. Wenn Sie dazu aufgefordert werden, geben Sie **Ja** ein, um den Vernichtungsplan zu bestätigen und auszuführen. | DevOps Ingenieur | 

## Fehlerbehebung
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Das CloudWatch Logs-Ziel wurde nicht erstellt oder ist inaktiv. | Überprüfen Sie Folgendes:1. Stellen Sie im Log Archive-Konto sicher, dass die Zielrichtlinie Folgendes beinhaltet:Der richtige Hauptbenutzer des Quellkontos.Die richtige Aktion (`logs:PutSubscriptionFilter`).Ein gültiger Ziel-ARN.<br />2. Vergewissern Sie sich, dass Firehose Firehose-Stream existiert und aktiv ist.<br />3. Stellen Sie sicher, dass die dem Ziel zugeordnete IAM-Rolle über Berechtigungen für Firehose verfügt. | 
| Der Abonnementfilter ist ausgefallen oder hat den Status „Ausstehend“. | Überprüfen Sie, ob Folgendes der Fall ist:1. Stellen Sie im Anwendungskonto sicher, dass die IAM-Rolle über Folgendes verfügt:Berechtigungen zum Anrufen. `PutSubscriptionFilter`Eine Vertrauensbeziehung mit CloudWatch Logs.<br />2. Vergewissern Sie sich, dass der Ziel-ARN korrekt ist.<br />3. Suchen Sie in den CloudWatch Protokollen nach bestimmten Fehlermeldungen. | 
| Der Firehose-Lieferstream zeigt keine eingehenden Datensätze an. | Überprüfen Sie Folgendes:1. Vergewissern Sie sich, dass die Firehose IAM-Rolle Folgendes hat:Berechtigungen zum Schreiben in Amazon S3.Zugriff auf den AWS KMS Schlüssel, wenn die Verschlüsselung aktiviert ist.<br />2. Überprüfen Sie die CloudWatch Kennzahlen für:`IncomingRecords``DeliveryToS3.Records`<br />3. Überprüfen Sie die Puffereinstellungen und Lieferkonfigurationen. | 

## Zugehörige Ressourcen
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-resources"></a>
+ [Einrichtung der Terraform-Infrastruktur](https://developer.hashicorp.com/terraform/tutorials/aws-get-started) (Terraform-Dokumentation)
+ [AWS Control Tower Account Factory für Terraform (AFT) bereitstellen (AWS Control Tower Dokumentation)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html)
+ [IAM-Tutorial: Delegieren Sie den Zugriff AWS-Konten mithilfe von IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html) () IAMdocumentation