Amazon Elastic Container Service (Amazon ECS) le permite ejecutar, ajustar la escala y proteger aplicaciones en contenedores Docker en AWS. Las aplicaciones empaquetadas como contenedores a nivel local se implementarán y ejecutarán de la misma forma que los contenedores administrados por Amazon ECS. Con Amazon ECS, ya no es necesario instalar, hacer funcionar ni ajustar la escala de su propia infraestructura de administración de clústeres y organización de contenedores. Además, le permite enfocarse en las necesidades de los recursos y en los requisitos de disponibilidad de su aplicación en contenedor.

Amazon ECS le permite pasar de un solo contenedor a miles de ellos en cientos de instancias sin incrementar el nivel de complejidad de la ejecución de su aplicación. Puede ejecutar cualquier elemento: aplicaciones, trabajos por lotes o microservicios. Amazon ECS elimina la complejidad de la infraestructura, de manera que puede concentrarse en diseñar, crear y ejecutar aplicaciones con contenedores.

Con Amazon ECS, puede usar AWS Fargate para administrar totalmente su infraestructura y enfocarse únicamente en la implementación de contenedores. O bien, puede optar por tener una visibilidad y un control completos del clúster de servidor subyacente, desde la creación y finalización de contenedores Docker a la visualización de información detallada acerca del estado de los clústeres. Puede integrar y usar su propio programador de contenedores o conectar Amazon ECS al proceso de entrega de software existente, como los sistemas de entrega e integración continuas.

Compatibilidad con AWS Fargate

La tecnología de AWS Fargate se encuentra disponible con Amazon ECS. Con AWS Fargate, ya no es necesario seleccionar tipos de instancia de Amazon EC2, aprovisionar y ajustar la escala de clústeres, ni instalar parches y actualizaciones en cada servidor. No debe preocuparse por las estrategias de ubicación de tareas, como el empaquetado de contenedores o la distribución de hosts, y las tareas se equilibran de manera automática en zonas de disponibilidad. Fargate administra la disponibilidad de contenedores por usted. Usted tan solo debe definir los requisitos de su aplicación, seleccionar Fargate como tipo de lanzamiento en la consola o en la CLI, y Fargate se encargará de la administración de la infraestructura y el escalado necesaria para ejecutar los contenedores.

Para los desarrolladores que necesitan un control más detallado a nivel del servidor de la infraestructura, el tipo de lanzamiento EC2 de Amazon ECS le permite administrar un clúster de servidores y programar la ubicación de contenedores en los servidores.

Desarrollo

Compatibilidad con Docker

Amazon ECS es compatible con Docker y le permite ejecutar y administrar contenedores Docker. Las aplicaciones que empaquete como un contenedor localmente se implementarán y ejecutarán en Amazon ECS sin la necesidad de tener que realizar modificaciones en la configuración.

Compatibilidad con contenedores de Windows

Amazon ECS es compatible con la administración de contenedores de Windows. Una imagen de máquina de Amazon (AMI) con Windows optimizada para Amazon ECS ofrece un nivel mejorado de visibilidad y desempeño al momento del lanzamiento de contenedores e instancias en relación con la CPU, el uso de memoria y las métricas de reserva.

Desarrollo local

La CLI de Amazon ECS le permite simplificar la experiencia de desarrollo local así como configurar y ejecutar fácilmente los contenedores en Amazon ECS. Amazon ECS CLI soporta Docker Compose, una herramienta de código abierto que sirve para definir y ejecutar aplicaciones multicontenedor. Puede aplicar la misma definición de Compose usada para definir una aplicación multicontenedor en la máquina de desarrollo y en la fase de producción. La CLI de Amazon ECS es de código abierto. Descargue la CLI de Amazon ECS.

Compatibilidad con repositorios

Amazon ECS se puede usar con cualquier repositorio de imágenes de Docker alojado por terceros o registro de Docker con acceso privado, como Docker Hub y Amazon Elastic Container Registry (Amazon ECR). Lo único que debe especificar es el repositorio en la definición de tareas y Amazon ECS recuperará las imágenes correspondientes a las aplicaciones.

Administración

Definiciones de tareas

Amazon ECS le permite definir tareas a través de una plantilla JSON declarativa denominada definición de tareas. En una definición de tareas, puede especificar el contenedor o los contenedores necesarios para dicha tarea, así como la imagen y el repositorio de Docker, los requisitos de memoria y CPU, los volúmenes de datos compartidos y la forma en que los contenedores están vinculados entre sí. Puede lanzar tantas tareas como desee a partir de un archivo único de definición de tareas que puede registrar en el servicio. Los archivos de definición de tareas le permiten controlar la versión de la especificación de su aplicación.

Control mediante programación

Amazon ECS le ofrece un conjunto de acciones de API sencillas que le permiten integrar y ampliar el servicio. Las acciones de API le permiten crear y eliminar clústeres, registrar tareas y anular su registro, lanzar y finalizar contenedores de Docker y ofrecer información detallada sobre el estado del clúster y de sus instancias. También puede usar AWS CloudFormation para aprovisionar clústeres de Amazon ECS, registrar definiciones de tareas y programar contenedores.

Implementaciones de contenedores

Amazon ECS le permite actualizar con facilidad las versiones de sus contenedores. Puede cargar una versión nueva de la definición de tareas de su aplicación y el programador de Amazon ECS iniciará contenedores nuevos automáticamente a partir de la imagen actualizada, y detendrá los contenedores que ejecuten la versión anterior. Amazon ECS registra y anula el registro de contenedores automáticamente del Application Load Balancer asociado.

Recuperación automática de los contenedores

Amazon ECS recuperará automáticamente los contenedores con estado incorrecto para asegurarse de que disponga de la cantidad deseada de contenedores para su aplicación.

Programación

Amazon ECS incluye varias estrategias de programación que colocan los contenedores en clústeres en función de las necesidades de recursos (por ejemplo, CPU o RAM) y los requisitos de disponibilidad. Con las estrategias de programación disponibles, puede programar tareas en lote, servicios y aplicaciones de ejecución prolongada, y procesos daemon.

Programación de tareas
La programación de tareas de Amazon ECS le permite ejecutar procesos que realizan un trabajo y luego se detienen, como las tareas de procesamiento en lote. La programación puede iniciar tareas manualmente, de manera automática a partir de una cola de tareas, o en función de un intervalo de tiempo que usted defina.

Programación de servicios
La programación de servicios de Amazon ECS le permite ejecutar aplicaciones y servicios sin estado. Esta estrategia de programación garantiza que se ejecute constantemente un número específico de tareas y que se reinicien tareas con errores. Puede asegurarse de que las tareas se registren en el balanceador de carga Elastic Load Balancing y puede realizar comprobaciones de estado que usted defina para las tareas en ejecución.

Programación daemon
La programación daemon de Amazon ECS ejecuta automáticamente la misma tarea en cada instancia seleccionada en su clúster de ECS. Esto facilita la ejecución de tareas que proveen una funcionalidad de administración común para un servicio, como registro, monitoreo o backups.

Ubicación de tareas

Amazon ECS le permite personalizar la manera en la que se ubican las tareas en un clúster de instancias EC2 en función de atributos integrados, como tipo de instancia, zona de disponibilidad o atributos personalizados que haya definido. Puede utilizar atributos como environment=production para etiquetar recursos, usar las acciones de la API list para encontrarlos y utilizar las acciones de las API RunTask y CreateService para programar tareas en dichos recursos.

Con Amazon ECS, también puede usar estrategias de ubicación como empaquetamiento y distribución para definir con mayor precisión dónde se colocarán las tareas. Las políticas se pueden conectar para lograr capacidades de ubicación sofisticadas sin la necesidad de escribir código.

Las políticas de ubicación de tareas no se utilizan con el tipo de lanzamiento de AWS Fargate.

Redes y seguridad

Redes de tareas

Amazon Elastic Container Service es compatible con las redes de Docker y se integra con Amazon VPC para brindar aislamiento a contenedores. Esto le brinda control sobre la manera en la que los contenedores se conectan con otros servicios y con tráfico externo. Con Amazon ECS, puede elegir entre cuatro modos de red para los contenedores que se adaptan a diferentes casos de uso:

Redes de tareas/awsvpc
Este modo asigna a cada tarea de ECS en ejecución una interfaz de red elástica exclusiva, lo que permite utilizar todas las características de red en una VPC, como las instancias EC2.

Puente
Este modo crea un puente de Linux que conecta todos los contenedores en ejecución en el host en una red virtual local, a la cual se puede obtener acceso mediante la conexión de red predeterminada del host.

Host
Este modo añade contenedores directamente a la pila de red del host, lo que expone los contenedores en la red del host sin aislamiento.

Ninguno
Este modo deshabilita la red externa para contendores.

Equilibrio de carga

Amazon ECS se integra con Elastic Load Balancing, lo que permite distribuir el tráfico en los contenedores con balanceadores tipo Application Load Balancer o Network Load Balancer. Debe especificar la definición de la tarea y el balanceador de carga a utilizar y Amazon ECS añadirá y quitará contenedores automáticamente del balanceador de carga. Puede especificar un puerto dinámico en la definición de tarea, que asigna a su contenedor un puerto no utilizado cuando se programa en una instancia de Amazon EC2. También puede utilizar el enrutamiento basado en ruta para compartir un balanceador de carga con varios servicios.

Detección de servicios

Amazon ECS incluye la detección de servicios, que facilita que los servicios en contenedores se detecten y conecten entre sí.

Amazon ECS crea y administra un registro de nombres de servicios con la API Route53 Auto Naming para que pueda referirse a un servicio por nombre en su código y escribir consultas DNS para que el nombre del servicio se resuelva en el punto de conexión de un servicio en tiempo de ejecución.

Puede especificar las condiciones de las comprobaciones de estado en la definición de tareas de un servicio y Amazon ECS garantizará que una búsqueda de servicio devuelva únicamente puntos de conexión de servicios que funcionen correctamente.

Seguridad

Amazon ECS permite especificar una función de IAM para cada tarea de ECS. Esto permite que las instancias de contenedor de Amazon ECS tengan una función mínima, respetando la política de acceso de "privilegios mínimos" y permitiéndole administrar la función de la instancia y la función de la tarea por separado. También puede usar Amazon CloudWatch Logs para lograr visibilidad de la función de IAM a la cual se asignó una tarea.

Monitorización y registro

Monitorización

Amazon ECS proporciona funciones de monitorización para los contenedores y clústeres mediante Amazon CloudWatch. Puede monitorear el uso promedio y total de la CPU y la memoria durante la ejecución de tareas según su agrupación por definición de tarea, servicio o clúster. También puede configurar alarmas de CloudWatch que le avisen cuando sea necesario incrementar o reducir la capacidad de los contenedores o clústeres.

Registro

Amazon ECS le permite registrar todas las llamadas a la API de Amazon ECS y recibir los archivos de log mediante AWS CloudTrail. La información registrada incluye la identidad del intermediario de la API, la hora a la que se produce la llamada, la dirección IP de origen del intermediario, los parámetros de solicitud y los elementos de respuesta enviados por Amazon ECS. CloudTrail suministra un historial de llamadas a la API realizadas desde la consola de administración, los SDK y la CLI de AWS. Permite realizar análisis de seguridad, controlar cambios a recursos y llevar adelante auditorías de conformidad.

Obtener más información acerca de los precios de Amazon ECS

Visite la página de precios
¿Listo para comenzar?
Inscribirse
¿Tiene más preguntas?
Contacte con nosotros