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.
Verbessern Sie die betriebliche Leistung, indem Sie Amazon DevOps Guru für mehrere AWS Regionen und Konten aktivieren und OUs mit AWS CDK
Erstellt von Dr. Rahul Sharad Gaikwad () AWS
Übersicht
Dieses Muster zeigt die Schritte zur Aktivierung des Amazon DevOps Guru-Service in mehreren Amazon Web Services (AWS) -Regionen, Konten und Organisationseinheiten (OUs) mithilfe des AWS Cloud Development Kit (AWSCDK) in TypeScript. Sie können AWS CDK Stacks für die Bereitstellung AWS CloudFormation StackSets vom (primären) AWS Administratorkonto aus verwenden, um Amazon DevOps Guru für mehrere Konten zu aktivieren, anstatt sich bei jedem Konto anzumelden und DevOps Guru für jedes Konto einzeln zu aktivieren.
Amazon DevOps Guru bietet Funktionen für künstliche Intelligenz (AIOps), mit denen Sie die Verfügbarkeit Ihrer Anwendungen verbessern und betriebliche Probleme schneller lösen können. DevOps Guru reduziert Ihren manuellen Aufwand, indem es Empfehlungen anwendet, die auf maschinellem Lernen (ML) basieren, ohne dass ML-Kenntnisse erforderlich sind. DevOps Guru analysiert Ihre Ressourcen und Betriebsdaten. Wenn es Anomalien feststellt, bietet es Kennzahlen, Ereignisse und Empfehlungen, die Ihnen bei der Behebung des Problems helfen.
Dieses Muster beschreibt drei Bereitstellungsoptionen für die Aktivierung von Amazon DevOps Guru:
Für alle Stack-Ressourcen in mehreren Konten und Regionen
Für alle Stack-Ressourcen auf OUs
Für bestimmte Stack-Ressourcen über mehrere Konten und Regionen
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto.
AWSBefehlszeilenschnittstelle (AWSCLI), installiert und konfiguriert. (Weitere Informationen finden Sie unter Installation, Aktualisierung und Deinstallation von AWS CLI in der AWS CLI Dokumentation.)
AWSCDKToolkit, installiert und konfiguriert. (Siehe AWSCDKToolkit in der AWS CDK Dokumentation.)
Node Package Manager (npm), installiert und konfiguriert für den AWS CDK in TypeScript. (Siehe Node.js und npm herunterladen und installieren in der npm-Dokumentation
.) Python3 wurde installiert und konfiguriert, um ein Python-Skript auszuführen, um Datenverkehr in die serverlose Beispielanwendung einzuschleusen. (Siehe Python-Setup und -Verwendung
in der Python-Dokumentation.) Pip, installiert und konfiguriert, um die Python-Anforderungsbibliothek zu installieren. (Weitere Informationen finden Sie in den Pip-Installationsanweisungen
auf der PyPl Website.)
Produktversionen
AWSCDKToolkit-Version 1.107.0 oder höher
npm Version 7.9.0 oder höher
Node.js Version 15.3.0 oder höher
Architektur
Technologien
Die Architektur für dieses Muster umfasst die folgenden Dienste:
AWSCDKStapel
Das Muster verwendet die folgenden AWS CDK Stapel:
CdkStackSetAdminRole
— Erstellt eine Administratorrolle für AWS Identitäts- und Zugriffsmanagement (IAM), um eine Vertrauensbeziehung zwischen dem Administrator und den Zielkonten herzustellen.CdkStackSetExecRole
— Erzeugt eine IAM Rolle, um dem Administratorkonto zu vertrauen.CdkDevopsGuruStackMultiAccReg
— Aktiviert DevOps Guru in mehreren AWS Regionen und Konten für alle Stacks und richtet Amazon Simple Notification Service (AmazonSNS) -Benachrichtigungen ein.CdkDevopsGuruStackMultiAccRegSpecStacks
— Aktiviert DevOps Guru in mehreren AWS Regionen und Konten für bestimmte Stapel und richtet SNS Amazon-Benachrichtigungen ein.CdkDevopsguruStackOrgUnit
— Aktiviert DevOps Guru Across OUs und richtet SNS Amazon-Benachrichtigungen ein.CdkInfrastructureStack
— Stellt serverlose Beispielanwendungskomponenten wie API Gateway, Lambda und DynamoDB im Administratorkonto bereit, um die Fehlerinjektion und die Generierung von Erkenntnissen zu demonstrieren.
Beispiel für eine Anwendungsarchitektur
Das folgende Diagramm zeigt die Architektur einer serverlosen Beispielanwendung, die in mehreren Konten und Regionen bereitgestellt wurde. Das Muster verwendet das Administratorkonto, um alle AWS CDK Stacks bereitzustellen. Es verwendet auch das Administratorkonto als eines der Zielkonten für die Einrichtung von DevOps Guru.
Wenn DevOps Guru aktiviert ist, erstellt es zunächst eine Baseline-Analyse für das Verhalten der einzelnen Ressourcen und nimmt dann Betriebsdaten aus CloudWatch den bereitgestellten Metriken auf.
Wenn es eine Anomalie erkennt, korreliert es diese mit den Ereignissen aus CloudTrail und generiert daraus Erkenntnisse.
Die Erkenntnisse liefern eine korrelierte Abfolge von Ereignissen sowie vorgeschriebene Empfehlungen, die es dem Betreiber ermöglichen, die verursachende Ressource zu identifizieren.
Amazon SNS sendet Benachrichtigungen an den Betreiber.

