Richten Sie die AWS CloudFormation Drifterkennung in einer Organisation mit mehreren Regionen und mehreren Konten 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 die AWS CloudFormation Drifterkennung in einer Organisation mit mehreren Regionen und mehreren Konten ein

Erstellt von Ram Kandaswamy () AWS

Umwelt: Produktion

Technologien: Strategie für mehrere Konten; Infrastruktur; Modernisierung

Arbeitslast: Alle anderen Workloads

AWSDienstleistungen: AmazonSNS; AWS Config; AWS Lambda; AWS CloudFormation

Übersicht

Kunden von Amazon Web Services (AWS) suchen häufig nach einer effizienten Methode, um Diskrepanzen in der Ressourcenkonfiguration, einschließlich Abweichungen in AWS CloudFormation Stacks, zu erkennen und diese so schnell wie möglich zu beheben. Dies ist insbesondere der Fall, wenn es verwendet AWS Control Tower wird.

Dieses Muster bietet eine präskriptive Lösung, mit der das Problem effizient gelöst werden kann, indem konsolidierte Änderungen an der Ressourcenkonfiguration verwendet und auf diese Änderungen reagiert werden, um Ergebnisse zu erzielen. Die Lösung ist für Szenarien konzipiert, in denen mehrere AWS CloudFormation Stapel in mehr als einem Konto oder in mehr als einem AWS-Region Konto oder einer Kombination aus beidem erstellt werden. Die Lösung hat folgende Ziele:

  • Vereinfachen Sie den Prozess zur Drifterkennung

  • Richten Sie Benachrichtigungen und Warnmeldungen ein

  • Richten Sie eine konsolidierte Berichterstattung ein

Voraussetzungen und Einschränkungen

Voraussetzungen

  • AWS Config ist in allen Regionen und Konten aktiviert, die überwacht werden müssen

Einschränkungen

  • Der generierte Bericht unterstützt nur die durch Kommas getrennten Werte (CSV) und JSON Ausgabeformate.

Architektur

Das folgende Diagramm zeigt die AWS Organizations Einrichtung mit mehreren Konten. AWS Config Regeln kommunizieren zwischen den Konten.  

Der Arbeitsablauf umfasst die folgenden Schritte:

Fünfstufiger Prozess zur Überwachung von Stacks in zwei UnternehmenskontenAWS.
  1. Die AWS Config Regel erkennt Abweichungen.

  2. Ergebnisse der Drift-Erkennung, die in anderen Konten gefunden wurden, werden an das Verwaltungskonto gesendet.

  3. Die CloudWatch Amazon-Regel ruft eine AWS Lambda Funktion auf.

  4. Die Lambda-Funktion fragt die AWS Config Regel nach aggregierten Ergebnissen ab.

  5. Die Lambda-Funktion benachrichtigt Amazon Simple Notification Service (AmazonSNS), der eine E-Mail-Benachrichtigung über die Abweichung sendet.

Automatisierung und Skalierung

Die hier vorgestellte Lösung kann sowohl für zusätzliche Regionen als auch für Konten skaliert werden.

Tools

AWS-Services

AWS Configbietet einen detaillierten Überblick über die Konfiguration der AWS Ressourcen in Ihrem AWS-Konto. Dazu gehört auch, wie die Ressourcen jeweils zueinander in Beziehung stehen und wie sie in der Vergangenheit konfiguriert wurden, damit Sie sehen können, wie sich die Konfigurationen und Beziehungen im Laufe der Zeit verändern.

Amazon CloudWatch hilft Ihnen dabei, die Kennzahlen Ihrer AWS Ressourcen und der Anwendungen, auf denen Sie laufen, AWS in Echtzeit zu überwachen.

AWS Lambda ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne dass Sie Server bereitstellen oder verwalten müssen. Es führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.

Amazon Simple Notification Service (AmazonSNS) unterstützt Sie bei der Koordination und Verwaltung des Nachrichtenaustauschs zwischen Herausgebern und Kunden, einschließlich Webservern und E-Mail-Adressen.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie den Aggregator.

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Config Konsole unter https://console.aws.amazon.com/config.

  2. Erstellen Sie einen Aggregator im Verwaltungskonto.

  3. Stellen Sie sicher, dass die Datenreplikation aktiviert ist, damit Daten von den Quellkonten abgerufen werden AWS Config können.

  4. Wählen Sie alle zutreffenden Regionen und Konten aus. Sie können Konten basierend auf auswählen AWS Organizations. Wir empfehlen diesen Ansatz, da neue Konten in der Organisation automatisch Teil des Aggregators sind.

Cloud-Architekt

Erstellen Sie eine AWS verwaltete Regel.

Fügen Sie die cloudformation-stack-drift-detection-check AWS verwaltete Regel hinzu. Die Regel benötigt einen Parameterwert:cloudformationArn.

Geben Sie die IAM Rolle Amazon Resource Name (ARN) ein, die berechtigt ist, Stack-Drift zu erkennen. Die Rolle muss über eine Vertrauensrichtlinie verfügen, die es ermöglicht AWS Config , die Rolle zu übernehmen.

Cloud-Architekt

Erstellen Sie den Abschnitt für erweiterte Abfragen des Aggregators.

Um driftete Stapel aus mehreren Quellen abzurufen, erstellen Sie die folgende Abfrage:

SELECT resourceId, configuration.driftInformation.stackDriftStatus WHERE resourceType = 'AWS::CloudFormation::Stack'  AND configuration.driftInformation.stackDriftStatus IN ('DRIFTED')

Cloud-Architekt, Entwickler

Automatisieren Sie die Ausführung der Abfrage und veröffentlichen Sie sie.

  1. Erstellen Sie eine Lambda-Funktion mithilfe des angehängten Codes. Lambda veröffentlicht die Ergebnisse zu einem SNS Thema, das als Umgebungsvariable in der Lambda-Funktion bereitgestellt wird.

  2. Um Benachrichtigungen zu erhalten, erstellen Sie ein E-Mail-Abonnement für das SNS Thema.

Cloud-Architekt, Entwickler

Erstellen Sie eine CloudWatch Regel.

Erstellen Sie eine zeitplanbasierte CloudWatch Regel, um die Lambda-Funktion aufzurufen, die für die Alarmierung zuständig ist.

Cloud-Architekt

Zugehörige Ressourcen

Ressourcen

Zusätzliche Informationen

Überlegungen

Wir empfehlen, die in diesem Muster vorgestellte Lösung zu verwenden, anstatt benutzerdefinierte Lösungen zu verwenden, die API Aufrufe in bestimmten Intervallen beinhalten, um die Drifterkennung auf jedem CloudFormation Stack oder Stack-Set zu initiieren. Maßgeschneiderte Lösungen, die API Aufrufe an bestimmten internen Geräten verwenden, können zu einer großen Anzahl von API Aufrufen führen und die Leistung beeinträchtigen. Aufgrund der Anzahl der API Anrufe kann es zu einer Drosselung kommen. Ein weiteres potenzielles Problem ist eine Verzögerung bei der Erkennung, wenn Ressourcenänderungen nur anhand eines Zeitplans erkannt werden.

Da Stack-Sets aus Stapeln bestehen, können Sie diese Lösung verwenden. Details zur Stack-Instanz sind auch als Teil der Lösung verfügbar.

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip