

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.

# Verwalten Sie lokale Containeranwendungen, indem Sie Amazon ECS Anywhere mit dem AWS CDK einrichten
<a name="manage-on-premises-container-applications-by-setting-up-amazon-ecs-anywhere-with-the-aws-cdk"></a>

*Dr. Rahul Sharad Gaikwad, Amazon Web Services*

## Zusammenfassung
<a name="manage-on-premises-container-applications-by-setting-up-amazon-ecs-anywhere-with-the-aws-cdk-summary"></a>

[Amazon ECS Anywhere](https://aws.amazon.com/ecs/anywhere/) ist eine Erweiterung des Amazon Elastic Container Service (Amazon ECS). Sie können ECS Anywhere verwenden, um native Amazon ECS-Aufgaben in einer lokalen oder vom Kunden verwalteten Umgebung bereitzustellen. Diese Funktion trägt dazu bei, Kosten zu senken und komplexe lokale Container-Orchestrierung und Betriebsabläufe zu vereinfachen. 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 veranschaulicht die Schritte zur Einrichtung von ECS Anywhere mithilfe von [AWS Cloud Development Kit (AWS CDK) -Stacks](https://aws.amazon.com/cdk/).

## Voraussetzungen und Einschränkungen
<a name="manage-on-premises-container-applications-by-setting-up-amazon-ecs-anywhere-with-the-aws-cdk-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto.
+ AWS-Befehlszeilenschnittstelle (AWS CLI), installiert und konfiguriert. (Weitere Informationen finden Sie unter [Installation, Aktualisierung und Deinstallation der AWS-CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) in der AWS-CLI-Dokumentation.) 
+ AWS CDK Toolkit, installiert und konfiguriert. (Sehen Sie sich das [AWS CDK Toolkit](https://docs.aws.amazon.com/cdk/v2/guide/cli.html) in der AWS CDK-Dokumentation an und folgen Sie den Anweisungen, um Version 2 global zu installieren.)
+ Node Package Manager (npm), installiert und konfiguriert für das AWS-CDK in. TypeScript (Weitere Informationen finden Sie unter [Node.js und npm herunterladen und installieren in der 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
+ npm Version 7.20.3 oder höher
+ Node.js Version 16.6.1 oder höher

## Architektur
<a name="manage-on-premises-container-applications-by-setting-up-amazon-ecs-anywhere-with-the-aws-cdk-architecture"></a>

**Zieltechnologie-Stack**
+ AWS CloudFormation
+ AWS-CDK
+ Amazon ECS Anywhere
+ AWS Identity and Access Management (IAM)

**Zielarchitektur**

Das folgende Diagramm zeigt eine allgemeine Systemarchitektur des ECS Anywhere-Setups unter Verwendung des AWS CDK mit TypeScript, wie in diesem Muster implementiert.

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

1. Der 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 virtuellen Maschine (VM) installieren und die VM als von AWS Systems Manager verwaltete Instanz 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.

![\[ECS Anywhere-Einrichtung mit dem AWS-CDK mit TypeScript.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/3ed63c00-40e7-4831-bb9d-63049c3490aa/images/ff7dc774-830d-4b9f-8262-7314afe7a033.png)


 

**Automatisierung und Skalierung**

Das mit diesem Muster bereitgestellte [GitHub Repository](https://github.com/aws-samples/amazon-ecs-anywhere-cdk-samples/) verwendet das AWS-CDK als IaC-Tool (Infrastructure as Code), um die Konfiguration für diese Architektur zu erstellen. AWS CDK hilft Ihnen bei der Orchestrierung von Ressourcen und der Einrichtung von ECS Anywhere.

## Tools
<a name="manage-on-premises-container-applications-by-setting-up-amazon-ecs-anywhere-with-the-aws-cdk-tools"></a>
+ 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 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.

**Code**

Der Quellcode für dieses Muster ist im [Amazon ECS Anywhere CDK Samples-Repository](https://github.com/aws-samples/amazon-ecs-anywhere-cdk-samples) verfügbar. GitHub Folgen Sie den Anweisungen im nächsten Abschnitt, um das Repository zu klonen und zu verwenden.

## Epen
<a name="manage-on-premises-container-applications-by-setting-up-amazon-ecs-anywhere-with-the-aws-cdk-epics"></a>

### Überprüfen Sie die AWS-CDK-Konfiguration
<a name="verify-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 ausführen:<pre>cdk --version</pre>Für dieses Muster ist AWS CDK Version 2 erforderlich. Wenn Sie eine frühere Version von AWS CDK haben, folgen Sie den Anweisungen in der [AWS CDK-Dokumentation](https://docs.aws.amazon.com/cdk/v2/guide/cli.html), um sie zu aktualisieren. | DevOps Ingenieur | 
| Richten Sie AWS-Anmeldeinformationen ein. | Um Anmeldeinformationen einzurichten, führen Sie den `aws configure` Befehl aus und folgen Sie den Anweisungen:<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. | Klonen Sie das GitHub Code-Repository für dieses Muster mit dem folgenden Befehl:<pre>git clone https://github.com/aws-samples/amazon-ecs-anywhere-cdk-samples.git</pre> | DevOps Ingenieur | 
| Bootstrapping für die Umwelt. | Führen Sie den folgenden Befehl aus, um die CloudFormation AWS-Vorlage für das Konto und die AWS-Region bereitzustellen, die Sie verwenden möchten:<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 | 

### Erstellen und implementieren Sie das Projekt
<a name="build-and-deploy-the-project"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Installieren Sie Paketabhängigkeiten und kompilieren Sie TypeScript Dateien. | Installieren Sie die Paketabhängigkeiten und kompilieren Sie die TypeScript Dateien, indem Sie die folgenden Befehle ausführen:<pre>$cd amazon-ecs-anywhere-cdk-samples<br />$npm install<br />$npm fund </pre>Mit diesen Befehlen werden alle Pakete aus dem Beispiel-Repository installiert. Wenn Sie eine Fehlermeldung über fehlende Pakete erhalten, verwenden Sie einen der folgenden Befehle:<pre>$npm ci   </pre> –oder –<pre>$npm install -g @aws-cdk/<package_name></pre>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. | DevOps Ingenieur | 
| Erstellen Sie das Projekt. | Führen Sie den folgenden Befehl aus, 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 das Projekt bereit. | Führen Sie den folgenden Befehl aus, um den Projektcode bereitzustellen:<pre>cdk deploy</pre> | DevOps Ingenieur | 
| Überprüfen Sie die Erstellung und Ausgabe des Stacks. | Öffnen Sie die CloudFormation AWS-Konsole unter [https://console.aws.amazon.com/cloudformation****](https://console.aws.amazon.com/cloudformation/) und wählen Sie den `EcsAnywhereStack` Stack aus. Auf der Registerkarte **Ausgaben** werden die Befehle angezeigt, die auf Ihrer externen VM ausgeführt werden sollen. | DevOps Ingenieur | 

### Richten Sie einen lokalen Computer ein
<a name="set-up-an-on-premises-machine"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Richten Sie Ihre VM mithilfe von Vagrant ein. | Zu Demonstrationszwecken können Sie [HashiCorp Vagrant](https://www.vagrantup.com/) verwenden, um eine VM zu erstellen. Vagrant ist ein Open-Source-Hilfsprogramm für den Aufbau und die Wartung portabler virtueller Softwareentwicklungsumgebungen. Erstellen Sie eine Vagrant-VM, indem Sie den `vagrant up` Befehl im Stammverzeichnis ausführen, in dem Vagrantfile gespeichert ist. [Weitere Informationen finden Sie in der Vagrant-Dokumentation.](https://www.vagrantup.com/docs/cli/up) | DevOps Ingenieur | 
| Registrieren Sie Ihre VM als externe Instanz. | 1. Melden Sie sich mit dem `vagrant ssh` Befehl bei der Vagrant-VM an. Weitere Informationen finden Sie in der [Vagrant-Dokumentation](https://www.vagrantup.com/docs/cli/ssh).2. Erstellen Sie einen Aktivierungscode und eine ID, mit denen Sie Ihre VM bei AWS Systems Manager registrieren und Ihre externe Instanz aktivieren können. Die Ausgabe dieses Befehls umfasst `ActivationId` und `ActivationCode` Werte: <pre>aws ssm create-activation --iam-role EcsAnywhereInstanceRole | tee ssm-activation.json</pre>3. Exportieren Sie die Aktivierungs-ID und die Codewerte:<pre>export ACTIVATION_ID=<activation-ID><br />export ACTIVATION_CODE=<activation-code></pre>4. Laden Sie das Installationsskript auf Ihren lokalen Server oder Ihre VM herunter:<pre>curl -o "ecs-anywhere-install.sh" "https://amazon-ecs-agent.s3.amazonaws.com/ecs-anywhere-install-latest.sh" && sudo chmod +x ecs-anywhere-install.sh</pre>5. Führen Sie das Installationsskript auf Ihrem lokalen Server oder Ihrer VM aus:<pre>sudo ./ecs-anywhere-install.sh \<br />    --cluster test-ecs-anywhere \<br />     --activation-id $ACTIVATION_ID \<br />     --activation-code $ACTIVATION_CODE \<br />    --region <Region></pre>Weitere Informationen zum Einrichten und Registrieren Ihrer VM 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. | DevOps Ingenieur | 
| Überprüfen Sie den Status von ECS Anywhere und der externen VM. | Verwenden Sie die folgenden Befehle, um zu überprüfen, ob Ihre virtuelle Box 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 | 

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


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Ressourcen bereinigen und löschen. | Nachdem Sie dieses Muster durchgegangen sind, sollten Sie die Ressourcen, die Sie erstellt haben, entfernen, um weitere Kosten zu vermeiden. Führen Sie zum Aufräumen den folgenden Befehl aus:<pre>cdk destroy</pre> | DevOps Ingenieur | 

## Zugehörige Ressourcen
<a name="manage-on-premises-container-applications-by-setting-up-amazon-ecs-anywhere-with-the-aws-cdk-resources"></a>
+ [Dokumentation zu Amazon ECS Anywhere](https://aws.amazon.com/ecs/anywhere/) 
+ [Amazon ECS Anywhere Anywhere-Demo](https://www.youtube.com/watch?v=-eud6yUXsJM)
+ [Beispiele Amazon ECS Anywhere Anywhere-Workshops](https://github.com/aws-samples/aws-ecs-anywhere-workshop-samples)