Arquitecto de Instancias administradas de Amazon ECS - Amazon Elastic Container Service

Arquitecto de Instancias administradas de Amazon ECS

Instancias administradas de Amazon ECS es una opción de procesamiento completamente administrada para Amazon ECS que le permite poner en marcha cargas de trabajo en contenedores en toda la gama de tipos de instancias de Amazon EC2 y, al mismo tiempo, delegar la administración de la infraestructura a AWS. Con Instancias administradas de Amazon ECS, puede acceder a capacidades de computación específicas, como la aceleración de la GPU, arquitecturas de CPU específicas, un alto rendimiento de la red y tipos de instancias especializadas, mientras que AWS se encarga del aprovisionamiento, el escalado, la aplicación de parches y el mantenimiento de la infraestructura subyacente.

Cuando utiliza Instancias administradas de Amazon ECS, empaqueta la aplicación en contenedores y especifica sus requisitos de procesamiento. AWS selecciona automáticamente los tipos de instancias de Amazon EC2 de uso general más rentables que se adapten a las necesidades de sus carga de trabajo, pero también puede especificar los atributos de instancia deseados, lo que incluye los tipos de instancia, los fabricantes de CPU y los aceleradores. Instancias administradas de Amazon ECS administra por completo todos los aspectos de la infraestructura, lo que incluye el escalado, la aplicación de parches y la optimización de costos, sin sacrificar el acceso a las capacidades de AWS y a las integraciones de Amazon EC2.

Instancias administradas de Amazon ECS admite contenedores de Linux con optimizaciones y configuraciones de seguridad específicas de la plataforma. De forma predeterminada, Instancias administradas de Amazon ECS optimiza la utilización de la infraestructura, pues coloca varias tareas más pequeñas en instancias más grandes, lo que permite reducir los costos y mejorar los tiempos de lanzamiento de las tareas.

En este tema, se describen los diferentes componentes de las tareas y los servicios de Instancias administradas de Amazon ECS, y se mencionan consideraciones especiales para el uso de Instancias administradas de Amazon ECS con Amazon ECS.

Introducción

Para empezar a utilizar Instancias administradas de Amazon ECS, debe crear los roles de IAM requeridos y activar Instancias administradas de Amazon ECS en su cuenta de AWS. A continuación, puede crear un proveedor de capacidad y lanzar tareas o servicios mediante el proveedor de capacidad de Instancias administradas de Amazon ECS.

Para obtener instrucciones detalladas sobre cómo empezar, consulte:

Proveedores de capacidad

Instancias administradas de Amazon ECS usa los proveedores de capacidad para administrar la capacidad de computación de las cargas de trabajo. Puede usar el proveedor de capacidad predeterminado o crear proveedores de capacidad personalizados con requisitos de instancia específicos.

Los siguientes proveedores de capacidad están disponibles:

  • Proveedor de capacidad predeterminada: selecciona automáticamente los tipos de instancias de uso general más rentables para los requisitos de sus cargas de trabajo.

  • Proveedores de capacidad personalizada: le permiten especificar los atributos de las instancias mediante una selección de tipos de instancia basada en atributos, como el recuento de vCPU, la memoria, los fabricantes de CPU, los tipos de aceleradores y los tipos de instancias específicos.

Una estrategia de proveedores de capacidad solo puede incluir un tipo de proveedor de capacidad de la siguiente lista:

  • Instancias administradas de Amazon ECS

  • Grupo de Amazon EC2 Auto Scaling

  • Fargate/Fargate_SPOT

Selección y optimización de instancias

Amazon ECS elige los tipos de instancia para las cargas de trabajo de Instancias administradas de Amazon ECS mediante uno de los siguientes métodos:

  • Selección automática: cuando se utiliza el proveedor de capacidad predeterminada, Amazon ECS selecciona automáticamente los tipos de instancias de uso general más rentables que cumplen con los requisitos de CPU y memoria especificados en la definición de la tarea.

  • Selección basada en atributos: cuando se utilizan proveedores de capacidad personalizada, puedes especificar atributos de instancia como el número de vCPU, el tamaño de la memoria, los fabricantes de CPU, los tipos de aceleradores y los tipos de instancias específicos. Amazon ECS selecciona entre todos los tipos de instancias que coinciden con los atributos especificados.

