Arquitectura de la solución para Amazon ECS
El siguiente diagrama muestra el ciclo de vida de la aplicación y su funcionamiento con los componentes de Amazon ECS.

Debe diseñar sus aplicaciones para que puedan ejecutarse en contenedores. Un contenedor es una unidad estandarizada de desarrollo de software que contiene todo lo que la aplicación de software necesita para ejecutarse. Esto incluye código, tiempo de ejecución, herramientas del sistema y bibliotecas del sistema relevantes. Los contenedores se crean a partir de una plantilla de solo lectura denominada imagen. Las imágenes se crean normalmente a partir de un Dockerfile. Un Dockerfile es un archivo de texto sin formato que contiene las instrucciones para crear un contenedor. Una vez construidas, estas imágenes se almacenan en un registro, como Amazon ECR, desde donde se pueden descargar.
Después de crear y almacenar la imagen, debe crear una definición de tarea de Amazon ECS. Una definición de tarea es un esquema de la aplicación. Se trata de un archivo de texto en formato JSON que describe los parámetros y uno o varios contenedores que forman la aplicación. Por ejemplo, puede usarla para especificar la imagen y los parámetros para el sistema operativo, qué contenedores utilizar, qué puertos abrir para la aplicación, así como qué volúmenes de datos se van a utilizar con los contenedores en la tarea. Los parámetros específicos disponibles para la definición de tareas dependerán de las necesidades de la aplicación específica.
Después de definir la definición de la tarea, la implementa como un servicio o una tarea en el clúster. Un clúster es una agrupación lógica de tareas o servicios que se ejecuta en la infraestructura de capacidad registrada en un clúster.
Una tarea es la instancia creada de una definición de tarea dentro de un clúster. Puede ejecutar una tarea independiente o ejecutar una tarea como parte de un servicio. Puede utilizar un servicio de Amazon ECS para ejecutar y mantener simultáneamente el número deseado de tareas en un clúster de Amazon ECS. El funcionamiento es que, en caso de que alguna de las tareas falle o se pare por algún motivo, el programador de servicio de Amazon ECS lanza otra instancia en función de la definición de tarea. Lo hace para reemplazarlo y así mantener el número deseado de tareas en el servicio.
El agente de contenedor se ejecuta en cada instancia de contenedor dentro de un clúster de Amazon ECS. El agente envía información a Amazon ECS acerca de la utilización de recursos y tareas actualmente en ejecución en cada recurso. Envía y detiene tareas cada vez que recibe una solicitud proveniente de Amazon ECS.
Tras implementar la tarea o el servicio, puede utilizar cualquiera de las siguientes herramientas para supervisar la implementación y la aplicación:
-
CloudWatch
-
Supervisión en tiempo de ejecución
Capacidad
La capacidad es la infraestructura en la que se ejecutan sus contenedores. A continuación, se muestran las opciones:
-
Instancias de Amazon EC2
-
Sin servidor (AWS Fargate)
-
Máquinas virtuales (VM) o servidores locales en las instalaciones
Al crear un clúster, especifica la infraestructura. También especifica el tipo de infraestructura al registrar una definición de tarea. La definición de tarea hace referencia a la infraestructura como tipo de lanzamiento. También utiliza el tipo de lanzamiento cuando ejecuta una tarea independiente o implementa un servicio. Para obtener información sobre las opciones de tipo de lanzamiento, consulte Tipos de lanzamiento de Amazon ECS.
Puntos de conexión de servicio
El punto de conexión de servicio es la URL del punto de entrada para Amazon ECS que se utiliza para conectarse al servicio mediante programación a través del Protocolo de Internet versión 4 (IPv4) o el Protocolo de Internet versión 6 (IPv6). De forma predeterminada, las solicitudes que realiza para conectarse a Amazon ECS mediante programación utilizan puntos de conexión de servicio que solo admiten solicitudes de IPv4. Para conectarse mediante programación con Amazon ECS mediante solicitudes IPv4 o IPv6, puede utilizar un punto de conexión de doble pila. Para obtener más información acerca de los puntos de conexión de doble pila, consulte Uso de puntos de conexión de doble pila en Amazon ECS.
Red
Los recursos de AWS se crean en subredes. Cuando utiliza instancias EC2, Amazon ECS lanza las instancias en la subred que se especifica al crear un clúster. Las tareas se ejecutan en la subred de las instancias. En el caso de Fargate o las máquinas virtuales en las instalaciones, la subred se especifica al ejecutar una tarea o al crear un servicio.
Según la aplicación, la subred puede ser pública o privada y puede estar en cualquiera de los siguientes recursos de AWS:
-
Zonas de disponibilidad
-
Local Zones
-
Zonas de Wavelength
-
Regiones de AWS
-
AWS Outposts
Para obtener más información, consulte Aplicaciones de Amazon ECS en subredes compartidas, zonas locales y zonas de Wavelength o Amazon Elastic Container Service en AWS Outposts.
Puede conectar la aplicación a Internet mediante uno de los métodos siguientes:
-
Una subred pública con una puerta de enlace de Internet
Utilice subredes públicas cuando tenga aplicaciones públicas que requieran grandes cantidades de ancho de banda o una latencia mínima. Entre los escenarios aplicables se encuentran los servicios de streaming de vídeo y juegos.
-
Una subred privada con una puerta de enlace NAT
Utilice subredes privadas cuando quiera proteger los contenedores del acceso externo directo. Entre los escenarios aplicables se encuentran los sistemas de procesamiento de pagos o los contenedores que almacenan datos de usuario y contraseñas.
-
AWS PrivateLink
Utilice AWS PrivateLink para tener conectividad privada entre las VPC, los servicios de AWS y las redes en las instalaciones sin exponer el tráfico a la Internet pública.
Acceso a la característica
Puede usar la configuración de la cuenta de Amazon ECS para acceder a las siguientes características:
-
Información de contenedores
CloudWatch Container Insights recopila, agrega y resume métricas y registros de las aplicaciones y microservicios en contenedores. Las métricas incluyen la utilización de recursos como CPU, memoria, disco y red.
-
Enlace troncal de
awsvpc
Para algunos tipos de instancias de EC2, puede disponer de interfaces de red (ENI) adicionales en las instancias de contenedor recién lanzadas.
-
Autorización de etiquetado
Los usuarios deben tener permisos para llevar a cabo las acciones que crean recursos, como
ecsCreateCluster
. Si se especifican etiquetas en la acción de creación de recursos, AWS realiza una autorización adicional en la acción deecs:TagResource
para verificar que los usuarios o roles tengan permisos para crear etiquetas. -
Conformidad de Fargate con la norma FIPS-140
Fargate presta conformidad con el Federal Information Processing Standard (FIPS, Estándar Federal de Procesamiento de Información) 140, que especifica los requisitos de seguridad para los módulos criptográficos que protegen información confidencial. Es la norma gubernamental actual de los Estados Unidos y Canadá y se aplica a los sistemas que deben cumplir con la Federal Information Security Management Act (FISMA, Ley Federal de Gestión de la Seguridad de la Información) o el Federal Risk and Authorization Management Program (FedRAMP, Programa Federal de Gestión de Riesgos y Autorizaciones).
-
Cambios en el tiempo de retirada de tareas de Fargate
Puede configurar el periodo de espera antes de que se retiren las tareas de Fargate para aplicar parches.
-
VPC de doble pila
Permita que las tareas se comuniquen mediante IPv4, IPv6 o ambos.
-
Formato de nombre de recurso de Amazon (ARN)
Algunas características, como la autorización de etiquetado, requieren un nuevo formato de nombre de recurso de Amazon (ARN).
Para obtener más información, consulte Acceso a las características de Amazon ECS con la configuración de la cuenta.
Roles de IAM
Un rol de IAM es una identidad de IAM que puede crear en su cuenta y que tiene permisos específicos. En Amazon ECS, puede crear roles para conceder permisos a los recursos de Amazon ECS, como contenedores o servicios.
Algunas características de Amazon ECS requieren roles. Para obtener más información, consulte Roles de IAM para Amazon ECS.
Registro
El registro y la supervisión son aspectos importantes del mantenimiento de la fiabilidad, la disponibilidad y el rendimiento de las cargas de trabajo de Amazon ECS. Están disponibles las siguientes opciones:
-
Registros de Amazon CloudWatch: dirija los registros a Amazon CloudWatch
-
FireLens para Amazon ECS: dirija los registros a un servicio de AWS o a un destino de AWS Partner Network para su almacenamiento y análisis. La AWS Partner Network es una comunidad global de socios que aprovecha los programas, el conocimiento técnico y los recursos para crear, comercializar y vender ofertas para los clientes.