

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 mithilfe von AWS CDK eine CI/CD Pipeline für Hybrid-Workloads auf Amazon ECS Anywhere ein und GitLab
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab"></a>

*Rafael Ortiz, Amazon Web Services*

## Zusammenfassung
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-summary"></a>

Amazon ECS Anywhere ist eine Erweiterung des Amazon Elastic Container Service (Amazon ECS). Es bietet Unterstützung für die Registrierung einer *externen Instanz*, z. B. eines lokalen Servers oder einer virtuellen Maschine (VM), in Ihrem Amazon ECS-Cluster. Diese Funktion hilft, Kosten zu senken und komplexe lokale Container-Orchestrierung und -Operationen zu minimieren. Sie können ECS Anywhere verwenden, um Containeranwendungen sowohl in lokalen als auch in Cloud-Umgebungen bereitzustellen und auszuführen. Dadurch entfällt für Ihr Team die Notwendigkeit, mehrere Bereiche und Fähigkeiten zu erlernen oder komplexe Software eigenständig zu verwalten.

Dieses Muster beschreibt einen step-by-step Ansatz zur Bereitstellung eines Amazon ECS-Clusters mit Amazon ECS Anywhere Anywhere-Instances mithilfe von Amazon Web Services (AWS) Cloud Development Kit (AWS CDK) -Stacks. Anschließend verwenden Sie AWS CodePipeline , um eine Pipeline für kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) einzurichten. Anschließend replizieren Sie Ihr GitLab Code-Repository auf AWS CodeCommit und stellen Ihre containerisierte Anwendung auf dem Amazon ECS-Cluster bereit.

Dieses Muster soll denjenigen helfen, die eine lokale Infrastruktur verwenden, um Containeranwendungen auszuführen und die Anwendungscodebasis GitLab zu verwalten. Sie können diese Workloads mithilfe von AWS-Cloud-Services verwalten, ohne Ihre bestehende lokale Infrastruktur zu stören.