Instancias administradas de Amazon ECS optimiza la utilización y los costos de la infraestructura mediante varios mecanismos:

  • Ubicación de múltiples tareas: de forma predeterminada, Amazon ECS coloca varias tareas más pequeñas en instancias más grandes para maximizar la utilización y reducir los costos.

  • Consolidación activa de la carga de trabajo: Amazon ECS identifica cuándo las instancias de contenedor están realmente inactivas y, al mismo tiempo, intenta evitar la terminación prematura que podría afectar a la disponibilidad de las aplicaciones o al rendimiento de la implementación. El sistema respeta el número mínimo y máximo de tareas establecido para un servicio, el comportamiento inicial antes de la interrupción y el comportamiento de protección de las tareas.

  • Dimensionamiento correcto: conforme cambian los requisitos de las cargas de trabajo, Amazon ECS lanza instancias de reemplazo con el tamaño adecuado para las necesidades actuales.

Amazon ECS utiliza los periodos de eventos de Amazon EC2 para programar las actividades de mantenimiento durante los periodos de tiempo que prefiera. Los periodos de eventos le permiten definir periodos de tiempo recurrentes en los que AWS puede realizar el mantenimiento de sus instancias, lo que resulta útil para minimizar las interrupciones de sus cargas de trabajo, ya que el mantenimiento se adapta a la programación de las operaciones. Para obtener más información, consulte Eventos programados para las instancias en la Guía del usuario de Amazon EC2.

Si necesita un aislamiento sólido, puede configurar Instancias administradas de Amazon ECS para que ponga en marcha cada tarea en una instancia independiente con límites de aislamiento de seguridad para las máquinas virtuales.

Definiciones de tareas

Las tareas que utilizan Instancias administradas de Amazon ECS admiten la mayoría de los parámetros de definición de tareas de Amazon ECS. Instancias administradas de Amazon ECS es compatible con las definiciones de tareas de Fargate existentes que utilizan la versión 1.4.0 de la plataforma, lo que facilita la migración.

Para usar Instancias administradas de Amazon ECS, defina el parámetro de definición de tareas requiresCompatibilities para incluir MANAGED_INSTANCES. Las definiciones de sus tareas pueden especificar la compatibilidad de las instancias administradas de Fargate y Amazon ECS para ofrecer flexibilidad en las opciones de implementación.

Arquitectura de sistema operativo y CPU

Los sistemas operativos admitidos son los siguientes:

  • Bottlerocket

Hay 2 arquitecturas disponibles para la definición de tareas de Amazon ECS, ARM y X86_64.

Cuando usa contenedores Linux en Instancias administradas de Amazon ECS, puede utilizar la arquitectura de CPU X86_64 o la arquitectura ARM64 para las aplicaciones basadas en ARM.

Características principales

Estas son algunas de las principales características de Instancias administradas de Amazon ECS:

  • Seleccione tipos de instancias de EC2 específicos para cumplir con los requisitos de su aplicación, lo que le permitirá acceder a capacidades de hardware especializadas, como la computación acelerada por la GPU, las capacidades específicas de la CPU y los tamaños grandes de memoria.

  • Optimice la utilización de los recursos y los costos con varias tareas en una sola instancia de forma predeterminada, a diferencia de Fargate, que pone en marcha cada tarea en su propio entorno aislado.

  • Garantice el cumplimiento de las normas de seguridad y la aplicación periódica de parches con una vida útil máxima de las instancias de 14 días, tras lo cual las tareas se migran automáticamente a nuevas instancias.

  • Active funciones avanzadas de administración de redes y sistemas en contenedores mediante capacidades de Linux privilegiadas, como CAP_NET_ADMIN, CAP_SYS_ADMIN y CAP_BPF.

Roles de IAM

Instancias administradas de Amazon ECS requiere dos roles de IAM:

  • Rol de infraestructura: este rol permite que AWS administre Instancias administradas de Amazon ECS en su nombre.

  • Perfil de instancia: un perfil de instancia es una forma de transferir un rol de IAM a Instancias administradas de Amazon ECS. Este perfil se utiliza para lo siguiente:

    • Definir los permisos de IAM para la instancias de Instancias administradas de Amazon ECS que usan sus cargas de trabajo de contenedores.

    • Permitir que AWS administre estas instancias en su nombre.

    • Habilitar las instancias para que accedan a los servicios de AWS de acuerdo con los permisos definidos en el perfil.

Seguridad y conformidad

