Richten Sie mithilfe von Terraform eine zentrale Protokollierung auf Unternehmensebene ein - AWS Prescriptive Guidance

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

Erstellt von Aarti Rajput (AWS), Yashwant Patel (AWS) und Nishtha Yadav (AWS)

Übersicht

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 IaC-Tool (Infrastructure as Code), 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 QuickSight für Dashboards

Alle Daten werden mit 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

Voraussetzungen

Anweisungen zur Einrichtung von AFT AWS Control Tower- und Anwendungskonten finden Sie im Abschnitt 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

Architektur

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.

Der Workflow umfasst fünf Prozesse:

  1. Log-Flow-Prozess

    • Der Protokollfluss 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, 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.

  2. 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.

  3. 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 aufrechtzuerhalten.

  4. 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 auf der Grundlage der gespeicherten Protokolle zusätzliche Workflows, Analyse- oder Warnsysteme auslösen.

  5. 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

AWS-Services

  • Amazon CloudWatch 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 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) 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 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) 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) 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 Lambdaist 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) 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) 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) 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 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

Bewährte Methoden

Epen

AufgabeBeschreibungErforderliche 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.

  2. Stellen Sie AFT bereit, indem Sie den Anweisungen in der AWS Control Tower Dokumentation folgen.

AWS-Administrator

Aktivieren Sie die gemeinsame Nutzung von Ressourcen für die Organisation.

  1. Konfigurieren Sie AWS Command Line Interface (AWS CLI) mit den Anmeldeinformationen für das Verwaltungskonto, die Administratorberechtigungen für die Verwaltung bereitstellen AWS Control Tower.

  2. Führen Sie den folgenden AWS CLI Befehl in einem beliebigen Befehl aus AWS-Region:

    aws ram enable-sharing-with-aws-organization

    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.

AWS-Administrator
AufgabeBeschreibungErforderliche 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).

  2. Navigieren Sie zum Stammverzeichnis des scale-using-terraform Repositorys centralised-logging-at-enterprise—, 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.

  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.

  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.

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.

  • account_name: Der Name der AWS-Konto Stelle, in der die Ressourcen erstellt werden.

  • log_archive_account_id: Die AWS-Konto ID, unter der Protokolle archiviert werden.

  • admin_role_name: Der Name der Administratorrolle, die für die Verwaltung von Ressourcen verwendet wird.

  • tags: Eine Zuordnung von Schlüssel-Wert-Paaren, die gemeinsame Tags darstellen, die auf alle Ressourcen angewendet werden sollen.

  • rds_config: Ein Objekt, das Konfigurationsdetails für Amazon RDS-Instances enthält.

  • allowed_cidr_blocks: Eine Liste von CIDR-Blöcken, die auf die Ressourcen zugreifen dürfen.

  • destination_name:Eine Variable, die verwendet wird, um den Amazon-Ressourcennamen (ARN) des CloudWatch Ziels zu erstellen, an das Protokolle gestreamt werden.

  • rds_parameters:Ein Objekt, das Amazon RDS-Parametergruppeneinstellungen enthält.

  • vpc_config: Ein Objekt, das VPC-Konfigurationsdetails enthält.

  • eks_config: Ein Objekt, das Konfigurationsdetails für Amazon EKS-Cluster enthält.

  • lambda_config: Ein Objekt, das Konfigurationsdetails für Lambda-Funktionen enthält.

  • restrictive_cidr_range: Eine Liste restriktiver CIDR-Bereiche für Sicherheitsgruppenregeln.

  • target_account_id: Die AWS-Konto ID des Log Archive-Zielkontos, für das Ressourcen bereitgestellt werden.

DevOps Ingenieur
AufgabeBeschreibungErforderliche 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.

  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.

  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.

  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.

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.

  • destination_name: Eine Variable, die verwendet wird, um den ARN des CloudWatch Ziels zu erstellen, an das Protokolle gestreamt werden.

  • 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
AufgabeBeschreibungErforderliche 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.

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

$ git add * $ git commit -m "update message" $ git push origin main
Anmerkung

Wenn du einen anderen Branch (wiedev) 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.

  2. Führen Sie den folgenden Befehl aus:

    $ terraform init
  3. Änderungen in der Vorschau anzeigen:

    $ terraform plan

    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.

  4. Änderungen übernehmen:

    $ terraform apply
  5. Überprüfen Sie die geplanten Änderungen und geben Sie bei der Aufforderung Ja ein, um mit dem Antrag fortzufahren.

DevOps Ingenieur
AufgabeBeschreibungErforderliche 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.

  2. Wählen Sie im linken Navigationsbereich Log groups (Protokollgruppen) aus.

  3. Wählen Sie jede Protokollgruppe (/aws/rds,/aws/eks,/aws/lambda) aus und klicken Sie auf die Registerkarte Abonnementfilter.

    Sie sollten aktive Abonnementfilter sehen, die auf den Ziel-ARN verweisen, basierend auf dem Namen, den Sie in der Terraform-Konfigurationsdatei angegeben haben.

  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.

  2. Wählen Sie im linken Navigationsbereich Firehose-Streams aus.

  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.

  2. Wählen Sie jeden zentralen Logging-Bucket aus.

  3. Navigieren Sie durch die Ordnerstruktur: AWSLogs/AccountID/Region/Service.

    Sie sollten Protokolldateien sehen, die nach timestamp (YYYY/MM/DD/HH) organisiert sind.

  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.

  2. Wählen Sie im linken Navigationsbereich Queues (Wartschlange) aus.

  3. Wählen Sie jede konfigurierte Warteschlange aus und wählen Sie Nachrichten senden und empfangen.

    Sie sollten Nachrichten sehen, die S3-Ereignisbenachrichtigungen für neue Protokolldateien enthalten.

  4. Wählen Sie eine beliebige Nachricht aus, um zu überprüfen, ob sie die richtigen S3-Objektinformationen enthält.

DevOps Ingenieur
AufgabeBeschreibungErforderliche 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

  2. Wechseln Sie zum Verzeichnis terraform.

  3. Löschen Sie die folgenden Dateien:

    • modulesVerzeichnis

    • iam.tf

    • versions.tf

    • variables.tf

    • outputs.tf

    • terraform.tfvars

  4. Löscht den Inhalt der main.tf Datei.

  5. Übertragen Sie Ihre Änderungen in das Repository:

    # Stage all changes $ git add * # Commit cleanup changes $ git commit -m "Remove AFT customizations" # Push to repository $ git push origin main
    Anmerkung

    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:

    $ terraform init

    Dieser Befehl initialisiert Terraform und stellt den Zugriff auf den aktuellen Status sicher.

  2. Vorschau der Cleanup-Änderungen anzeigen:

    $ terraform destroy

    Dieser Befehl bewertet, welche Ressourcen zerstört werden, und vergleicht den gewünschten Zustand mit dem aktuellen Zustand Ihrer Infrastruktur.

  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

ProblemLö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.

  2. Vergewissern Sie sich, dass Firehose Firehose-Stream existiert und aktiv ist.

  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.

  2. Vergewissern Sie sich, dass der Ziel-ARN korrekt ist.

  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.

  2. Überprüfen Sie die CloudWatch Kennzahlen für:

    • IncomingRecords

    • DeliveryToS3.Records

  3. Überprüfen Sie die Puffereinstellungen und Lieferkonfigurationen.

Zugehörige Ressourcen