## Voraussetzungen und Einschränkungen
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto.
+ Eine Container-Anwendung, die auf einer lokalen Infrastruktur ausgeführt wird.
+ Ein GitLab Repository, in dem Sie Ihre Anwendungscodebasis verwalten. Weitere Informationen finden Sie unter [Repository](https://docs.gitlab.com/ee/user/project/repository/) (GitLab).
+ AWS-Befehlszeilenschnittstelle (AWS CLI), installiert und konfiguriert. Weitere Informationen finden Sie unter [Installation oder Aktualisierung der neuesten Version der AWS-CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) (AWS-CLI-Dokumentation).
+ AWS CDK Toolkit, global installiert und konfiguriert. Weitere Informationen finden [Sie unter Installieren des AWS-CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install) (AWS-CDK-Dokumentation).
+ npm, installiert und konfiguriert für das AWS-CDK in. TypeScript Weitere Informationen finden Sie unter [Node.js und npm herunterladen und installieren (npm-Dokumentation](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)).

**Einschränkungen**
+ Einschränkungen und Überlegungen finden Sie unter [Externe Instances (Amazon ECS Anywhere)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere.html#ecs-anywhere-considerations) in der Amazon ECS-Dokumentation.

**Produktversionen**
+ AWS CDK Toolkit Version 2.27.0 oder höher
+ npm Version 7.20.3 oder höher
+ Node.js Version 16.6.1 oder höher

## Architektur
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-architecture"></a>

**Zieltechnologie-Stack**
+ AWS-CDK
+ AWS CloudFormation
+ AWS CodeBuild
+ AWS CodeCommit
+ AWS CodePipeline
+ Amazon ECS Anywhere
+ Amazon Elastic Container Registry (Amazon ECR)
+ AWS Identity and Access Management (IAM)
+ AWS-Systemmanager
+ GitLab Repositorium

**Zielarchitektur**

![\[Architekturdiagramm der Einrichtung des Amazon ECS-Clusters und der CI/CD Pipeline.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/b0f35986-a839-4b01-8eb0-4748182ddafc/images/85b8d4d9-3591-4d69-a54b-64aa543498f1.png)


Dieses Diagramm stellt zwei primäre Workflows dar, die in diesem Muster beschrieben werden: die Bereitstellung des Amazon ECS-Clusters und die Einrichtung der CI/CD Pipeline, die die CI/CD Pipeline einrichtet und bereitstellt, wie folgt:

1. **Bereitstellung des Amazon ECS-Clusters**

   1. Wenn Sie den ersten AWS-CDK-Stack bereitstellen, erstellt er einen CloudFormation Stack auf AWS.

   1. Dieser CloudFormation Stack stellt einen Amazon ECS-Cluster und zugehörige AWS-Ressourcen bereit.

   1. Um eine externe Instance bei einem Amazon ECS-Cluster zu registrieren, müssen Sie den AWS Systems Manager Agent (SSM Agent) auf Ihrer VM installieren und die VM als von AWS Systems Manager verwaltete Instance registrieren. 

   1. Sie müssen auch den Amazon ECS-Container-Agenten und Docker auf Ihrer VM installieren, um sie als externe Instance beim Amazon ECS-Cluster zu registrieren.

   1. Wenn die externe Instance registriert und mit dem Amazon ECS-Cluster konfiguriert ist, kann sie mehrere Container auf Ihrer VM ausführen, die als externe Instance registriert ist.

   1. Der Amazon ECS-Cluster ist aktiv und kann die Anwendungs-Workloads über Container ausführen. Die Amazon ECS Anywhere Anywhere-Container-Instance wird in einer lokalen Umgebung ausgeführt, ist aber mit dem Amazon ECS-Cluster in der Cloud verknüpft.

1. **Einrichtung und Bereitstellung der Pipeline CI/CD **

   1. Wenn Sie den zweiten AWS-CDK-Stack bereitstellen, erstellt er einen weiteren CloudFormation Stack auf AWS.

   1. Dieser CloudFormation Stack stellt eine Pipeline in CodePipeline und zugehörigen AWS-Ressourcen bereit.

   1. Sie übertragen Änderungen am Anwendungscode per Push und führen sie in ein lokales GitLab Repository zusammen. 

   1. Das GitLab Repository wird automatisch in das Repository repliziert. CodeCommit 

   1. Die Aktualisierungen des CodeCommit Repos werden automatisch gestartet. CodePipeline 

   1. CodePipeline kopiert Code aus der CodeCommit integrierten implementierbaren Anwendung und erstellt sie. CodeBuild

   1. CodePipeline erstellt ein Docker-Image der CodeBuild Build-Umgebung und überträgt es in das Amazon ECR-Repository.

   1. CodePipeline initiiert CodeDeploy Aktionen, die das Container-Image aus dem Amazon ECR-Repo abrufen.

   1. CodePipeline stellt das Container-Image auf dem Amazon ECS-Cluster bereit.

**Automatisierung und Skalierung**

Dieses Muster verwendet das AWS-CDK als Infrastructure-as-Code-Tool (IaC) zur Konfiguration und Bereitstellung dieser Architektur. AWS CDK unterstützt Sie bei der Orchestrierung der AWS-Ressourcen und der Einrichtung von Amazon ECS Anywhere und der CI/CD Pipeline.

## Tools
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-tools"></a>

**AWS-Services**
+ 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 CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) ist ein Versionskontrollservice, mit dem Sie Git-Repositorys privat speichern und verwalten können, ohne Ihr eigenes Quellcodeverwaltungssystem verwalten zu müssen.
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) hilft Ihnen dabei, die verschiedenen Phasen einer Softwareversion schnell zu modellieren und zu konfigurieren und die Schritte zu automatisieren, die für die kontinuierliche Veröffentlichung von Softwareänderungen erforderlich sind.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ist ein Open-Source-Tool, mit dem Sie über Befehle in Ihrer Befehlszeilen-Shell mit AWS-Services interagieren können.
+ [Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) ist ein verwalteter Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist.
+ [Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) ist ein hoch skalierbarer, schneller Container-Management-Service, der das Ausführen, Beenden und Verwalten von Containern in einem Cluster vereinfacht. Dieses Muster verwendet auch [Amazon ECS Anywhere](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere.html), das Unterstützung für die Registrierung eines lokalen Servers oder einer VM in Ihrem Amazon ECS-Cluster bietet.

**Andere Tools**
+ [Node.js](https://nodejs.org/en/docs/) ist eine ereignisgesteuerte JavaScript Laufzeitumgebung, die für die Erstellung skalierbarer Netzwerkanwendungen entwickelt wurde.
+ [npm](https://docs.npmjs.com/about-npm) ist eine Softwareregistrierung, die in einer Node.js -Umgebung ausgeführt wird und verwendet wird, um Pakete gemeinsam zu nutzen oder auszuleihen und die Bereitstellung von privaten Paketen zu verwalten.
+ [Vagrant](https://developer.hashicorp.com/vagrant/docs) ist ein Open-Source-Hilfsprogramm für den Aufbau und die Wartung portabler virtueller Softwareentwicklungsumgebungen. Zu Demonstrationszwecken verwendet dieses Muster Vagrant, um eine lokale VM zu erstellen.

**Code-Repository**

Der Code für dieses Muster ist in der GitHub [CI/CD-Pipeline für Amazon ECS Anywhere unter Verwendung des AWS CDK-Repositorys](https://github.com/aws-samples/amazon-ecs-anywhere-cicd-pipeline-cdk-sample) verfügbar.

## Best Practices
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-best-practices"></a>

Beachten Sie bei der Bereitstellung dieses Musters die folgenden bewährten Methoden:
+ [Bewährte Methoden für die Entwicklung und Bereitstellung einer Cloud-Infrastruktur mit dem AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/best-practices.html)
+ [Bewährte Methoden für die Entwicklung von Cloud-Anwendungen mit AWS CDK](https://aws.amazon.com/blogs/devops/best-practices-for-developing-cloud-applications-with-aws-cdk/) (AWS-Blogbeitrag)

## Epen
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-epics"></a>

### Überprüfen Sie die AWS-CDK-Konfiguration
<a name="verify-the-aws-cdk-configuration"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Überprüfen Sie die AWS-CDK-Version. | Überprüfen Sie die Version des AWS CDK Toolkit, indem Sie den folgenden Befehl eingeben.<pre>cdk --version</pre>Für dieses Muster ist Version 2.27.0 oder höher erforderlich. Wenn Sie eine frühere Version haben, folgen Sie den Anweisungen in der [AWS CDK-Dokumentation](https://docs.aws.amazon.com/cdk/latest/guide/cli.html), um sie zu aktualisieren. | DevOps Ingenieur | 
| Überprüfen Sie die NPM-Version. | Überprüfen Sie die Version von npm, indem Sie den folgenden Befehl eingeben.<pre>npm --version</pre>Dieses Muster erfordert Version 7.20.3 oder höher. Wenn Sie eine frühere Version haben, folgen Sie den Anweisungen in der [npm-Dokumentation, um sie zu aktualisieren](https://docs.npmjs.com/try-the-latest-stable-version-of-npm). | DevOps Ingenieur | 
| Richten Sie AWS-Anmeldeinformationen ein. | Richten Sie AWS-Anmeldeinformationen ein, indem Sie den `aws configure` Befehl eingeben und den Anweisungen folgen.<pre>$aws configure<br />AWS Access Key ID [None]: <your-access-key-ID><br />AWS Secret Access Key [None]: <your-secret-access-key><br />Default region name [None]: <your-Region-name><br />Default output format [None]:</pre> | DevOps Ingenieur | 

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


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Klonen Sie das AWS-CDK-Code-Repository. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps Ingenieur | 
| Bootstrapping für die Umwelt. | Stellen Sie die CloudFormation Vorlage für das Konto und die AWS-Region bereit, die Sie verwenden möchten, indem Sie den folgenden Befehl eingeben.<pre>cdk bootstrap <account-number>/<Region></pre>Weitere Informationen finden Sie unter [Bootstrapping](https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html) in der AWS CDK-Dokumentation. | DevOps Ingenieur | 

### Aufbau und Bereitstellung der Infrastruktur für Amazon ECS Anywhere
<a name="build-and-deploy-the-infrastructure-for-amazon-ecs-anywhere"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| 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 eingeben.<pre>$cd EcsAnywhereCdk<br />$npm install<br />$npm fund </pre>Mit diesen Befehlen werden alle Pakete aus dem Beispiel-Repository installiert. Weitere Informationen finden Sie unter [npm ci](https://docs.npmjs.com/cli/v7/commands/npm-ci) und [npm install](https://docs.npmjs.com/cli/v7/commands/npm-install) in der npm-Dokumentation. Wenn Sie bei der Eingabe dieser Befehle Fehler über fehlende Pakete erhalten, lesen Sie den Abschnitt [zur Fehlerbehebung](#set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-troubleshooting) in diesem Muster. | DevOps Ingenieur | 
| Erstellen Sie das Projekt. | Geben Sie den folgenden Befehl ein, um den Projektcode zu erstellen.<pre>npm run build</pre>Weitere Informationen zum Erstellen und Bereitstellen des Projekts finden Sie unter [Ihre erste AWS-CDK-App](https://docs.aws.amazon.com/cdk/latest/guide/hello_world.html#:~:text=the%20third%20parameter.-,Synthesize%20an%20AWS%20CloudFormation%20template,-Synthesize%20an%20AWS) in der AWS-CDK-Dokumentation. | DevOps Ingenieur | 
| Stellen Sie den Amazon ECS Anywhere Anywhere-Infrastruktur-Stack bereit. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps Ingenieur | 
| Überprüfen Sie die Erstellung und Ausgabe des Stacks. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps Ingenieur | 

### Richten Sie eine lokale VM ein
<a name="set-up-an-on-premises-vm"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie Ihre VM ein. | Erstellen Sie eine Vagrant-VM, indem Sie den `vagrant up` Befehl aus dem Stammverzeichnis eingeben, in dem sich Vagrantfile befindet. [Weitere Informationen finden Sie in der Vagrant-Dokumentation.](https://developer.hashicorp.com/vagrant/docs/cli/up) | DevOps Ingenieur | 
| Registrieren Sie Ihre VM als externe Instanz. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html)Dadurch wird Ihre VM als externe Amazon ECS Anywhere Anywhere-Instance eingerichtet und die Instance im Amazon ECS-Cluster registriert. Weitere Informationen finden Sie unter [Registrierung einer externen Instance in einem Cluster](https://docs.amazonaws.cn/en_us/AmazonECS/latest/developerguide/ecs-anywhere-registration.html) in der Amazon ECS-Dokumentation. Wenn Sie Probleme haben, lesen Sie den Abschnitt [Fehlerbehebung](#set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-troubleshooting). | DevOps Ingenieur | 
| Überprüfen Sie den Status von Amazon ECS Anywhere und der externen VM. | Verwenden Sie die folgenden Befehle, um zu überprüfen, ob Ihre VM mit der Amazon ECS-Steuerebene verbunden ist und läuft.<pre>$aws ssm describe-instance-information<br />$aws ecs list-container-instances --cluster $CLUSTER_NAME</pre> | DevOps Ingenieur | 

### Stellen Sie die CI/CD Pipeline bereit
<a name="deploy-the-ci-cd-pipeline"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen Zweig im CodeCommit Repo. | Erstellen Sie einen Branch mit dem Namen `main` im CodeCommit Repo, indem Sie den ersten Commit für das Repository erstellen. Sie können der AWS-Dokumentation folgen, um [einen Commit zu erstellen CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-create-commit.html#create-first-commit). Nachfolgend finden Sie einen Beispielbefehl.<pre>aws codecommit put-file \<br />  --repository-name EcsAnywhereRepo \<br />  --branch-name main \<br />  --file-path README.md \<br />  --file-content "Test" \<br />  --name "Dev Ops" \<br />  --email "devops@example.com" \<br />  --commit-message "Adding README."</pre> | DevOps Ingenieur | 
| Richten Sie die Repo-Mirroring ein. | Sie können ein GitLab Repository von und zu externen Quellen spiegeln. Sie können auswählen, welches Repository als Quelle dient. Branches, Tags und Commits werden automatisch synchronisiert. Richten Sie einen Push-Mirror zwischen dem GitLab Repository, das Ihre Anwendung hostet, und dem CodeCommit Repository ein. Anweisungen finden Sie unter [Einen Push-Mirror von GitLab bis einrichten CodeCommit](https://docs.gitlab.com/ee/user/project/repository/mirror/push.html#set-up-a-push-mirror-from-gitlab-to-aws-codecommit) (GitLab Dokumentation).Standardmäßig synchronisiert die Spiegelung das Repository automatisch. Wenn Sie die Repositorys manuell aktualisieren möchten, finden Sie weitere Informationen unter [Einen Mirror aktualisieren (Dokumentation](https://docs.gitlab.com/ee/user/project/repository/mirror/#update-a-mirror))GitLab . | DevOps Ingenieur | 
| Stellen Sie den CI/CD Pipeline-Stack bereit. | Stellen Sie den `EcsAnywherePipelineStack` Stack bereit, indem Sie den folgenden Befehl eingeben.<pre>$cdk  deploy EcsAnywherePipelineStack</pre> | DevOps Ingenieur | 
| Testen Sie die CI/CD Pipeline. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps Ingenieur | 

### Bereinigen
<a name="clean-up"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Bereinigen und löschen Sie die Ressourcen. | Nachdem Sie dieses Muster durchgegangen sind, sollten Sie die von Ihnen erstellten proof-of-concept Ressourcen entfernen. Geben Sie zum Aufräumen die folgenden Befehle ein.<pre>$cdk destroy EcsAnywherePipelineStack<br />$cdk destroy EcsAnywhereInfraStack</pre> | DevOps Ingenieur | 

## Fehlerbehebung
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Fehler bezüglich fehlender Pakete bei der Installation von Paketabhängigkeiten. | Geben Sie einen der folgenden Befehle ein, um fehlende Pakete zu beheben.<pre>$npm ci</pre>oder<pre>$npm install -g @aws-cdk/<package_name></pre> | 
| Wenn Sie den `aws ssm create-activation` Befehl auf der VM ausführen, erhalten Sie die folgende Fehlermeldung.`An error occurred (ValidationException) when calling the CreateActivation operation: Nonexistent role or missing ssm service principal in trust policy: arn:aws:iam::000000000000:role/EcsAnywhereInstanceRole` | Der `EcsAnywhereInfraStack` Stack ist nicht vollständig bereitgestellt, und die IAM-Rolle, die für die Ausführung dieses Befehls erforderlich ist, wurde noch nicht erstellt. Überprüfen Sie den Stack-Status in der CloudFormation Konsole. Versuchen Sie den Befehl erneut, nachdem sich der Status auf `CREATE_COMPLETE` geändert hat. | 
| Eine Amazon ECS-Zustandsprüfung wird zurückgegeben`UNHEALTHY`, und der folgende Fehler wird im Abschnitt **Services** des Clusters in der Amazon ECS-Konsole angezeigt.`service EcsAnywhereService was unable to place a task because no container instance met all of its requirements. Reason: No Container Instances were found in your cluster.` | Starten Sie den Amazon ECS-Agenten auf Ihrer Vagrant-VM neu, indem Sie die folgenden Befehle eingeben.<pre>$vagrant ssh<br />$sudo systemctl restart ecs<br />$sudo systemctl status ecs</pre> | 

## Zugehörige Ressourcen
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-resources"></a>
+ [Amazon ECS Anywhere Anywhere-Marketingseite](https://aws.amazon.com/ecs/anywhere/)
+ [Dokumentation zu Amazon ECS Anywhere](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere.html#ecs-anywhere-considerations)
+ [Amazon ECS Anywhere Anywhere-Demo](https://www.youtube.com/watch?v=-eud6yUXsJM) (Video)
+ [Beispiele für Amazon ECS Anywhere Anywhere-Workshops](https://github.com/aws-samples/aws-ecs-anywhere-workshop-samples) (GitHub)
+ [Spiegelung von Repositorys](https://docs.gitlab.com/ee/user/project/repository/mirror/) (GitLab Dokumentation)