Automatisierung und Skalierung
Das mit diesem Muster bereitgestellte GitHub Repository
Tools
AWS-Services
AWSCDK— AWS Cloud Development Kit (AWSCDK) hilft Ihnen, Ihre Cloud-Infrastruktur als Code in einer von fünf unterstützten Programmiersprachen zu definieren: TypeScript, JavaScript, Python, Java und C#.
AWSCLI— Die AWS Befehlszeilenschnittstelle (AWSCLI) ist ein einheitliches Tool, das eine konsistente Befehlszeilenschnittstelle für die Interaktion mit AWS Diensten und Ressourcen bietet.
Code
Der Quellcode für dieses Muster ist im Amazon DevOps Guru CDK Samples-Repository
Wichtig
Einige der Geschichten in diesem Muster enthalten AWS CDK AWS CLI Befehlsbeispiele, die für Unix, Linux und macOS formatiert sind. Ersetzen Sie unter Windows das Fortsetzungszeichen mit dem umgekehrten Schrägstrich (\) am Ende jeder Zeile durch ein Caret-Zeichen (^).
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Konfigurieren Sie AWS benannte Profile. | Richten Sie Ihre AWS benannten Profile wie folgt ein, um Stacks in einer Umgebung mit mehreren Konten bereitzustellen. Für das Administratorkonto:
Für das Zielkonto:
Weitere Informationen finden Sie in der AWS CLI Dokumentation unter Verwenden benannter Profile. | DevOps Ingenieur |
Überprüfen Sie die AWS Profilkonfigurationen. | (Optional) Sie können Ihre AWS Profilkonfigurationen in den | DevOps Ingenieur |
Überprüfen Sie die AWS CDK Version. | Überprüfen Sie die Version des AWS CDK Toolkits, indem Sie den folgenden Befehl ausführen:
Für dieses Pattern ist Version 1.107.0 oder höher erforderlich. Wenn Sie eine frühere Version von haben AWSCDK, folgen Sie den Anweisungen in der AWSCDKDokumentation, um sie zu aktualisieren. | DevOps Ingenieur |
Klonen Sie den Projektcode. | Klonen Sie das GitHub Repository für dieses Muster mit dem folgenden Befehl:
| DevOps Ingenieur |
Installieren Sie die Paketabhängigkeiten und kompilieren Sie die TypeScript Dateien. | Installieren Sie die Paketabhängigkeiten und kompilieren Sie die TypeScript Dateien, indem Sie die folgenden Befehle ausführen:
Mit diesen Befehlen werden alle Pakete aus dem Beispiel-Repository installiert. WichtigWenn Sie eine Fehlermeldung über fehlende Pakete erhalten, verwenden Sie einen der folgenden Befehle:
–oder–
Die Liste der Paketnamen und Versionen finden Sie im | DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Konfigurieren Sie eine E-Mail-Adresse für SNS Amazon-Benachrichtigungen. | Gehen Sie wie folgt vor, um eine E-Mail-Adresse für SNS Amazon-Benachrichtigungen anzugeben:
| DevOps Ingenieur |
Erstellen Sie den Projektcode. | Erstellen Sie den Projektcode und synthetisieren Sie die Stacks, indem Sie den folgenden Befehl ausführen:
Die Ausgabe sollte folgendermaßen oder ähnlich aussehen:
Weitere Informationen und Schritte finden Sie in der Dokumentation unter Deine erste AWS CDK App. AWS CDK | DevOps Ingenieur |
Liste die AWS CDK Stapel auf. | Führen Sie den folgenden Befehl aus, um alle AWS CDK Stapel aufzulisten:
Der Befehl zeigt die folgende Liste an:
| DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Stellen Sie die AWS CDK Stacks für die Erstellung von IAM Rollen bereit. | Dieses Muster wird verwendet AWS CloudFormation StackSets, um Stack-Operationen über mehrere Konten hinweg durchzuführen. Wenn Sie Ihr erstes Stack-Set erstellen, müssen Sie die folgenden IAM Rollen erstellen, um die erforderlichen Berechtigungen in Ihren AWS Konten einzurichten:
AnmerkungDie Rollen müssen genau diese Namen haben.
Weitere Informationen finden Sie in der AWS CloudFormation Dokumentation unter Gewähren von selbstverwalteten Berechtigungen. | DevOps Ingenieur |
Stellen Sie den AWS CDK Stack bereit, um DevOps Guru für mehrere Konten zu aktivieren. | Der AWS CDK
Derzeit ist Amazon DevOps Guru in den im DevOps Guru | DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Organisationseinheit extrahierenIDs. | Identifizieren Sie in der AWSOrganisationskonsole | DevOps Ingenieur |
Aktivieren Sie vom Service verwaltete Berechtigungen fürOUs. | Wenn du AWS Organizations für die Kontoverwaltung verwendest, musst du dienstverwaltete Berechtigungen gewähren, um DevOps Guru zu aktivieren. Anstatt die IAM Rollen manuell zu erstellen, verwende organisationsbasierten vertrauenswürdigen Zugriff und serviceverknüpfte Rollen (). SLRs | DevOps Ingenieur |
Stellen Sie den AWS CDK Stack bereit, um DevOps Guru Across zu aktivierenOUs. | Der AWS CDK
| DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Stellen Sie die AWS CDK Stacks für die Erstellung von IAM Rollen bereit. | Wenn Sie die in der ersten Option aufgeführten erforderlichen IAM Rollen noch nicht erstellt haben, tun Sie dies zuerst:
Weitere Informationen finden Sie in der AWS CloudFormation Dokumentation unter Gewähren von selbstverwalteten Berechtigungen. | DevOps Ingenieur |
Löschen Sie vorhandene Stapel. | Wenn Sie bereits die erste Option verwendet haben, um DevOps Guru für alle Stack-Ressourcen zu aktivieren, können Sie den alten Stack mit dem folgenden Befehl löschen:
Sie können den | DevOps Ingenieur |
Aktualisieren Sie den AWS CDK Stack mit einer Stack-Liste. |
| Dateningenieur |
Stellen Sie den AWS CDK Stack bereit, um DevOps Guru für bestimmte Stack-Ressourcen über mehrere Konten hinweg zu aktivieren. | Der AWS CDK
AnmerkungWenn Sie diesen Stack bereits für Option 1 bereitgestellt haben, ändern Sie den | DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Stellen Sie das Beispiel für einen serverlosen Infrastrukturstapel bereit. | Der AWS CDK
| DevOps Ingenieur |
Fügen Sie Beispieldatensätze in DynamoDB ein. | Führen Sie den folgenden Befehl aus, um die DynamoDB-Tabelle mit Beispieldatensätzen zu füllen. Geben Sie den richtigen Pfad für das Skript an.
Die Ausgabe des Befehls sieht wie folgt aus:
| DevOps Ingenieur |
Überprüfen Sie die eingefügten Datensätze in DynamoDB. | Um zu überprüfen, ob die DynamoDB-Tabelle die Beispieldatensätze aus der
| DevOps Ingenieur |
Warten Sie, bis die Ressourcen das Baselining abgeschlossen haben. | Dieser serverlose Stack hat einige Ressourcen. Wir empfehlen, dass Sie 2 Stunden warten, bevor Sie die nächsten Schritte ausführen. Wenn Sie diesen Stack in einer Produktionsumgebung bereitgestellt haben, kann es bis zu 24 Stunden dauern, bis das Baselining abgeschlossen ist. Dies hängt von der Anzahl der Ressourcen ab, die Sie in DevOps Guru für die Überwachung ausgewählt haben. | DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Aktualisieren Sie den AWS CDK Infrastruktur-Stack. | Um DevOps Guru Insights auszuprobieren, können Sie einige Konfigurationsänderungen vornehmen, um ein typisches Betriebsproblem zu reproduzieren.
| DevOps Ingenieur |
Injizieren Sie HTTP Anfragen auf demAPI. | Injizieren Sie eingehenden Datenverkehr in Form von HTTP Anfragen auf dem:
| DevOps Ingenieur |
Sehen Sie sich DevOps Guru Insights an. | Unter Standardbedingungen zeigt das DevOps Guru-Dashboard im Zähler für laufende Einblicke Null an. Wenn es eine Anomalie erkennt, gibt es eine Warnung in Form eines Einblicks aus. Wählen Sie im Navigationsbereich Insights aus, um die Details der Anomalie anzuzeigen, einschließlich einer Übersicht, aggregierter Kennzahlen, relevanter Ereignisse und Empfehlungen. Weitere Informationen zur Überprüfung von Erkenntnissen finden Sie im Blogbeitrag Gewinnen betrieblicher Erkenntnisse AIOps mit Amazon DevOps Guru | DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Ressourcen bereinigen und löschen. | Nachdem Sie dieses Muster durchgegangen sind, sollten Sie die von Ihnen erstellten Ressourcen entfernen, um weitere Kosten zu vermeiden. Führen Sie die folgenden Befehle aus:
| DevOps Ingenieur |