Instancias administradas de Amazon ECS implementa varios niveles de seguridad para proteger sus cargas de trabajo:

  • Configuración segura: Instancias administradas de Amazon ECS sigue las prácticas recomendadas en materia de seguridad de AWS, como la ausencia de acceso por SSH, un sistema de archivos raíz inmutable y controles de acceso obligatorios del kernel mediante SELinux.

  • Aplicación automática de parches: AWS actualiza periódicamente Instancias administradas de Amazon ECS con los últimos parches de seguridad, respetando los periodos de mantenimiento que haya configurado.

  • Vida útil limitada de las instancias: la vida útil máxima de una instancia en marcha es de 14 días, lo que garantiza que sus aplicaciones usen instancias debidamente configuradas con los parches de seguridad actualizados.

  • Capacidades privilegiadas: si lo desea, puede habilitar las capacidades privilegiadas de Linux para las cargas de trabajo que las requieran, como las soluciones de supervisión y observabilidad de la red.

Instancias administradas de Amazon ECS admite los mismos programas de cumplimiento que Amazon ECS, como PCI-DSS, HIPAA y FedRAMP. En las regiones compatibles, Instancias administradas de Amazon ECS respeta la configuración de los puntos de conexión FIPS de las cuentas para poder cumplir con FedRAMP.

Red

Instancias administradas de Amazon ECS admite los modos de red awsvpc y host. El modo de red awsvpc proporciona a cada tarea su propia interfaz de red elástica y dirección IP privada dentro de la VPC. Esto permite controles detallados de ACL de grupos de seguridad y redes para las tareas. En el modo de red host, las tareas comparten el espacio de nombres de red de la instancia host de Instancias administradas de Amazon ECS. Para obtener más información sobre las redes de las tareas en Instancias administradas de Amazon ECS, consulte Red de tareas de Amazon ECS para Instancias administradas de Amazon ECS.

Almacenamiento de la instancia

Instancias administradas de Amazon ECS permite configurar el tamaño del volumen de datos de Amazon EBS adjunto a la instancia. Este almacenamiento se comparte entre todas las tareas que se ponen en marcha en la instancia y se puede utilizar para los montajes de unión. El volumen se puede montar y compartir entre contenedores que utilizan los parámetros volumes, mountPoint y volumesFrom de la definición de tareas.

El volumen se adjunta durante la creación de la instancia. Puede especificar el tamaño del volumen, en GiB, al crear un proveedor de capacidad de Instancias administradas de Amazon ECS mediante el parámetro storageConfiguration.

{ ... "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": [ "subnet-abcdef01234567", "subnet-bcdefa98765432" ], "securityGroups": [ "sg-0123456789abcdef" ] }, "storageConfiguration": { "storageSizeinGiB" : 100 } } } ... }

El tamaño mínimo de este volumen es de 30 GiB y el tamaño máximo es de 16 384 GiB. De forma predeterminada, el tamaño de este volumen es de 80 GiB.

La imagen del contenedor comprimida y sin comprimir extraída para la tarea se almacena en el volumen. Para determinar la cantidad total de almacenamiento de instancias que debe utilizar la tarea como montaje de unión, debe restar la cantidad de almacenamiento que utiliza la imagen de contenedor de la cantidad total de almacenamiento de instancias que se asigna a su tarea.

El rendimiento de los volúmenes de Amazon EBS adjuntos a Instancias administradas de Amazon ECS coincide con el rendimiento de las instancias de Amazon EC2 correspondientes, tal y como se describe en la documentación Tipos de instancias optimizadas para Amazon EBS de la Guía del usuario de Amazon EC2.

Puede crear instantáneas del volumen para realizar un análisis forense de los problemas de seguridad o para depurar la aplicación. Para obtener más información sobre la creación de instantáneas de volúmenes de Amazon EBS, consulte Instantáneas de Amazon EBS en la Guía del usuario de Amazon EBS. Si activa el cifrado de Amazon EBS de forma predeterminada, el volumen se cifrará con la clave de AWS KMS que se especifique de forma predeterminada para el cifrado. Para obtener más información acerca del cifrado predeterminado, consulte Activar el cifrado de Amazon EBS de manera predeterminada en la Guía del usuario de Amazon EBS.

