

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Ejecute tareas de Amazon ECS en Amazon WorkSpaces con Amazon ECS Anywhere
<a name="run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere"></a>

*Akash Kumar, Amazon Web Services*

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

Amazon Elastic Container Service (Amazon ECS) Anywhere permite la implementación de tareas de Amazon ECS en cualquier entorno, incluida la infraestructura administrada por Amazon Web Services (AWS) y la infraestructura administrada por el cliente. Esto se puede hacer al tiempo que se utiliza un plano de control totalmente administrado por AWS que se ejecuta en la nube y que está siempre actualizado. 

Las empresas suelen utilizar Amazon WorkSpaces para desarrollar aplicaciones basadas en contenedores. Para ello, se necesitó Amazon Elastic Compute Cloud (Amazon EC2) o AWS Fargate con un clúster de Amazon ECS para probar y ejecutar las tareas de ECS. Ahora, con Amazon ECS Anywhere, puede añadir Amazon WorkSpaces como instancias externas directamente a un clúster de ECS y ejecutar sus tareas directamente. Esto reduce el tiempo de desarrollo, ya que puede probar su contenedor con un clúster de ECS localmente en Amazon WorkSpaces. También puede ahorrar el costo de usar EC2 instancias de Fargate para probar sus aplicaciones de contenedores.

Este patrón muestra cómo implementar tareas de ECS en Amazon WorkSpaces con Amazon ECS Anywhere. Configura el clúster de ECS y utiliza AWS Directory Service Simple AD para lanzar el WorkSpaces. A continuación, la tarea ECS de ejemplo lanza NGINX en. WorkSpaces

## Requisitos previos y limitaciones
<a name="run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere-prereqs"></a>
+ Una cuenta de AWS activa
+ Interfaz de la línea de comandos de AWS (AWS CLI)
+ Credenciales de AWS [configuradas en su máquina](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)

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

**Pila de tecnología de destino**
+ Una nube privada virtual (VPC)
+ Clúster de Amazon ECS
+ Amazon WorkSpaces
+ AWS Directory Service con AD Connector

**Arquitectura de destino**

![\[ECS Anywhere configura el clúster de ECS y utiliza Simple AD para su lanzamiento WorkSpaces.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/da8b2249-3423-485c-9fef-6f902025e969/images/fd354d14-f29b-4b9e-8f1a-c3cb7ed4d6bf.png)


 

La arquitectura incluye los siguientes servicios y recursos:
+ Un clúster de ECS con subredes públicas y privadas en una VPC personalizada
+ Simple AD en la VPC para proporcionar a los usuarios acceso a Amazon WorkSpaces
+ Amazon WorkSpaces aprovisionó en la VPC mediante Simple AD
+ AWS Systems Manager activado para añadir Amazon WorkSpaces como instancias gestionadas
+ Con Amazon ECS y AWS Systems Manager Agent (SSM Agent), Amazon WorkSpaces agregó a Systems Manager y al clúster de ECS
+ Un ejemplo de tarea de ECS para ejecutar WorkSpaces en el clúster de ECS

## Tools (Herramientas)
<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) es un directorio administrado de manera autónoma que utiliza tecnología de un servidor compatible con Active Directory de Samba 4. Simple AD ofrece un subconjunto de las funciones que ofrece AWS Managed Microsoft AD, incluida la capacidad de gestionar los usuarios y conectarse de forma segura a las EC2 instancias de Amazon.
+ [Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) es un servicio de administración de contenedores escalable y rápido que ayuda a ejecutar, detener y administrar contenedores en un clúster.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) le permite administrar las aplicaciones y la infraestructura que se ejecutan en la nube de AWS. Simplifica la administración de aplicaciones y recursos, reduce el tiempo requerido para detectar y resolver problemas operativos y ayuda a utilizar y administrar los recursos de AWS a escala de manera segura.
+ [Amazon](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) le WorkSpaces ayuda a aprovisionar escritorios Microsoft Windows o Amazon Linux virtuales basados en la nube para sus usuarios, conocidos como *WorkSpaces*. WorkSpaces elimina la necesidad de adquirir e implementar hardware o instalar software complejo.

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

