Führen Sie ECS Amazon-Aufgaben auf Amazon WorkSpaces mit Amazon ECS Anywhere aus - AWS Prescriptive Guidance

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.

Führen Sie ECS Amazon-Aufgaben auf Amazon WorkSpaces mit Amazon ECS Anywhere aus

Erstellt von Akash Kumar () AWS

Übersicht

Amazon Elastic Container Service (AmazonECS) Anywhere unterstützt die Bereitstellung von ECS Amazon-Aufgaben in jeder Umgebung, einschließlich der von Amazon Web Services (AWS) verwalteten Infrastruktur und der vom Kunden verwalteten Infrastruktur. Sie können dies tun, während Sie eine vollständig AWS verwaltete Steuerungsebene verwenden, die in der Cloud läuft und immer auf dem neuesten Stand ist. 

Unternehmen nutzen Amazon häufig WorkSpaces für die Entwicklung containerbasierter Anwendungen. Dies erforderte Amazon Elastic Compute Cloud (AmazonEC2) oder AWS Fargate mit einem ECS Amazon-Cluster, um ECS Aufgaben zu testen und auszuführen. Mit Amazon ECS Anywhere können Sie jetzt Amazon WorkSpaces als externe Instances direkt zu einem ECS Cluster hinzufügen und Ihre Aufgaben direkt ausführen. Dies reduziert Ihre Entwicklungszeit, da Sie Ihren Container mit einem ECS Cluster lokal auf Amazon testen können WorkSpaces. Sie können sich auch die Kosten für die Nutzung unserer EC2 Fargate-Instances zum Testen Ihrer Containeranwendungen sparen.

Dieses Muster zeigt, wie ECS Aufgaben auf Amazon WorkSpaces mit Amazon ECS Anywhere bereitgestellt werden. Es richtet den ECS Cluster ein und verwendet AWS Directory Service Simple AD, um den zu starten WorkSpaces. Dann wird die ECS Beispielaufgabe NGINX in der gestartet WorkSpaces.

Voraussetzungen und Einschränkungen

Architektur

Zieltechnologie-Stack

  • Eine virtuelle private Cloud (VPC)

  • Ein ECS Amazon-Cluster

  • Amazon WorkSpaces

  • AWSDirectory Service mit Simple AD

Zielarchitektur

ECSAnywhere richtet den ECS Cluster ein und verwendet Simple AD zum Starten WorkSpaces.

Die Architektur umfasst die folgenden Dienste und Ressourcen:

  • Ein ECS Cluster mit öffentlichen und privaten Subnetzen in einem benutzerdefinierten VPC

  • Simple AD VPC zur Bereitstellung von Benutzerzugriff auf Amazon WorkSpaces

  • Amazon WorkSpaces bereitgestellt in der VPC Verwendung von Simple AD

  • AWSSystems Manager für das Hinzufügen von Amazon WorkSpaces als verwaltete Instances aktiviert

  • Mit Amazon ECS und AWS Systems Manager Agent (SSMAgent) WorkSpaces fügte Amazon Systems Manager und dem ECS Cluster hinzu

  • Eine ECS Beispielaufgabe zur Ausführung WorkSpaces im ECS Cluster