Además de utilizar el volumen de datos adjunto a la instancia, también puede configurar los volúmenes de datos para cada tarea que se ponga en marcha en Instancias administradas de Amazon ECS. Para obtener más información sobre las opciones de almacenamiento disponibles para las tareas, consulte Opciones de almacenamiento para las tareas de Amazon ECS.

Equilibrio de carga de los servicios

Los servicios de Amazon ECS que usen Instancias administradas de Amazon ECS se pueden configurar opcionalmente para que utilicen ELB a fin de distribuir el tráfico de manera uniforme entre las tareas del servicio.

Los servicios de Amazon ECS alojados en Instancias administradas de Amazon ECS admiten los tipos de equilibrador de carga Equilibrador de carga de aplicación, Equilibrador de carga de red y Equilibrador de carga de puerta de enlace. Los equilibradores de carga de aplicación enrutan el tráfico HTTP/HTTPS (capa 7), mientras que los equilibradores de carga de red enrutan el tráfico TCP o UDP (capa 4).

Al crear un grupo de destino para estos servicios, se debe elegir ip como tipo de destino, no instance. Esto se debe a que las tareas que utilizan el modo de red awsvpc están asociadas a una interfaz de red elástica, no directamente a una instancia de Amazon EC2.

Monitoreo y observabilidad

Instancias administradas de Amazon ECS ofrece capacidades de supervisión integrales mediante métricas de CloudWatch e integración con herramientas de observabilidad:

  • Métricas de CloudWatch: supervise el uso de la CPU, la memoria, la red y el almacenamiento tanto de las tareas como de las instancias.

  • Información de contenedores: obtenga métricas y registros de rendimiento detallados para sus aplicaciones en contenedores.

  • Integraciones de terceros: con las capacidades privilegiadas habilitadas, puede poner en marcha soluciones avanzadas de supervisión y observabilidad que requieren permisos de Linux elevados.

Optimización de precios y costos

Con Instancias administradas de Amazon ECS, se le facturará toda la instancia de Amazon EC2 que ponga en marcha sus tareas. El precio depende de los tipos de instancias seleccionados para sus cargas de trabajo.

Instancias administradas de Amazon ECS ofrece varias características de optimización de costos:

  • Optimización de múltiples tareas: maximice la utilización de las instancias mediante la puesta en marcha de varias tareas en instancias correctamente dimensionadas.

Sus planes de Savings Plans de computación e instancias también se aplican a las cargas de trabajo de Instancias administradas de Amazon ECS.

Service Quotas

Las cargas de trabajo de Instancias administradas de Amazon ECS están sujetas a las cuotas de servicio de sus instancias bajo demanda de Amazon EC2. Los servicios de Amazon ECS que utilizan Instancias administradas de Amazon ECS están sujetos a las cuotas de servicio de Amazon ECS.

Para obtener más información sobre las cuotas de servicio, consulte:

Consideraciones sobre la migración

La migración a Instancias administradas de Amazon ECS es sencilla para la mayoría de las cargas de trabajo:

  • Desde Fargate: solo requiere un cambio de configuración y una nueva implementación del proveedor de capacidad. Las definiciones de tareas existentes que utilizan la versión 1.4.0 de la plataforma son totalmente compatibles.

  • Desde EC2: similar a la migración a Fargate, pero puede retener el acceso a las capacidades de Amazon EC2, como los tipos de instancias específicos.

Tenga en cuenta lo siguiente a la hora de planear la migración:

  • Las aplicaciones deben tolerar la vida útil máxima de 14 días de la instancia y los periodos de mantenimiento planificados.

  • Las tareas de larga duración (más de 14 días) no son adecuadas para Instancias administradas de Amazon ECS.

  • No se admiten las AMI personalizadas: Instancias administradas de Amazon ECS utilizan AMI administradas por AWS optimizadas para la seguridad.

Limitaciones y consideraciones

Se aplican las siguientes limitaciones a Instancias administradas de Amazon ECS:

  • AMI personalizadas: AWS posee y administra la AMI.

  • Duración de la instancia: tiempo de ejecución máximo de 14 días por instancia para garantizar la aplicación de parches de seguridad y el cumplimiento normativo.

  • Acceso por SSH: no está disponible por motivos de seguridad. Utilice Amazon ECS Exec para depurar y solucionar los problemas. Operaciones de administración únicamente a través de las API de Amazon ECS.

  • Service Connect no está disponible para los servicios que se ponen en marcha en Amazon ECS