

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 CloudFormation
<a name="getting-started-with-aws-devops-agent-getting-started-with-aws-devops-agent-using-aws-cloudformation"></a>

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

In diesem Handbuch erfahren Sie, wie Sie mithilfe von AWS CloudFormation Vorlagen AWS DevOps Agentenressourcen erstellen und bereitstellen. Die Vorlagen automatisieren die Erstellung eines Agentenbereichs, AWS Identitäts- und Zugriffsmanagement-Rollen (IAM), einer Operator-App und AWS Kontozuordnungen als Infrastruktur als Code.

Der CloudFormation 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 in deklarativen YAML-Vorlagen 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
+ Berechtigungen zum Erstellen von IAM-Rollen und CloudFormation -Stacks
+ Ein AWS Konto für das (primäre) Überwachungskonto
+ (Optional) Ein zweites AWS Konto, wenn Sie eine kontoübergreifende Überwachung einrichten möchten

## Worum geht es in diesem Leitfaden
<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)** — Stellen Sie eine kontoübergreifende IAM-Rolle in einem sekundären Konto bereit und fügen Sie eine AWS Quellenzuordnung hinzu. Diese Konfiguration ermöglicht es dem Agentenbereich, Ressourcen kontenübergreifend zu überwachen.

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

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

### Schritt 1: Erstellen Sie die Vorlage CloudFormation
<a name="step-1-create-the-cloudformation-template"></a>

Speichern Sie die folgende Vorlage unter`devops-agent-stack.yaml`:

```
AWSTemplateFormatVersion: '2010-09-09'
Description: AWS DevOps Agent - Agent Space with IAM roles, operator app, and AWS association

Parameters:
  AgentSpaceName:
    Type: String
    Default: MyCloudFormationAgentSpace
    Description: Name for the agent space
  AgentSpaceDescription:
    Type: String
    Default: Agent space deployed with CloudFormation
    Description: Description for the agent space

Resources:
  # IAM role assumed by the DevOps Agent service to monitor the account
  DevOpsAgentSpaceRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: DevOpsAgentRole-AgentSpace
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: aidevops.amazonaws.com
            Action: sts:AssumeRole
            Condition:
              StringEquals:
                aws:SourceAccount: !Ref AWS::AccountId
              ArnLike:
                aws:SourceArn: !Sub arn:aws:aidevops:${AWS::Region}:${AWS::AccountId}:agentspace/*
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AIDevOpsAgentAccessPolicy
      Policies:
        - PolicyName: AllowCreateServiceLinkedRoles
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Sid: AllowCreateServiceLinkedRoles
                Effect: Allow
                Action:
                  - iam:CreateServiceLinkedRole
                Resource:
                  - !Sub arn:aws:iam::${AWS::AccountId}:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer

  # IAM role for the operator app interface
  DevOpsOperatorRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: DevOpsAgentRole-WebappAdmin
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: aidevops.amazonaws.com
            Action:
              - sts:AssumeRole
              - sts:TagSession
            Condition:
              StringEquals:
                aws:SourceAccount: !Ref AWS::AccountId
              ArnLike:
                aws:SourceArn: !Sub arn:aws:aidevops:${AWS::Region}:${AWS::AccountId}:agentspace/*
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AIDevOpsOperatorAppAccessPolicy

  # The agent space resource
  AgentSpace:
    Type: AWS::DevOpsAgent::AgentSpace
    DependsOn:
      - DevOpsAgentSpaceRole
      - DevOpsOperatorRole
    Properties:
      Name: !Ref AgentSpaceName
      Description: !Ref AgentSpaceDescription
      OperatorApp:
        Iam:
          OperatorAppRoleArn: !GetAtt DevOpsOperatorRole.Arn

  # Association linking the monitoring account to the agent space
  MonitorAssociation:
    Type: AWS::DevOpsAgent::Association
    Properties:
      AgentSpaceId: !GetAtt AgentSpace.AgentSpaceId
      ServiceId: aws
      Configuration:
        Aws:
          AssumableRoleArn: !GetAtt DevOpsAgentSpaceRole.Arn
          AccountId: !Ref AWS::AccountId
          AccountType: monitor

Outputs:
  AgentSpaceId:
    Description: The agent space ID
    Value: !GetAtt AgentSpace.AgentSpaceId
  AgentSpaceArn:
    Description: The agent space ARN
    Value: !GetAtt AgentSpace.Arn
  AgentSpaceRoleArn:
    Description: The agent space IAM role ARN
    Value: !GetAtt DevOpsAgentSpaceRole.Arn
  OperatorRoleArn:
    Description: The operator app IAM role ARN
    Value: !GetAtt DevOpsOperatorRole.Arn
```

### Schritt 2: Stellen Sie den Stack bereit
<a name="step-2-deploy-the-stack"></a>