Tools

  • AWSDirectory Service Simple Active Directory (Simple AD) ist ein eigenständiges verwaltetes Verzeichnis, das von einem Samba 4 Active Directory-kompatiblen Server betrieben wird. Simple AD bietet einen Teil der Funktionen von AWS Managed Microsoft AD, einschließlich der Möglichkeit, Benutzer zu verwalten und eine sichere Verbindung zu EC2 Amazon-Instances herzustellen.

  • Amazon Elastic Container Service (AmazonECS) ist ein schneller und skalierbarer Container-Management-Service, mit dem Sie Container in einem Cluster ausführen, stoppen und verwalten können.

  • AWSMit Identity and Access Management (IAM) können Sie den Zugriff auf Ihre AWS Ressourcen sicher verwalten, indem Sie kontrollieren, wer authentifiziert und autorisiert ist, diese zu verwenden.

  • AWSSystems Manager unterstützt Sie bei der Verwaltung Ihrer Anwendungen und Infrastruktur, die in der AWS Cloud ausgeführt werden. Es vereinfacht das Anwendungs- und Ressourcenmanagement, verkürzt die Zeit für die Erkennung und Lösung betrieblicher Probleme und hilft Ihnen, Ihre AWS Ressourcen sicher und in großem Umfang zu verwalten.

  • Amazon WorkSpaces unterstützt Sie bei der Bereitstellung virtueller, Cloud-basierter Microsoft Windows- oder Amazon Linux-Desktops für Ihre Benutzer, bekannt als WorkSpaces. WorkSpaces macht die Beschaffung und Bereitstellung von Hardware oder die Installation komplexer Software überflüssig.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen und konfigurieren Sie den ECS Cluster.

Um den ECS Cluster zu erstellen, folgen Sie den Anweisungen in der AWSDokumentation, einschließlich der folgenden Schritte:

  • Wählen Sie für Select-Cluster-Kompatibilität die Option Nur Networking aus, wodurch Amazon WorkSpace als externe Instance für den ECS Cluster unterstützt wird.

  • Wählen Sie, ob Sie eine neue erstellen möchtenVPC.

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Richten Sie Simple AD ein und starten Sie Amazon WorkSpaces.

Folgen Sie den Anweisungen in der AWSDokumentation, um ein Simple AD AD-Verzeichnis für Ihr neu erstelltes VPC und gestartetes Amazon WorkSpaces bereitzustellen.

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Laden Sie die angehängten Skripte herunter.

Laden Sie auf Ihrem lokalen Computer die ssm-activation.json Dateien ssm-trust-policy.json und herunter, die sich im Bereich Anlagen befinden.

Cloud-Architekt

Fügen Sie die IAM Rolle hinzu.

Fügen Sie Umgebungsvariablen hinzu, die auf Ihren Geschäftsanforderungen basieren.

export AWS_DEFAULT_REGION=${AWS_REGION_ID} export ROLE_NAME=${ECS_TASK_ROLE} export CLUSTER_NAME=${ECS_CLUSTER_NAME} export SERVICE_NAME=${ECS_CLUSTER_SERVICE_NAME}

Führen Sie den folgenden Befehl aus.

aws iam create-role --role-name $ROLE_NAME --assume-role-policy-document file://ssm-trust-policy.json
Cloud-Architekt

Fügen Sie der IAM Rolle die mazonSSMManaged InstanceCore A-Richtlinie hinzu.

Führen Sie den folgenden Befehl aus.

aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
Cloud-Architekt

Fügen Sie die EC2ContainerServiceforEC2Role Amazon-Richtlinie zur IAM Rolle hinzu.

Führen Sie den folgenden Befehl aus.

aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
Cloud-Architekt

Überprüfen Sie die IAM Rolle.

Führen Sie den folgenden Befehl aus, um die IAM Rolle zu überprüfen.

aws iam list-attached-role-policies --role-name $ROLE_NAME
Cloud-Architekt

Aktivieren Sie den Systems Manager.

Führen Sie den folgenden Befehl aus.

aws ssm create-activation --iam-role $ROLE_NAME | tee ssm-activation.json
Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Connect dich mit deinem WorkSpaces.

Folgen Sie den Anweisungen in der AWSDokumentation, um eine Verbindung zu Ihren Workspaces herzustellen und diese einzurichten.

App-Developer

Laden Sie das ECS-Anywhere-Installationsskript herunter.

Führen Sie an der Eingabeaufforderung den folgenden Befehl aus.

curl -o "ecs-anywhere-install.sh" "https://amazon-ecs-agent-packages-preview.s3.us-east-1.amazonaws.com/ecs-anywhere-install.sh" && sudo chmod +x ecs-anywhere-install.sh
App-Developer

