

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.

# Erste Schritte mit AWS DevOps Agent using AWS CDK
<a name="getting-started-with-aws-devops-agent-getting-started-with-aws-devops-agent-using-aws-cdk"></a>

## -Übersicht
<a name="overview"></a>

Diese Anleitung zeigt Ihnen, wie Sie das AWS Cloud Development Kit (AWS CDK) verwenden, um AWS DevOps Agentenressourcen zu erstellen und bereitzustellen. Die AWS CDK-Anwendung automatisiert die Erstellung eines Agentenbereichs, AWS Identity and Access Management (IAM) -Rollen, einer Operator-App und AWS Kontozuordnungen durch. AWS CloudFormation

Der AWS CDK-Ansatz automatisiert die im [CLI Onboarding-Leitfaden](https://docs.aws.amazon.com/devopsagent/latest/userguide/getting-started-with-aws-devops-agent-cli-onboarding-guide.html) beschriebenen manuellen Schritte, indem alle erforderlichen Ressourcen als Infrastruktur als Code definiert werden.

AWS DevOps Der Agent ist in den folgenden 6 AWS Regionen verfügbar: USA Ost (Nord-Virginia), USA West (Oregon), Asien-Pazifik (Sydney), Asien-Pazifik (Tokio), Europa (Frankfurt) und Europa (Irland). Weitere Informationen zu den unterstützten Regionen finden Sie unter[Unterstützte Regionen](about-aws-devops-agent-supported-regions.md).

## Voraussetzungen
<a name="prerequisites"></a>

Stellen Sie vor dem Beginn sicher, dass Sie über Folgendes verfügen:
+ AWS Die Befehlszeilenschnittstelle (AWS CLI) wurde mit den entsprechenden Anmeldeinformationen installiert und konfiguriert
+ Node.js Version 18 oder höher
+ AWS CDK-Befehlszeilenschnittstelle (CLI) ist global installiert. Führen Sie den folgenden Befehl aus, um die AWS CDK-CLI zu installieren:

```
npm install -g aws-cdk
```
+ Ein AWS Konto für das (primäre) Überwachungskonto
+ (Optional) Ein zweites AWS Konto, wenn Sie eine kontoübergreifende Überwachung einrichten möchten

## Was dieser Leitfaden behandelt
<a name="what-this-guide-covers"></a>

Dieser Leitfaden ist in zwei Teile gegliedert:
+ **Teil 1** — Stellen Sie einen Agentenbereich mit einer Operator-App und einer AWS Verknüpfung in Ihrem Monitoring-Konto bereit. Nachdem Sie diesen Teil abgeschlossen haben, kann der Agent Probleme in diesem Konto überwachen.
+ **Teil 2 (optional)** — Fügen Sie eine AWS Quellenzuordnung für ein Dienstkonto hinzu und stellen Sie eine kontoübergreifende IAM-Rolle für dieses Konto bereit. Diese Konfiguration ermöglicht es dem Agentenbereich, Ressourcen kontenübergreifend zu überwachen.

## Ressourcen wurden erstellt
<a name="resources-created"></a>

### Teil 1: DevOpsAgentStack (Überwachungskonto)
<a name="part-1-devopsagentstack-monitoring-account"></a>
+ **IAM-Rolle** (`DevOpsAgentRole-AgentSpace`) — Wird vom DevOps Agent-Dienst zur Überwachung des Kontos übernommen. Beinhaltet die `AIDevOpsAgentAccessPolicy` verwaltete Richtlinie und eine Inline-Richtlinie, die die Erstellung der serviceverknüpften Resource Explorer-Rolle ermöglicht.
+ **IAM-Rolle** (`DevOpsAgentRole-WebappAdmin`) — Operator-App-Rolle mit der `AIDevOpsOperatorAppAccessPolicy` verwalteten Richtlinie für Agentenoperationen.
+ **Agentenbereich** (`MyCDKAgentSpace`) — Der zentrale Agentenbereich, der mithilfe der `AWS::DevOpsAgent::AgentSpace` CloudFormation Ressource erstellt wurde. Beinhaltet die Konfiguration der Bediener-App.
+ **Zuordnung** (AWS Monitor) — Verknüpft das Überwachungskonto mithilfe der `AWS::DevOpsAgent::Association` CloudFormation Ressource mit dem Agentenbereich.
+ **Zuordnung** (AWS Quelle) — (Optional) Verknüpft das Dienstkonto mit dem Agentenbereich für die kontenübergreifende Überwachung.

### Teil 2: ServiceStack (Dienstkonto, optional)
<a name="part-2-servicestack-service-account-optional"></a>
+ **IAM-Rolle** (`DevOpsAgentRole-SecondaryAccount`) — Kontoübergreifende Rolle mit festem Namen. Wird vom Agent-Bereich im Monitoring-Konto als vertrauenswürdig eingestuft. Beinhaltet die `AIDevOpsAgentAccessPolicy` verwaltete Richtlinie und eine Inline-Richtlinie, die die Erstellung der mit dem Resource Explorer-Dienst verknüpften Rolle ermöglicht.
+ **Lambda-Funktion** (`echo-service`) — Ein einfacher Beispieldienst, der Eingabeereignisse zurückgibt.

## Einrichtung
<a name="setup"></a>

### Schritt 1: Klonen Sie das Beispiel-Repository
<a name="step-1-clone-the-sample-repository"></a>

Führen Sie die folgenden Befehle aus, um das Repository zu klonen und zum Projektverzeichnis zu wechseln:

```
git clone https://github.com/aws-samples/sample-aws-devops-agent-cdk.git
cd sample-aws-devops-agent-cdk
```

### Schritt 2: Abhängigkeiten installieren
<a name="step-2-install-dependencies"></a>

Führen Sie den folgenden Befehl aus, um die Projektabhängigkeiten zu installieren:

```
npm install
```

## Teil 1: Stellen Sie den Agentenbereich bereit
<a name="part-1-deploy-the-agent-space"></a>

In diesem Abschnitt erstellen Sie den Agentenbereich, die IAM-Rollen, die Operator-App und eine AWS Zuordnung in Ihrem Monitoring-Konto.

### Schritt 1: Konfigurieren Sie die ID des Überwachungskontos
<a name="step-1-configure-the-monitoring-account-id"></a>

Öffnen Sie Ihre Überwachungskonto-ID `lib/constants.ts` und legen Sie sie fest:

Das folgende Beispiel zeigt die zu aktualisierende Konstante:

```
export const MONITORING_ACCOUNT_ID = "<YOUR_MONITORING_ACCOUNT_ID>";
```

### Schritt 2: Bootstrap für die AWS CDK-Umgebung
<a name="step-2-bootstrap-the-aws-cdk-environment"></a>

Wenn Sie das AWS CDK in Ihrem Monitoring-Konto nicht gebootet haben, führen Sie den folgenden Befehl aus:

```
cdk bootstrap aws://<MONITORING_ACCOUNT_ID>/<REGION> --profile monitoring
```

### Schritt 3: Erstellen und Bereitstellen
<a name="step-3-build-and-deploy"></a>

Führen Sie die folgenden Befehle aus, um den TypeScript Code zu erstellen und den Stack bereitzustellen:

```
npm run build
cdk deploy DevOpsAgentStack --profile monitoring
```

### Schritt 4: Notieren Sie die Stack-Ausgaben
<a name="step-4-record-the-stack-outputs"></a>

Nach Abschluss der Bereitstellung druckt das AWS CDK die Stack-Ausgaben. Notieren Sie sich diese Werte für die spätere Verwendung.

Das folgende Beispiel zeigt die erwartete Ausgabe:

```
Outputs:
DevOpsAgentStack.AgentSpaceArn = arn:aws:aidevops:<REGION>:123456789012:agentspace/abc123
DevOpsAgentStack.AgentSpaceRoleArn = arn:aws:iam::123456789012:role/DevOpsAgentRole-AgentSpace
DevOpsAgentStack.OperatorRoleArn = arn:aws:iam::123456789012:role/DevOpsAgentRole-WebappAdmin
DevOpsAgentStack.AssociationId = assoc-xyz
```

Wenn Sie planen, Teil 2 abzuschließen, speichern Sie den `AgentSpaceArn` Wert. Sie benötigen es, um den Dienstkontenstapel zu konfigurieren.

### Schritt 5: Überprüfen Sie die Bereitstellung
<a name="step-5-verify-the-deployment"></a>

Führen Sie den folgenden AWS CLI-Befehl aus, um zu überprüfen, ob der Agent-Bereich erfolgreich erstellt wurde:

```
aws devopsagent get-agent-space \
  --agent-space-id <AGENT_SPACE_ID> \
  --region <REGION>
```

Zu diesem Zeitpunkt wird Ihr Agentenbereich bereitgestellt, wobei die Operator-App aktiviert und Ihr Monitoring-Konto verknüpft ist. Der Agent kann Probleme in diesem Konto überwachen.

## Teil 2 (optional): Kontenübergreifende Überwachung hinzufügen
<a name="part-2-optional-add-cross-account-monitoring"></a>

In diesem Abschnitt erweitern Sie das Setup, sodass Ihr Agentenbereich Ressourcen in einem zweiten AWS Konto (dem Dienstkonto) überwachen kann. Dies beinhaltet zwei Aktionen:

1. Hinzufügen einer AWS Quellzuordnung in der DevOpsAgentStack , die auf das Dienstkonto verweist.

1. Bereitstellung des im ServiceStack Dienstkonto mit einer IAM-Rolle, die dem Agentenbereich vertraut.

**Wichtig**  
**Sie müssen Teil 1 abschließen, bevor Sie fortfahren können. Das ServiceStack erfordert das `AgentSpaceArn` aus der DevOpsAgentStack Bereitstellungsausgabe.

### Schritt 1: Konfigurieren Sie die Dienstkonto-ID
<a name="step-1-configure-the-service-account-id"></a>

Öffnen Sie Ihre Dienstkonto-ID `lib/constants.ts` und legen Sie sie fest:

Das folgende Beispiel zeigt die zu aktualisierende Konstante:

```
export const SERVICE_ACCOUNT_ID = "<YOUR_SERVICE_ACCOUNT_ID>";
```

Der DevOpsAgentStack erstellt mithilfe dieser Konto-ID eine AWS Quellzuordnung. Wenn Sie das bereitgestellt haben, DevOpsAgentStack bevor Sie diesen Wert festgelegt haben, führen Sie die Bereitstellung erneut durch, um die Zuordnung zu erstellen:

Führen Sie die folgenden Befehle aus, um die Bereitstellung erneut durchzuführen:

```
npm run build
cdk deploy DevOpsAgentStack --profile monitoring
```

### Schritt 2: Den ARN für den Agentenbereich einrichten
<a name="step-2-set-the-agent-space-arn"></a>

Kopieren Sie den `AgentSpaceArn` Wert aus der DevOpsAgentStack Ausgabe (Teil 1, Schritt 4) und geben Sie ihn ein`lib/constants.ts`:

Das folgende Beispiel zeigt die zu aktualisierende Konstante:

```
export const AGENT_SPACE_ARN = "arn:aws:aidevops:<REGION>:<MONITORING_ACCOUNT_ID>:agentspace/<SPACE_ID>";
```

Der ServiceStack verwendet diesen Wert, um den Geltungsbereich der Vertrauensrichtlinie für die sekundäre Kontorolle festzulegen. Der ServiceStack wird nur synthetisiert, wenn dieser Wert festgelegt ist.

### Schritt 3: Bootstrap für das Dienstkonto
<a name="step-3-bootstrap-the-service-account"></a>

Wenn Sie das AWS CDK in Ihrem Dienstkonto nicht gebootet haben, führen Sie den folgenden Befehl aus:

```
cdk bootstrap aws://<SERVICE_ACCOUNT_ID>/<REGION> --profile service
```

### Schritt 4: Stellen Sie das bereit ServiceStack
<a name="step-4-deploy-the-servicestack"></a>

Führen Sie die folgenden Befehle aus, um das ServiceStack mithilfe der Anmeldeinformationen für das Dienstkonto zu erstellen und bereitzustellen:

```
npm run build
cdk deploy ServiceStack --profile service
```

Dadurch werden die folgenden Ressourcen im Dienstkonto erstellt:
+ Eine IAM-Rolle (`DevOpsAgentRole-SecondaryAccount`), die dem Agentenbereich im Überwachungskonto vertraut
+ Eine Echo-Lambda-Funktion (`echo-service`) als Beispieldienst

### Schritt 5: Überprüfen Sie die Bereitstellung
<a name="step-5-verify-the-deployment"></a>

Um zu überprüfen, ob die Lambda-Funktion erfolgreich bereitgestellt wurde, führen Sie die folgenden Befehle aus, um den Echo-Service zu testen:

```
aws lambda invoke \
  --function-name echo-service \
  --payload '{"test": "hello world"}' \
  --profile service \
  response.json
cat response.json
```

## Fehlerbehebung
<a name="troubleshooting"></a>

In diesem Abschnitt werden häufig auftretende Probleme und deren Behebung beschrieben.

**CloudFormation Ressourcentyp wurde nicht gefunden**
+ Stellen Sie sicher, dass Sie die Bereitstellung in einem durchführen[Unterstützte Regionen](about-aws-devops-agent-supported-regions.md).
+ Vergewissern Sie sich, dass Ihre AWS CLI mit den entsprechenden Berechtigungen konfiguriert ist.

**Die Erstellung der IAM-Rolle ist fehlgeschlagen**
+ Stellen Sie sicher, dass Ihre Bereitstellungsrolle über Berechtigungen zum Erstellen von IAM-Rollen verfügt.
+ Vergewissern Sie sich, dass die Bedingungen der Vertrauensrichtlinie mit Ihrer Konto-ID übereinstimmen.

**Die kontoübergreifende Bereitstellung schlägt mit der Meldung „Die Rolle im Zielkonto konnte nicht übernommen werden“ fehl**
+ Jeder Stack muss mit Anmeldeinformationen für das Zielkonto bereitgestellt werden. Verwenden Sie das `--profile` Flag, um das richtige AWS CLI-Profil anzugeben.
+ Stellen Sie sicher, dass das AWS CDK im Zielkonto gebootet wurde.

**Verzögerungen bei der IAM-Übertragung**
+ Die Übertragung von IAM-Rollenänderungen kann einige Minuten dauern. Wenn die Erstellung des Agentenbereichs unmittelbar nach der Rollenerstellung fehlschlägt, warten Sie einige Minuten und führen Sie die Bereitstellung erneut durch.

## Bereinigen
<a name="cleanup"></a>

Um alle Ressourcen zu entfernen, zerstören Sie die Stapel in umgekehrter Reihenfolge.

Führen Sie die folgenden Befehle aus, um die Stapel zu zerstören:

```
# If you deployed the ServiceStack, destroy it first
cdk destroy ServiceStack --profile service
# Then destroy the DevOpsAgentStack
cdk destroy DevOpsAgentStack --profile monitoring
```

**Warnung: Durch** diese Aktion werden Ihr Agentenbereich und alle zugehörigen Daten dauerhaft gelöscht. Diese Aktion kann nicht rückgängig gemacht werden. Stellen Sie sicher, dass Sie alle wichtigen Informationen gesichert haben, bevor Sie fortfahren.

## Sicherheitsüberlegungen
<a name="security-considerations"></a>
+ Die AWS CDK-Anwendung erstellt IAM-Rollen mit Vertrauensrichtlinien, die es nur dem `aidevops.amazonaws.com` Dienstprinzipal ermöglichen, diese Rollen zu übernehmen.
+ Zu den Vertrauensrichtlinien gehören Bedingungen, die den Zugriff auf Ihr bestimmtes AWS Konto und den ARN Ihres Agentenbereichs einschränken.
+ Alle Richtlinien folgen dem Prinzip der geringsten Rechte. Überprüfen Sie die IAM-Richtlinien und passen Sie sie an die Sicherheitsanforderungen Ihres Unternehmens an.
+ Die kontoübergreifende Rolle (`DevOpsAgentRole-SecondaryAccount`) verwendet einen festen Namen und ist auf einen bestimmten Agent-Space-ARN ARN.

## Nächste Schritte
<a name="next-steps"></a>

Nachdem Sie Ihren AWS DevOps Agenten mithilfe des CDK bereitgestellt haben: AWS 

1. Erfahren Sie im DevOps [Agent-Benutzerhandbuch mehr über den gesamten Funktionsumfang des AWS DevOps Agenten](https://docs.aws.amazon.com/devopsagent/latest/userguide/).

1. Erwägen Sie, die AWS CDK-Implementierung in Ihre CI/CD Pipelines für ein automatisiertes Infrastrukturmanagement zu integrieren.

## Weitere Ressourcen
<a name="additional-resources"></a>
+ [AWS DevOps Benutzerhandbuch für Agenten](https://docs.aws.amazon.com/devopsagent/latest/userguide/)
+ [Beispiel für ein CDK-Repository](https://github.com/aws-samples/sample-aws-devops-agent-cdk) auf der Website GitHub 
+ [CLI Onboarding-Leitfaden](https://docs.aws.amazon.com/devopsagent/latest/userguide/getting-started-with-aws-devops-agent-cli-onboarding-guide.html)