Führen Sie den folgenden Befehl aus, um den Stack bereitzustellen. `<REGION>`Ersetzen Sie durch ein [Unterstützte Regionen](about-aws-devops-agent-supported-regions.md) (z. B.`us-east-1`).

```
aws cloudformation deploy \
  --template-file devops-agent-stack.yaml \
  --stack-name DevOpsAgentStack \
  --capabilities CAPABILITY_NAMED_IAM \
  --region <REGION>
```

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

Führen Sie nach Abschluss der Bereitstellung den folgenden Befehl aus, um die Stack-Ausgaben abzurufen. Notieren Sie sich diese Werte für die spätere Verwendung.

```
aws cloudformation describe-stacks \
  --stack-name DevOpsAgentStack \
  --query 'Stacks[0].Outputs' \
  --region <REGION>
```

Das folgende Beispiel zeigt die erwartete Ausgabe:

```
[
  {
    "OutputKey": "AgentSpaceId",
    "OutputValue": "abc123def456"
  },
  {
    "OutputKey": "AgentSpaceArn",
    "OutputValue": "arn:aws:aidevops:<REGION>:<ACCOUNT_ID>:agentspace/abc123def456"
  },
  {
    "OutputKey": "AgentSpaceRoleArn",
    "OutputValue": "arn:aws:iam::<ACCOUNT_ID>:role/DevOpsAgentRole-AgentSpace"
  },
  {
    "OutputKey": "OperatorRoleArn",
    "OutputValue": "arn:aws:iam::<ACCOUNT_ID>:role/DevOpsAgentRole-WebappAdmin"
  }
]
```

Wenn Sie planen, Teil 2 abzuschließen, speichern Sie den `AgentSpaceArn` Wert. Sie benötigen es, um die kontoübergreifende Rolle zu konfigurieren.

### Schritt 4: Überprüfen Sie die Bereitstellung
<a name="step-4-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 devops-agent 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. Bereitstellung einer IAM-Rolle in dem Dienstkonto, das dem Agentenbereich vertraut.

1. Hinzufügen einer AWS Quellzuordnung zum Überwachungskonto, die auf das Dienstkonto verweist.

**Hinweis:** Sie müssen Teil 1 abschließen, bevor Sie fortfahren können. Für die Vorlage für das Dienstkonto sind die Stack-Ausgaben `AgentSpaceArn` aus Teil 1 erforderlich.

### Schritt 1: Erstellen Sie die Vorlage für das Dienstkonto
<a name="step-1-create-the-service-account-template"></a>

Speichern Sie die folgende Vorlage unter`devops-agent-service-account.yaml`. Diese Vorlage erstellt eine kontoübergreifende IAM-Rolle im sekundären Konto.

```
AWSTemplateFormatVersion: '2010-09-09'
Description: AWS DevOps Agent - Cross-account IAM role for secondary account monitoring

Parameters:
  MonitoringAccountId:
    Type: String
    Description: The 12-digit AWS account ID of the monitoring account
  AgentSpaceArn:
    Type: String
    Description: The ARN of the agent space from the monitoring account

Resources:
  # Cross-account IAM role trusted by the agent space
  DevOpsSecondaryAccountRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: DevOpsAgentRole-SecondaryAccount
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: aidevops.amazonaws.com
            Action: sts:AssumeRole
            Condition:
              StringEquals:
                aws:SourceAccount: !Ref MonitoringAccountId
              ArnLike:
                aws:SourceArn: !Ref AgentSpaceArn
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AIDevOpsAgentAccessPolicy
      Policies:
        - PolicyName: AllowCreateServiceLinkedRoles
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Sid: AllowCreateServiceLinkedRoles
                Effect: Allow
                Action:
                  - iam:CreateServiceLinkedRole
                Resource:
                  - !Sub arn:aws:iam::${AWS::AccountId}:role/aws-service-role/resource-explorer-2.amazonaws.com/AWSServiceRoleForResourceExplorer

Outputs:
  SecondaryAccountRoleArn:
    Description: The cross-account IAM role ARN
    Value: !GetAtt DevOpsSecondaryAccountRole.Arn
```

### Schritt 2: Stellen Sie den Dienstkontenstapel bereit
<a name="step-2-deploy-the-service-account-stack"></a>

Führen Sie mit den Anmeldeinformationen für das Dienstkonto den folgenden Befehl aus:

```
aws cloudformation deploy \
  --template-file devops-agent-service-account.yaml \
  --stack-name DevOpsAgentServiceAccountStack \
  --capabilities CAPABILITY_NAMED_IAM \
  --parameter-overrides \
    MonitoringAccountId=<MONITORING_ACCOUNT_ID> \
    AgentSpaceArn=<AGENT_SPACE_ARN> \
  --region <REGION>
```