### Configurar el clúster de ECS
<a name="set-up-the-ecs-cluster"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear y configurar el clúster de ECS. | Para crear el clúster de ECS, siga las instrucciones que figuran en la [Documentación de AWS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create_cluster.html), que incluyen los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere.html) | Arquitecto de la nube | 

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


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configura Simple AD y lanza Amazon WorkSpaces. | Para aprovisionar un directorio de Simple AD para su VPC recién creada e iniciar Amazon WorkSpaces, siga las instrucciones de la documentación de [AWS](https://docs.aws.amazon.com/workspaces/latest/adminguide/launch-workspace-simple-ad.html). | Arquitecto de la nube | 

### Configuración de AWS Systems Manager para entornos híbridos
<a name="set-up-aws-systems-manager-for-a-hybrid-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargar los scripts adjuntos. | En su máquina local, descargue los archivos `ssm-trust-policy.json` y `ssm-activation.json` que se encuentran en la sección *Archivos adjuntos*. | Arquitecto de la nube | 
| Agregar el rol de IAM. | Añada variables de entorno en función de los requisitos de su empresa.<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>Ejecutar el siguiente comando.<pre>aws iam create-role --role-name $ROLE_NAME --assume-role-policy-document file://ssm-trust-policy.json</pre> | Arquitecto de la nube | 
| Añade la SSMManaged InstanceCore política de Amazon a la función de IAM. | Ejecutar el siguiente comando.<pre>aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore</pre> | Arquitecto de la nube | 
| Añada la política de Amazon EC2 ContainerServicefor EC2 Role al rol de IAM. | Ejecutar el siguiente comando.<pre>aws iam attach-role-policy --role-name $ROLE_NAME --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role</pre> | Arquitecto de la nube | 
| Comprobar el rol de IAM. | Para verificar el rol de IAM, ejecute el siguiente comando.<pre>aws iam list-attached-role-policies --role-name $ROLE_NAME</pre> | Arquitecto de la nube | 
| Activar Systems Manager. | Ejecutar el siguiente comando.<pre>aws ssm create-activation --iam-role $ROLE_NAME | tee ssm-activation.json</pre> | Arquitecto de la nube | 

### WorkSpaces Añádala al clúster de ECS
<a name="add-workspaces-to-the-ecs-cluster"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
|  Conéctese a su WorkSpaces. | Para conectarse a sus Workspaces y configurarlos, siga las instrucciones que figuran en la [Documentación de AWS](https://docs.aws.amazon.com/workspaces/latest/userguide/workspaces-user-getting-started.html). | Desarrollador de aplicaciones | 
| Descargar el script de instalación ecs-anywhere. | En el símbolo del sistema, ejecute el siguiente comando.<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> | Desarrollador de aplicaciones | 
| Comprobar la integridad del script del intérprete de comandos. | Ejecutar el siguiente comando (opcional).<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> | Desarrollador de aplicaciones | 
| Agregar un repositorio EPEL en Amazon Linux. | Para agregar un repositorio Extra Packages for Enterprise Linux (EPEL), ejecute el comando `sudo amazon-linux-extras install epel -y`. | Desarrollador de aplicaciones | 
| Instalar Amazon ECS Anywhere. | Para ejecutar el script de instalación, utilice el siguiente comando.<pre>sudo ./ecs-anywhere-install.sh --cluster $CLUSTER_NAME --activation-id $ACTIVATION_ID --activation-code $ACTIVATION_CODE --region $AWS_REGION<br /><br /><br /></pre> |  | 
| Comprobar la información de la instancia desde el clúster de ECS. | Para comprobar la información de las instancias del clúster de Systems Manager y ECS y validar las que WorkSpaces se agregaron al clúster, ejecute el siguiente comando desde su máquina local.<pre>aws ssm describe-instance-information" && "aws ecs list-container-instances --cluster $CLUSTER_NAME</pre> | Desarrollador de aplicaciones | 

### Agregue una tarea de ECS para el WorkSpaces
<a name="add-an-ecs-task-for-the-workspaces"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Para crear un rol de IAM de ejecución de tareas. | Descargue `task-execution-assume-role.json` y `external-task-definition.json` desde la sección *Archivos adjuntos*. Ejecute el siguiente comando en su equipo local.<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> | Arquitecto de la nube | 
| Agregue la política al rol de ejecución. | Ejecutar el siguiente comando.<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> | Arquitecto de la nube | 
| Crear un rol de tarea. | Ejecutar el siguiente comando.<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> | Arquitecto de la nube | 
| Registrar la definición de tareas en el clúster. | Ejecute el siguiente comando en su equipo local.<pre>aws ecs register-task-definition --cli-input-json file://external-task-definition.json</pre> | Arquitecto de la nube | 
| Ejecutar la tarea. | Ejecute el siguiente comando en su equipo local.<pre>aws ecs run-task --cluster $CLUSTER_NAME --launch-type EXTERNAL --task-definition nginx</pre> | Arquitecto de la nube | 
| Validar el estado de ejecución de la tarea. | Para obtener el ID de la tarea, ejecute el siguiente comando.<pre>export TEST_TASKID=$(aws ecs list-tasks --cluster $CLUSTER_NAME | jq -r '.taskArns[0]')</pre>Ejecute el siguiente comando con el ID de la tarea.<pre>aws ecs describe-tasks --cluster $CLUSTER_NAME --tasks ${TEST_TASKID}</pre> | Arquitecto de la nube | 
| Compruebe la tarea en WorkSpace. | Para comprobar que NGINX se está ejecutando en WorkSpace, ejecute el comando. ` curl http://localhost:8080` | Desarrollador de aplicaciones | 

## Recursos relacionados
<a name="run-amazon-ecs-tasks-on-amazon-workspaces-with-amazon-ecs-anywhere-resources"></a>
+ [Clúster de ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html)
+ [Configurar un entorno híbrido](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)
+ [AD sencillo](https://docs.aws.amazon.com/workspaces/latest/adminguide/launch-workspace-simple-ad.html)

## Conexiones
<a name="attachments-da8b2249-3423-485c-9fef-6f902025e969"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/da8b2249-3423-485c-9fef-6f902025e969/attachments/attachment.zip)