

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exécutez des tâches Amazon ECS sur Amazon WorkSpaces avec Amazon ECS Anywhere
<a name="run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere"></a>

*Akash Kumar, Amazon Web Services*

## Résumé
<a name="run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere-summary"></a>

Amazon Elastic Container Service (Amazon ECS) Anywhere prend en charge le déploiement de tâches Amazon ECS dans n'importe quel environnement, y compris l'infrastructure gérée par Amazon Web Services (AWS) et l'infrastructure gérée par le client. Vous pouvez le faire en utilisant un plan de contrôle entièrement géré par AWS, exécuté dans le cloud et toujours à jour. 

Les entreprises utilisent souvent Amazon WorkSpaces pour développer des applications basées sur des conteneurs. Cela a nécessité Amazon Elastic Compute Cloud (Amazon EC2) ou AWS Fargate avec un cluster Amazon ECS pour tester et exécuter des tâches ECS. Désormais, en utilisant Amazon ECS Anywhere, vous pouvez ajouter Amazon WorkSpaces en tant qu'instances externes directement à un cluster ECS, et vous pouvez exécuter vos tâches directement. Cela réduit votre temps de développement, car vous pouvez tester votre conteneur avec un cluster ECS localement sur Amazon WorkSpaces. Vous pouvez également économiser sur le coût d'utilisation EC2 des instances Fargate pour tester vos applications de conteneurs.

Ce modèle montre comment déployer des tâches ECS sur Amazon WorkSpaces avec Amazon ECS Anywhere. Il configure le cluster ECS et utilise AWS Directory Service Simple AD pour lancer le WorkSpaces. Ensuite, l'exemple de tâche ECS lance NGINX dans le. WorkSpaces

## Conditions préalables et limitations
<a name="run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere-prereqs"></a>
+ Un compte AWS actif
+ Interface de ligne de commande AWS (AWS CLI)
+ Informations d'identification AWS [configurées sur votre machine](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)

## Architecture
<a name="run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere-architecture"></a>

**Pile technologique cible**
+ Un cloud privé virtuel (VPC)
+ Un cluster Amazon ECS
+ Amazon WorkSpaces
+ AWS Directory Service avec Simple AD

**Architecture cible**

![\[ECS Anywhere configure le cluster ECS et utilise Simple AD pour le lancer WorkSpaces.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/da8b2249-3423-485c-9fef-6f902025e969/images/fd354d14-f29b-4b9e-8f1a-c3cb7ed4d6bf.png)


 

L'architecture inclut les services et ressources suivants :
+ Un cluster ECS avec des sous-réseaux publics et privés dans un VPC personnalisé
+ Simple AD dans le VPC pour permettre aux utilisateurs d'accéder à Amazon WorkSpaces
+ Amazon WorkSpaces provisionné dans le VPC à l'aide de Simple AD
+ AWS Systems Manager est activé pour ajouter Amazon en WorkSpaces tant qu'instances gérées
+ À l'aide d'Amazon ECS et d'AWS Systems Manager Agent (agent SSM), Amazon WorkSpaces a ajouté à Systems Manager et au cluster ECS
+ Exemple de tâche ECS à exécuter WorkSpaces dans le cluster ECS

## Outils
<a name="run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere-tools"></a>
+ [AWS Directory Service Simple Active Directory (Simple AD)](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_simple_ad.html) est un annuaire géré autonome alimenté par un serveur compatible Samba 4 Active Directory. Simple AD fournit un sous-ensemble des fonctionnalités proposées par AWS Managed Microsoft AD, notamment la possibilité de gérer les utilisateurs et de se connecter en toute sécurité aux EC2 instances Amazon.
+ [Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) est un service de gestion de conteneurs évolutif et rapide, qui facilite l'exécution, l'arrêt et la gestion de conteneurs Docker sur un cluster.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) vous aide à gérer vos applications et votre infrastructure exécutées dans le cloud AWS. Il simplifie la gestion des applications et des ressources, réduit le délai de détection et de résolution des problèmes opérationnels et vous aide à gérer vos ressources AWS en toute sécurité à grande échelle.
+ [Amazon](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) vous WorkSpaces aide à fournir des postes de travail Microsoft Windows ou Amazon Linux virtuels basés sur le cloud pour vos utilisateurs, connus sous *WorkSpaces*le nom de. WorkSpaces élimine le besoin d'acheter et de déployer du matériel ou d'installer des logiciels complexes.

## Épopées
<a name="run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere-epics"></a>

### Configuration du cluster ECS
<a name="set-up-the-ecs-cluster"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez et configurez le cluster ECS. | Pour créer le cluster ECS, suivez les instructions de la [documentation AWS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create_cluster.html), notamment les étapes suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere.html) | Architecte du cloud | 

### Lancez Amazon WorkSpaces
<a name="launch-amazon-workspaces"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez Simple AD et lancez Amazon WorkSpaces. | Pour configurer un répertoire Simple AD pour votre VPC nouvellement créé et lancer Amazon WorkSpaces, suivez les instructions de la documentation [AWS](https://docs.aws.amazon.com/workspaces/latest/adminguide/launch-workspace-simple-ad.html). | Architecte du cloud | 

### Configuration d'AWS Systems Manager pour un environnement hybride
<a name="set-up-aws-systems-manager-for-a-hybrid-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez les scripts joints. | Sur votre ordinateur local, téléchargez les `ssm-activation.json` fichiers `ssm-trust-policy.json` et qui se trouvent dans la section *Pièces jointes*. | Architecte du cloud | 
| Ajoutez le rôle IAM. | Ajoutez des variables d'environnement en fonction des besoins de votre entreprise.<pre>export AWS_DEFAULT_REGION=${AWS_REGION_ID}<br />export ROLE_NAME=${ECS_TASK_ROLE}<br />export CLUSTER_NAME=${ECS_CLUSTER_NAME}<br />export SERVICE_NAME=${ECS_CLUSTER_SERVICE_NAME}</pre>Exécutez la commande suivante.<pre>aws iam create-role --role-name $ROLE_NAME --assume-role-policy-document file://ssm-trust-policy.json</pre> | Architecte du cloud | 
| Ajoutez la SSMManaged InstanceCore politique Amazon au rôle IAM. | Exécutez la commande suivante.<pre>aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore</pre> | Architecte du cloud | 
| Ajoutez la politique Amazon EC2 ContainerServicefor EC2 Role au rôle IAM. | Exécutez la commande suivante.<pre>aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role</pre> | Architecte du cloud | 
| Vérifiez le rôle IAM. | Pour vérifier le rôle IAM, exécutez la commande suivante.<pre>aws iam list-attached-role-policies --role-name $ROLE_NAME</pre> | Architecte du cloud | 
| Activez Systems Manager. | Exécutez la commande suivante.<pre>aws ssm create-activation --iam-role $ROLE_NAME | tee ssm-activation.json</pre> | Architecte du cloud | 

### Ajouter WorkSpaces au cluster ECS
<a name="add-workspaces-to-the-ecs-cluster"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
|  Connect à votre WorkSpaces. | Pour vous connecter à vos espaces de travail et les configurer, suivez les instructions de la [documentation AWS](https://docs.aws.amazon.com/workspaces/latest/userguide/workspaces-user-getting-started.html). | Développeur d’applications | 
| Téléchargez le script d'installation ecs-anywhere. | À l’invite de commande, exécutez la commande suivante.<pre>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</pre> | Développeur d’applications | 
| Vérifiez l'intégrité du script shell. | (Facultatif) Exécutez la commande suivante.<pre>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<br /><br /><br /></pre> | Développeur d’applications | 
| Ajoutez un référentiel EPEL sur Amazon Linux. | Pour ajouter un référentiel EPEL (Extra Packages for Enterprise Linux), exécutez la commande`sudo amazon-linux-extras install epel -y`. | Développeur d’applications | 
| Installez Amazon ECS Anywhere. | Pour exécuter le script d'installation, utilisez la commande suivante.<pre>sudo ./ecs-anywhere-install.sh --cluster $CLUSTER_NAME --activation-id $ACTIVATION_ID --activation-code $ACTIVATION_CODE --region $AWS_REGION<br /><br /><br /></pre> |  | 
| Vérifiez les informations d'instance depuis le cluster ECS. | Pour vérifier les informations relatives à l'instance de cluster Systems Manager et ECS et valider WorkSpaces celles qui ont été ajoutées au cluster, exécutez la commande suivante depuis votre ordinateur local.<pre>aws ssm describe-instance-information" && "aws ecs list-container-instances --cluster $CLUSTER_NAME</pre> | Développeur d’applications | 

### Ajoutez une tâche ECS pour le WorkSpaces
<a name="add-an-ecs-task-for-the-workspaces"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un rôle IAM d'exécution de tâches. | Téléchargez `task-execution-assume-role.json` et `external-task-definition.json` depuis la section *Pièces jointes*. Sur votre ordinateur local, exécutez la commande suivante.<pre>aws iam --region $AWS_DEFAULT_REGION create-role --role-name $ECS_TASK_EXECUTION_ROLE --assume-role-policy-document file://task-execution-assume-role.json</pre> | Architecte du cloud | 
| Ajoutez la politique au rôle d'exécution. | Exécutez la commande suivante.<pre>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</pre> | Architecte du cloud | 
| Créez un rôle de tâche. | Exécutez la commande suivante.<pre>aws iam --region $AWS_DEFAULT_REGION create-role --role-name $ECS_TASK_EXECUTION_ROLE --assume-role-policy-document file://task-execution-assume-role.json<br /><br /><br /></pre> | Architecte du cloud | 
| Enregistrez la définition de tâche dans le cluster. | Sur votre ordinateur local, exécutez la commande suivante.<pre>aws ecs register-task-definition --cli-input-json file://external-task-definition.json</pre> | Architecte du cloud | 
| Exécutez la tâche. | Sur votre ordinateur local, exécutez la commande suivante.<pre>aws ecs run-task --cluster $CLUSTER_NAME --launch-type EXTERNAL --task-definition nginx</pre> | Architecte du cloud | 
| Validez l'état d'exécution de la tâche. | Pour récupérer l'ID de tâche, exécutez la commande suivante.<pre>export TEST_TASKID=$(aws ecs list-tasks --cluster $CLUSTER_NAME | jq -r '.taskArns[0]')</pre>À l'aide de l'ID de tâche, exécutez la commande suivante.<pre>aws ecs describe-tasks --cluster $CLUSTER_NAME --tasks ${TEST_TASKID}</pre> | Architecte du cloud | 
| Vérifiez la tâche sur le WorkSpace. | Pour vérifier que NGINX s'exécute sur le WorkSpace, exécutez la commande. ` curl http://localhost:8080` | Développeur d’applications | 

## Ressources connexes
<a name="run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere-resources"></a>
+ [clusters ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html)
+ [Configuration d'un environnement hybride](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html)
+ [Amazon WorkSpaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html)
+ [Simple AD](https://docs.aws.amazon.com/workspaces/latest/adminguide/launch-workspace-simple-ad.html)

## Pièces jointes
<a name="attachments-da8b2249-3423-485c-9fef-6f902025e969"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/da8b2249-3423-485c-9fef-6f902025e969/attachments/attachment.zip)