### Schritt 3: Fügen Sie die AWS Quellzuordnung hinzu
<a name="step-3-add-the-source-aws-association"></a>

Wechseln Sie zurück zum Überwachungskonto und erstellen Sie eine AWS Quellenzuordnung. Sie können dies tun, indem Sie einen separaten Stapel erstellen oder die ursprüngliche Vorlage aktualisieren. Im folgenden Beispiel wird eine eigenständige Vorlage verwendet.

Speichern Sie die folgende Vorlage als`devops-agent-source-association.yaml`:

```
AWSTemplateFormatVersion: '2010-09-09'
Description: AWS DevOps Agent - Source AWS association for cross-account monitoring

Parameters:
  AgentSpaceId:
    Type: String
    Description: The agent space ID from the monitoring account stack
  ServiceAccountId:
    Type: String
    Description: The 12-digit AWS account ID of the service account
  ServiceAccountRoleArn:
    Type: String
    Description: The ARN of the DevOpsAgentRole-SecondaryAccount role in the service account

Resources:
  SourceAssociation:
    Type: AWS::DevOpsAgent::Association
    Properties:
      AgentSpaceId: !Ref AgentSpaceId
      ServiceId: aws
      Configuration:
        SourceAws:
          AccountId: !Ref ServiceAccountId
          AccountType: source
          AssumableRoleArn: !Ref ServiceAccountRoleArn

Outputs:
  SourceAssociationId:
    Description: The source association ID
    Value: !Ref SourceAssociation
```

Stellen Sie den Zuordnungsstapel mithilfe der Anmeldeinformationen für das Überwachungskonto bereit:

```
aws cloudformation deploy \
  --template-file devops-agent-source-association.yaml \
  --stack-name DevOpsAgentSourceAssociationStack \
  --parameter-overrides \
    AgentSpaceId=<AGENT_SPACE_ID> \
    ServiceAccountId=<SERVICE_ACCOUNT_ID> \
    ServiceAccountRoleArn=arn:aws:iam::<SERVICE_ACCOUNT_ID>:role/DevOpsAgentRole-SecondaryAccount \
  --region <REGION>
```

## Verifizierung
<a name="verification"></a>

Überprüfen Sie Ihr Setup, indem Sie die folgenden AWS CLI-Befehle ausführen:

```
# List your agent spaces
aws devops-agent list-agent-spaces \
  --region <REGION>

# Get details of a specific agent space
aws devops-agent get-agent-space \
  --agent-space-id <AGENT_SPACE_ID> \
  --region <REGION>

# List associations for an agent space
aws devops-agent list-associations \
  --agent-space-id <AGENT_SPACE_ID> \
  --region <REGION>
```

## 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 Bereitstellungsanmeldedaten berechtigt sind, IAM-Rollen mit benutzerdefinierten Namen () `CAPABILITY_NAMED_IAM` zu erstellen.
+ Vergewissern Sie sich, dass die Bedingungen der Vertrauensrichtlinie mit Ihrer Konto-ID übereinstimmen.

**Die kontoübergreifende Bereitstellung schlägt fehl**
+ Jeder Stapel 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 der `AgentSpaceArn` Parameter genau mit dem ARN aus den Stackausgaben von Teil 1 übereinstimmt.

**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, löschen Sie die Stapel in umgekehrter Reihenfolge.

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

Führen Sie die folgenden Befehle aus, um die Stapel zu löschen:

```
# If you deployed the source association stack, delete it first
aws cloudformation delete-stack \
  --stack-name DevOpsAgentSourceAssociationStack \
  --region <REGION>

aws cloudformation wait stack-delete-complete \
  --stack-name DevOpsAgentSourceAssociationStack \
  --region <REGION>

# If you deployed the service account stack, delete it next (using service account credentials)
aws cloudformation delete-stack \
  --stack-name DevOpsAgentServiceAccountStack \
  --region <REGION>

aws cloudformation wait stack-delete-complete \
  --stack-name DevOpsAgentServiceAccountStack \
  --region <REGION>

# Delete the main stack last
aws cloudformation delete-stack \
  --stack-name DevOpsAgentStack \
  --region <REGION>
```

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

Nachdem Sie Ihren AWS DevOps Agenten bereitgestellt haben, indem AWS CloudFormation Sie:
+ Informationen zum Herstellen zusätzlicher Integrationen finden Sie unter[Funktionen für den AWS DevOps Agenten konfigurieren](configuring-capabilities-for-aws-devops-agent.md).
+ Weitere Informationen zu den Fähigkeiten und Fertigkeiten von Agenten finden Sie unter[DevOps Fähigkeiten der Agenten](about-aws-devops-agent-devops-agent-skills.md).
+ Weitere Informationen zur Web-App für Operatoren finden Sie unter[Was ist eine DevOps Agent-Web-App?](about-aws-devops-agent-what-is-a-devops-agent-web-app.md).