Überprüfen Sie die Integrität des Shell-Skripts.

(Optional) Führen Sie den folgenden Befehl aus.

curl -o "ecs-anywhere-install.sh.sha256" "https://amazon-ecs-agent-packages-preview.s3.us-east-1.amazonaws.com/ecs-anywhere-install.sh.sha256" && sha256sum -c ecs-anywhere-install.sh.sha256
App-Developer

Fügen Sie ein EPEL Repository auf Amazon Linux hinzu.

Um ein Repository mit zusätzlichen Paketen für Enterprise Linux (EPEL) hinzuzufügen, führen Sie den Befehl aussudo amazon-linux-extras install epel -y.

App-Developer

Installieren Sie Amazon ECS Anywhere.

Verwenden Sie den folgenden Befehl, um das Installationsskript auszuführen.

sudo ./ecs-anywhere-install.sh --cluster $CLUSTER_NAME --activation-id $ACTIVATION_ID --activation-code $ACTIVATION_CODE --region $AWS_REGION

Überprüfen Sie die Instanzinformationen aus dem ECS Cluster.

Um die Systems Manager- und ECS Clusterinstanzinformationen zu überprüfen und zu überprüfen, ob sie dem Cluster hinzugefügt WorkSpaces wurden, führen Sie den folgenden Befehl auf Ihrem lokalen Computer aus.

aws ssm describe-instance-information" && "aws ecs list-container-instances --cluster $CLUSTER_NAME
App-Developer
AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie eine IAM Rolle zur Aufgabenausführung.

Laden Sie task-execution-assume-role.json und external-task-definition.json aus dem Bereich Anlagen herunter. 

Führen Sie auf Ihrem lokalen Computer den folgenden Befehl aus.

aws iam --region $AWS_DEFAULT_REGION create-role --role-name $ECS_TASK_EXECUTION_ROLE --assume-role-policy-document file://task-execution-assume-role.json
Cloud-Architekt

Fügen Sie die Richtlinie der Ausführungsrolle hinzu.

Führen Sie den folgenden Befehl aus.

aws iam --region $AWS_DEFAULT_REGION attach-role-policy --role-name $ECS_TASK_EXECUTION_ROLE --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
Cloud-Architekt

Erstellen Sie eine Aufgabenrolle.

Führen Sie den folgenden Befehl aus.

aws iam --region $AWS_DEFAULT_REGION create-role --role-name $ECS_TASK_EXECUTION_ROLE --assume-role-policy-document file://task-execution-assume-role.json
Cloud-Architekt

Registrieren Sie die Aufgabendefinition im Cluster.

Führen Sie auf Ihrem lokalen Computer den folgenden Befehl aus.

aws ecs register-task-definition --cli-input-json file://external-task-definition.json
Cloud-Architekt

Führen Sie die Aufgabe aus.

Führen Sie auf Ihrem lokalen Computer den folgenden Befehl aus.

aws ecs run-task --cluster $CLUSTER_NAME --launch-type EXTERNAL --task-definition nginx
Cloud-Architekt

Überprüfen Sie den Status, in dem die Aufgabe ausgeführt wird.

Führen Sie den folgenden Befehl aus, um die Aufgaben-ID abzurufen.

export TEST_TASKID=$(aws ecs list-tasks --cluster $CLUSTER_NAME | jq -r '.taskArns[0]')

Führen Sie mit der Task-ID den folgenden Befehl aus.

aws ecs describe-tasks --cluster $CLUSTER_NAME --tasks ${TEST_TASKID}
Cloud-Architekt

Überprüfen Sie die Aufgabe auf dem WorkSpace.

Um zu überprüfen, ob auf dem ausgeführt NGINX wird WorkSpace, führen Sie den Befehl aus curl http://localhost:8080.

App-Developer

Zugehörige Ressourcen

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip