

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.

# Automatisieren Sie die AWS-Ressourcenbewertung
<a name="automate-aws-resource-assessment"></a>

*Naveen Suthar, Arun Bagal, Manish Garg und Sandeep Gawande, Amazon Web Services*

## Zusammenfassung
<a name="automate-aws-resource-assessment-summary"></a>

Dieses Muster beschreibt einen automatisierten Ansatz für die Einrichtung von Funktionen zur Ressourcenbewertung mithilfe des [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html). Mithilfe dieses Musters sammeln Betriebsteams automatisiert Informationen zur Ressourcenprüfung und sehen sich die Details aller in einem AWS-Konto bereitgestellten Ressourcen auf einem einzigen Dashboard an. Dies ist in den folgenden Anwendungsfällen hilfreich:
+ Identifizierung von Infrastructure-as-Code-Tools (IaC) und Isolierung von Ressourcen, die von verschiedenen IaC-Lösungen wie [HashiCorp Terraform](https://www.terraform.io/), [AWS CloudFormation, AWS CDK und AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) [Command Line Interface (AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) CLI) erstellt wurden
+ Informationen zur Ressourcenprüfung werden abgerufen

Diese Lösung hilft dem Führungsteam auch dabei, von einem einzigen Dashboard aus Einblicke in die Ressourcen und Aktivitäten in einem AWS-Konto zu erhalten. 


| 
| 
| Hinweis: [Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) ist ein kostenpflichtiger Service. Bevor Sie es ausführen, um Daten zu analysieren und ein Dashboard zu erstellen, sollten Sie sich die [Amazon Quick Sight-Preise ansehen](https://aws.amazon.com/quicksight/pricing/). | 
| --- |

## Voraussetzungen und Einschränkungen
<a name="automate-aws-resource-assessment-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto.
+ Rollen und Berechtigungen von AWS Identity and Access Management (IAM) mit Zugriff auf Bereitstellungsressourcen
+ Ein [Amazon Quick-Konto](https://docs.aws.amazon.com/quicksight/latest/user/signing-up.html), das mit Zugriff auf [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) und [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) erstellt wurde
+ AWS CDK Version 2.55.1 oder höher installiert 
+ [Python-Version](https://www.python.org/downloads/release/python-390/) 3.9 oder höher installiert

**Einschränkungen**
+ Diese Lösung wird auf einem einzigen AWS-Konto bereitgestellt.
+ Die Lösung verfolgt die Ereignisse, die vor ihrer Bereitstellung passiert sind, nicht, es sei denn, AWS CloudTrail war bereits eingerichtet und speichert Daten in einem S3-Bucket.

**Produktversionen**
+ AWS CDK Version 2.55.1 oder höher
+ Python-Version 3.9 oder höher

## Architektur
<a name="automate-aws-resource-assessment-architecture"></a>

**Zieltechnologie-Stack**
+ Amazon Athena
+ AWS CloudTrail
+ AWS Glue
+ AWS Lambda
+ Amazon Quick Sight
+ Amazon S3

**Zielarchitektur**

Der AWS-CDK-Code stellt alle Ressourcen bereit, die für die Einrichtung von Funktionen zur Ressourcenbewertung in einem AWS-Konto erforderlich sind. Das folgende Diagramm zeigt den Prozess des Sendens von CloudTrail Protokollen an AWS Glue, Amazon Athena und Quick Sight.

![AWS-Ressourcenbewertung mit AWS Glue, Amazon Athena und Amazon QuickSight in einem sechsstufigen Prozess.](https://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/a504774e-db7a-4c36-a22c-ce56d252fb58/images/8f2b549d-33a8-4cbf-86fd-33244716b668.png)


1. CloudTrail sendet Protokolle zur Speicherung an einen S3-Bucket.

1. Eine Ereignisbenachrichtigung ruft eine Lambda-Funktion auf, die die Protokolle verarbeitet und gefilterte Daten generiert.

1. Die gefilterten Daten werden in einem anderen S3-Bucket gespeichert.

1. Ein AWS Glue Glue-Crawler wird für die gefilterten Daten im S3-Bucket eingerichtet, um ein Schema in der AWS Glue Glue-Datenkatalogtabelle zu erstellen.

1. Die gefilterten Daten können jetzt von Amazon Athena abgefragt werden.

1. Quick Sight greift zur Visualisierung auf die abgefragten Daten zu.

**Automatisierung und Skalierung**
+ Diese Lösung kann von einem AWS-Konto auf mehrere AWS-Konten skaliert werden, wenn es in AWS Organizations einen unternehmensweiten CloudTrail Trail gibt. Durch die Bereitstellung CloudTrail auf Organisationsebene können Sie diese Lösung auch verwenden, um Informationen zur Ressourcenprüfung für alle erforderlichen Ressourcen abzurufen.
+ Dieses Muster verwendet serverlose AWS-Ressourcen, um die Lösung bereitzustellen.

## Tools
<a name="automate-aws-resource-assessment-tools"></a>

**AWS-Services**
+ [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) ist ein interaktiver Abfrageservice, mit dem Sie Daten mithilfe von Standard-SQL direkt in Amazon S3 analysieren können.
+ Das [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/home.html) ist ein Softwareentwicklungs-Framework, das Sie bei der Definition und Bereitstellung der AWS-Cloud-Infrastruktur im Code unterstützt.
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) hilft Ihnen dabei, AWS-Ressourcen einzurichten, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus über AWS-Konten und AWS-Regionen hinweg zu verwalten.
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) unterstützt Sie bei der Prüfung der Unternehmensführung, der Einhaltung von Vorschriften und des Betriebsrisikos Ihres AWS-Kontos.
+ [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) ist ein vollständig verwalteter Service zum Extrahieren, Transformieren und Laden (ETL). Er hilft Ihnen dabei, Daten zuverlässig zu kategorisieren, zu bereinigen, anzureichern und zwischen Datenspeichern und Datenströmen zu verschieben. Dieses Muster verwendet einen AWS Glue Glue-Crawler und eine AWS Glue Glue-Datenkatalogtabelle.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) ist ein Rechenservice, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Er führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.
+ [Amazon Quick](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) ist ein Business Intelligence (BI) -Service auf Cloud-Ebene, mit dem Sie Ihre Daten in einem einzigen Dashboard visualisieren, analysieren und Berichte erstellen können.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

**Code-Repository**

Der Code für dieses Muster ist im GitHub [infrastructure-assessment-iac-automation](https://github.com/aws-samples/infrastructure-assessment-iac-automation)Repository verfügbar.

Das Code-Repository enthält die folgenden Dateien und Ordner:
+ `lib`folder — Das AWS-CDK-Konstrukt Python-Dateien, die zum Erstellen von AWS-Ressourcen verwendet werden
+ `src/lambda_code`— Der Python-Code, der in der Lambda-Funktion ausgeführt wird
+ `requirements.txt`— Die Liste aller Python-Abhängigkeiten, die installiert werden müssen
+ `cdk.json`— Die Eingabedatei zur Bereitstellung von Werten, die zum Hochfahren von Ressourcen erforderlich sind

## Best Practices
<a name="automate-aws-resource-assessment-best-practices"></a>

Richten Sie die Überwachung und Warnung für die Lambda-Funktion ein. Weitere Informationen finden Sie unter [Überwachung und Problembehandlung von Lambda-Funktionen](https://docs.aws.amazon.com/lambda/latest/dg/lambda-monitoring.html). Allgemeine bewährte Methoden für die Arbeit mit Lambda-Funktionen finden Sie in der [AWS-Dokumentation](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html).

## Epen
<a name="automate-aws-resource-assessment-epics"></a>

### So richten Sie Ihre Umgebung ein
<a name="set-up-your-environment"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Klonen Sie das Repo auf Ihrem lokalen Computer. | Führen Sie zum Klonen des Repositorys den Befehl `git clone https://github.com/aws-samples/infrastructure-assessment-iac-automation.git` aus. | AWS DevOps, DevOps Ingenieur | 
| Richten Sie die virtuelle Python-Umgebung ein und installieren Sie die erforderlichen Abhängigkeiten. | Führen Sie die folgenden Befehle aus, um die virtuelle Python-Umgebung einzurichten.<pre>cd infrastructure-assessment-iac-automation<br />python3 -m venv .venv<br />source .venv/bin/activate</pre><br />Führen Sie den Befehl aus, um die erforderlichen Abhängigkeiten einzurichten`pip install -r requirements.txt`. | AWS DevOps, DevOps Ingenieur | 
| Richten Sie die AWS-CDK-Umgebung ein und synthetisieren Sie den AWS-CDK-Code. | 1. Führen Sie den Befehl `cdk bootstrap aws://ACCOUNT-NUMBER/REGION` aus, um die AWS-CDK-Umgebung in Ihrem AWS-Konto einzurichten.<br />2. Führen Sie den Befehl aus, um den Code in eine CloudFormation AWS-Stack-Konfiguration zu konvertieren`cdk synth`. | AWS DevOps, DevOps Ingenieur | 

### AWS-Anmeldeinformationen auf Ihrem lokalen Computer einrichten
<a name="set-up-aws-credentials-on-your-local-machine"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Exportieren Sie Variablen für das Konto und die Region, in der der Stack bereitgestellt werden soll. | Führen Sie die folgenden Befehle aus, um AWS-Anmeldeinformationen für AWS CDK mithilfe von Umgebungsvariablen bereitzustellen.<pre>export CDK_DEFAULT_ACCOUNT=<12 Digit AWS Account Number><br />export CDK_DEFAULT_REGION=<region></pre> | AWS DevOps, DevOps Ingenieur | 
| Richten Sie das AWS-CLI-Profil ein. | Folgen Sie den Anweisungen in der [AWS-Dokumentation, um das AWS-CLI-Profil](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/keys-profiles-credentials.html) für das Konto einzurichten. | AWS DevOps, DevOps Ingenieur | 

### Konfigurieren und implementieren Sie das Tool zur Ressourcenbewertung
<a name="configure-and-deploy-the-resource-assessment-tool"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie Ressourcen im Konto bereit. | Gehen Sie wie folgt vor, um Ressourcen im AWS-Konto mithilfe von AWS CDK bereitzustellen:1. Geben Sie im Stammverzeichnis des geklonten Repositorys in der `cdk.json` Datei Eingaben für die folgenden Parameter ein:`s3_context``ct_context``kms_context``lambda_context``glue_context``qs_context`<br />Diese Werte definieren die Ressourcenkonfigurationen und die Nomenklatur. Standardwerte sind festgelegt und können bei Bedarf geändert werden.Um einen Fehler zu vermeiden, der besagt, dass der S3-Bucket bereits existiert, stellen Sie sicher, dass Sie `s3_context` in den `output` Abschnitten `ct ` und eindeutige Namen angeben.<br />2. Führen Sie den Befehl aus, um Ressourcen bereitzustellen`cdk deploy`.<br />Der `cdk deploy` Befehl erstellt eine CloudTrail Ressource zum Protokollieren von Ereignissen und zum Speichern der Protokolldatei im S3-Eingabe-Bucket. Die Protokolldateien des Trails werden von der Lambda-Funktion verarbeitet. Die gefilterten Ergebnisse werden im S3-Ausgabe-Bucket gespeichert und können von Amazon Athena und Amazon Quick Sight verwendet werden. | AWS DevOps | 
| Führen Sie den AWS Glue Glue-Crawler aus und erstellen Sie die Datenkatalogtabelle. | Ein [AWS Glue Glue-Crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) wird verwendet, um das Datenschema dynamisch zu halten. Die Lösung erstellt und aktualisiert Partitionen in der [AWS Glue Data Catalog-Tabelle](https://docs.aws.amazon.com/athena/latest/ug/querying-glue-catalog.html), indem sie den Crawler regelmäßig ausführt, wie vom AWS Glue Crawler Scheduler definiert. Nachdem die Daten im S3-Ausgabe-Bucket verfügbar sind, führen Sie die folgenden Schritte aus, um den AWS Glue Glue-Crawler auszuführen und das Data Catalog-Tabellenschema zum Testen zu erstellen:1. Melden Sie sich bei der AWS-Managementkonsole an und navigieren Sie zur AWS Glue-Konsole.<br />2. Wählen Sie im Navigationsbereich unter **Datenkatalog** die Option **Crawlers** aus.<br />3. Wählen Sie den `iac-tool-qa-resource-iac-json-crawler` Crawler aus.<br />4. Führen Sie den Crawler aus.<br />5. Nachdem der Crawler erfolgreich ausgeführt wurde, erstellt er eine AWS Glue Data Catalog-Tabelle. Quick Sight verwendet die Tabelle, um die Daten zu visualisieren.Der AWS-CDK-Code konfiguriert den AWS Glue-Crawler so, dass er zu einem bestimmten Zeitpunkt ausgeführt wird. Sie können ihn aber auch bei Bedarf ausführen. | AWS DevOps, DevOps Ingenieur | 
| Stellen Sie das Quick Sight-Konstrukt bereit. | 1. Um das Quick Sight-Konstrukt bereitzustellen, kommentieren Sie den Code zwischen `#QuickSight setup - start` und `#QuickSight setup – ends` in`resource_iac_tool_stack.py`.<br />2. Nachdem Sie den Kommentar entfernt haben, führen Sie den `cdk deploy` Befehl zum Erstellen von `QuickSight DataSource` und `QuickSight DataSet` im Quick Sight-Konto aus. | AWS DevOps, DevOps Ingenieur | 
| Erstellen Sie das Quick Sight-Dashboard. | Gehen Sie wie folgt vor, um das Quick Sight-Beispiel-Dashboard und die Analyse zu erstellen:1. Navigieren Sie zur Quick Sight-Konsole und wählen Sie die AWS-Region aus, in der Ressourcen bereitgestellt werden.<br />2. Wählen Sie im Navigationsbereich **Datensätze** aus und überprüfen Sie, ob im Quick Sight-Datensatz ein Datensatz mit dem Namen erstellt `ct-operations-iac-ds` wurde.<br />Wenn Sie den Datensatz nicht sehen, stellen Sie das Quick Sight-Konstrukt erneut bereit.<br />3. Wählen Sie den `ct-operations-iac-ds` Datensatz aus und wählen Sie **IN DER ANALYSE VERWENDEN**.<br />4. Wählen Sie das Standardblatt aus.<br />5. Wählen Sie die entsprechenden Spalten aus der Feldliste auf der linken Seite aus.<br />6. Nachdem Sie die erforderlichen Spalten ausgewählt haben, wählen Sie den entsprechenden visuellen Typ aus, um die Daten anzuzeigen.<br />Weitere Informationen finden Sie unter [Starten einer Analyse in Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/creating-an-analysis.html) und [Visuelle Typen in Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/working-with-visual-types.html). | AWS DevOps, DevOps Ingenieur | 

### Bereinigen Sie alle AWS-Ressourcen in der Lösung
<a name="clean-up-all-aws-resources-in-the-solution"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Entfernen Sie die AWS-Ressourcen. | 1. Führen Sie den Befehl aus, um die von der Lösung bereitgestellten AWS-Ressourcen zu entfernen`cdk destroy`.<br />2. Löschen Sie alle Objekte aus den beiden S3-Buckets und entfernen Sie dann die Buckets.<br />Weitere Informationen finden Sie unter [Löschen eines Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html). | AWS DevOps, DevOps Ingenieur | 

### Richten Sie zusätzliche Funktionen zusätzlich zur Automatisierung des AWS-Tools zur Ressourcenbewertung ein
<a name="set-up-additional-features-on-top-of-the-aws-resource-assessment-tool-automation"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Überwachen und bereinigen Sie manuell erstellte Ressourcen. | (Optional) Wenn Ihre Organisation Compliance-Anforderungen für die Erstellung von Ressourcen mithilfe von IaC-Tools hat, können Sie die Einhaltung der Vorschriften erreichen, indem Sie mithilfe der Automatisierung des AWS-Tools zur Ressourcenbeurteilung manuell bereitgestellte Ressourcen abrufen. Sie können das Tool auch verwenden, um die Ressourcen in ein IaC-Tool zu importieren oder neu zu erstellen. Um manuell bereitgestellte Ressourcen zu überwachen, führen Sie die folgenden allgemeinen Aufgaben aus:1. Stellen Sie die Automatisierung des AWS-Tools zur Ressourcenbewertung bereit.<br />2. Richten Sie eine Lambda-Funktion ein, um die Athena-Tabellen täglich abzufragen, die relevanten Daten zu manuell bereitgestellten Ressourcen zu finden und sie in eine Datei mit kommagetrennten Werten (CSV) zu exportieren.<br />3. Nachdem die Lambda-Funktion ausgeführt wurde, kann eine Benachrichtigung mit den erforderlichen Daten an die jeweiligen Stakeholder gesendet werden.<br />4. Für eine längere Aufbewahrung kann die CSV-Datei im S3-Bucket gespeichert werden.<br />5. Löschen Sie anhand der Informationen in der CSV-Datei die manuell erstellten Ressourcen oder importieren Sie sie in eine bestehende IaC-Lösung. | AWS DevOps, DevOps Ingenieur | 

## Fehlerbehebung
<a name="automate-aws-resource-assessment-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| AWS CDK gibt Fehler zurück. | Hilfe bei Problemen mit AWS CDK finden Sie unter [Behebung häufiger Probleme mit AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/troubleshooting.html). | 

## Zugehörige Ressourcen
<a name="automate-aws-resource-assessment-resources"></a>
+ [Lambda-Funktionen mit Python erstellen](https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html)
+ [Erste Schritte mit AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html)
+ [Arbeiten mit AWS CDK in Python](https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-python.html)
+ [Einen CloudTrail Log-Trail erstellen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [Erste Schritte mit Amazon Quick Sight](https://aws.amazon.com/quicksight/getting-started/)

## Zusätzliche Informationen
<a name="automate-aws-resource-assessment-additional"></a>

**Mehrere Konten**

Verwenden Sie AWS-Profile, um die AWS-CLI-Anmeldeinformationen für mehrere Konten einzurichten. Weitere Informationen finden Sie im Abschnitt *Mehrere Profile konfigurieren* unter [Einrichtung der AWS-CLI](https://aws.amazon.com/getting-started/guides/setup-environment/module-three/).

**AWS-CDK-Befehle**

Beachten Sie bei der Arbeit mit AWS CDK die folgenden nützlichen Befehle:
+ Listet alle Stacks in der App auf

  ```
  cdk ls
  ```
+ Gibt die synthetisierte AWS-Vorlage aus CloudFormation 

  ```
  cdk synth
  ```
+ Stellt den Stack für Ihr AWS-Standardkonto und Ihre Region bereit

  ```
  cdk deploy
  ```
+ Vergleicht den bereitgestellten Stack mit dem aktuellen Status

  ```
  cdk diff
  ```
+ Öffnet die AWS CDK-Dokumentation

  ```
  cdk docs
  ```