Amazon Elastic Container Service

Introducción

Disfrute de doce meses de acceso a la capa de uso gratuita de AWS y de otras características del nivel Basic de AWS Support, entre otras, un servicio ininterrumpido de soporte al cliente, foros de soporte y muchas más.


P: ¿Qué es Amazon Elastic Container Service?
Amazon Elastic Container Service (ECS) es un servicio de administración de contenedores de alto desempeño y escalabilidad compatible con los contenedores de Docker que le permite ejecutar fácilmente aplicaciones distribuidas en un clúster administrado de instancias de Amazon EC2. Amazon ECS elimina la necesidad de instalar, operar y escalar su propia infraestructura de administración de clústeres. Mediante sencillas llamadas API, puede lanzar y detener aplicaciones con contenedores, realizar consultas del estado completo del clúster y obtener acceso a numerosas características comunes como los grupos de seguridad, Elastic Load Balancing, los volúmenes de EBS y las funciones de IAM. Con Amazon ECS, puede programar la colocación de los contenedores en su clúster en función de las necesidades de los recursos y los requisitos de disponibilidad. También puede integrar su propio programador o programadores de terceros para satisfacer los requisitos específicos de la aplicación o del negocio.

P: ¿Por qué debo utilizar Amazon ECS?
Amazon ECS facilita el uso de los contenedores a modo de bloques de creación para sus aplicaciones al eliminar la necesidad de instalar, operar y escalar su propia infraestructura de administración de clústeres. Amazon ECS le permite programar aplicaciones, servicios y procesos por lotes de larga ejecución mediante contenedores de Docker. Amazon ECS garantiza la disponibilidad de la aplicación y le permite reducir o escalar los contenedores para satisfacer los requisitos de capacidad de su aplicación. Amazon ECS se integra con características familiares, como Elastic Load Balancing, volúmenes de EBS, VPC e IAM. Las sencillas API le permiten integrar y utilizar sus propios programadores o conectar Amazon ECS con su proceso de entrega de software existente.

P: ¿Cuánto cuesta Amazon ECS?
No se aplican cargos adicionales por el uso de Amazon ECS. Solo tiene que pagar por los recursos de AWS (por ejemplo, instancias EC2 o volúmenes de EBS) creados para almacenar y ejecutar la aplicación. Solo pagará por lo que consuma y a medida que lo utilice: no se requieren pagos mínimos ni compromisos iniciales.

P: ¿En qué se diferencia Amazon ECS de AWS Elastic Beanstalk?
AWS Elastic Beanstalk es una plataforma de administración de aplicaciones que ayuda a los clientes a implementar y escalar servicios y aplicaciones web con facilidad. Libera al usuario de las tareas de aprovisionamiento de bloques de creación (p. ej., EC2, RDS, Elastic Load Balancing, Auto Scaling y CloudWatch), implementación de aplicaciones y monitorización del estado para que pueda concentrarse en escribir código. Simplemente debe especificar las imágenes de contenedores que han de implementarse, los requisitos de CPU y de memoria, los mapeos de puertos y los enlaces de los contenedores. Elastic Beanstalk administrará automáticamente todos los detalles, como el aprovisionamiento de un clúster de Amazon ECS, el equilibro de cargas, el escalado automático, la monitorización y la colocación de los contenedores en el clúster.

Elastic Beanstalk resulta ideal si desea aprovechar los beneficios de los contenedores, pero busca la simplicidad de implementar aplicaciones de un entorno de desarrollo en uno de producción con tan solo cargar una imagen de contenedor. Si desea disponer de un control más minucioso para arquitecturas de aplicaciones personalizadas, puede utilizar Amazon ECS directamente.

P: ¿En qué se diferencia Amazon ECS de AWS Lambda?
Amazon Elastic Container Service es un servicio de administración de contenedores de Docker de alta escalabilidad que permite ejecutar y administrar aplicaciones distribuidas que se ejecutan en los contenedores de Docker. AWS Lambda es un servicio informático de tareas controladas por eventos que ejecuta el código en respuesta a "eventos", como los cambios realizados en datos, los clics en sitios web o los mensajes de otros servicios de AWS sin necesidad de administrar ninguna infraestructura informática.

 

 

 

P: ¿Cómo puedo comenzar a utilizar Amazon ECS?
Visite nuestra página de Introducción para obtener más información sobre cómo comenzar.

P: ¿Elastic Container Service es compatible con otros tipos de contenedores?
No. Docker es la única plataforma de contenedores que Container Service admite en la actualidad.

P: Quiero lanzar contenedores. ¿Por qué tengo que lanzar tareas?
Docker le insta a dividir las aplicaciones en componentes individuales y Elastic Container Service está optimizado para seguir este patrón. Las tareas le permiten definir un conjunto de contenedores que le gustaría colocar juntos (o parte de la misma decisión de colocación), sus propiedades y cómo estarán vinculados. Las tareas comprenden toda la información que Elastic Container Service necesita para tomar la decisión sobre la colocación. Para lanzar un único contenedor, la definición de tareas solo debe incluir una única definición de contenedor.

P: ¿Soporta Amazon ECS aplicaciones y servicios de soporte?
Sí. El programador del servicio Amazon ECS puede administrar aplicaciones y servicios de larga ejecución. El programador del servicio le ayuda a garantizar la disponibilidad de la aplicación y le permite ampliar o reducir los contenedores para satisfacer los requisitos de capacidad de su aplicación. El programador del servicio facilita la distribución del tráfico entre sus contenedores a través de Elastic Load Balancing. Amazon ECS activará y anulará automáticamente el registro de sus contenedores del balanceador de carga asociado. El programador del servicio también recuperará automáticamente contenedores que se encuentren en mal estado (que no superen las comprobaciones de estado de ELB) o cuya ejecución se haya interrumpido para garantizar que dispone del número necesario de contenedores en buen estado para su aplicación. Puede escalar vertical y horizontalmente su aplicación modificando el número de contenedores que desea que ejecute el servicio. Puede actualizar la aplicación si cambia su definición o utiliza una nueva imagen. El programador iniciará contenedores nuevos automáticamente con la nueva definición y eliminará los contenedores que ejecuten la versión anterior (si se usa ELB, esperará a que se purguen las conexiones de ELB).

P: ¿Es Amazon ECS compatible con el mapeo de puertos dinámico?
Sí. Es posible asociar un servicio de Amazon Elastic Container Service (ECS) con un Application Load Balancer para el servicio Elastic Load Balancing (ELB). El balanceador de carga de aplicaciones es compatible con un grupo destino que contiene un conjunto de puertos de instancia. 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 EC2. El programador de ECS añadirá automáticamente la tarea al grupo destino del balanceador de carga de aplicaciones usando este puerto.

P: ¿Soporta Amazon ECS los trabajos por lotes?
Sí. Puede utilizar la tarea Run de Amazon ECS para ejecutar una o más tareas a la vez. Run ejecuta la tarea en una instancia que satisface los requisitos de la misma en cuestión de, entre otros, la CPU, la memoria y los puertos.

P: ¿Puedo utilizar mi propio programador con Amazon ECS?
EC2 proporciona Blox, una colección de proyectos de código abierto para la administración y organización de contenedores. Blox facilita el consumo de eventos de Amazon EC2, almacenando el estado del clúster a nivel local y realizando consultas en el almacén de datos local mediante API. Blox también incluye un programador daemon que se puede utilizar como referencia sobre cómo usar el servidor de estado de clúster. Para obtener más información, consulte la página de Blox GitHub.

P: ¿Puedo utilizar mi propia AMI?
Sí. Puede usar cualquier AMI que cumpla con la especificación de la AMI de Amazon ECS. Aconsejamos que comience con la AMI de Amazon Linux, que admite Amazon ECS. Las AMI de socios compatibles con Amazon ECS también se encuentran disponibles. Puede consultar las especificaciones de la AMI de Amazon ECS en la documentación.

P: ¿Cómo puedo configurar mis instancias de contenedores para la extracción de Amazon Elastic Container Registry?
Amazon ECR está integrado con Amazon ECS, lo que le permite almacenar, ejecutar y gestionar con facilidad imágenes de contenedores para aplicaciones que se ejecutan en Amazon ECS. Todo lo que tiene que hacer es especificar el repositorio de Amazon ECR en su definición de tareas y adjuntar AmazonEC2ContainerServiceforEC2Role a sus instancias. A continuación, Amazon ECS recuperará las imágenes correspondientes para sus aplicaciones.

P: ¿Cómo aísla Amazon ECS los contenedores que pertenecen a clientes distintos?
Amazon ECS programa la ejecución de los contenedores en instancias de Amazon EC2 controladas por clientes y utiliza la misma conformidad y controles de aislamiento disponibles para los clientes de EC2.

  • Sus instancias de informática se ubican en una Virtual Private Cloud (VPC) con el rango de IP que especifique. Usted decide las instancias que se deben exponer en Internet y las que deben permanecer privadas.
  • Las instancias EC2 utilizan una función de IAM para obtener acceso al servicio de ECS.
  • Las tareas de ECS utilizan una función de IAM para obtener acceso a los servicios y recursos.
  • Los grupos de seguridad y las ACL de red le permiten controlar el acceso entrante y saliente a la red a y desde sus instancias.
  • Puede conectar su infraestructura de TI a los recursos de la VPC mediante conexiones VPN cifradas con IPsec estándar del sector
  • Puede aprovisionar sus recursos de EC2 como instancias dedicadas. Las instancias dedicadas son instancias de Amazon EC2 que se ejecutan en hardware dedicado a un único cliente para ofrecer más aislamiento.

P: ¿Puedo aplicar marcos de aislamiento y configuración de la seguridad adicionales a mis instancias de contenedor?
Sí. Como cliente de Amazon EC2, dispone de acceso raíz al sistema operativo de sus instancias de contenedor, lo que le permite controlar los ajustes de seguridad del sistema operativo, así como cargar y configurar componentes de software adicionales que aportan funciones de seguridad, como la monitorización, la administración de parches, la administración de logs y la detección de intrusiones de host.

P: ¿Puedo operar instancias de contenedor con ajustes de seguridad distintos o segregar tareas diferentes en distintos entornos?
Sí. Puede configurar las distintas instancias de contenedor con la herramienta que desee. Amazon ECS le permite controlar la colocación de tareas en diferentes instancias de contenedor a través de la creación de clústeres y lanzamientos dirigidos.

P: ¿Soporta Amazon ECS la recuperación de imágenes de Docker de una fuente privada o interna?
Sí. Los clientes pueden configurar sus instancias de contenedor para obtener acceso a un registro privado de imágenes de Docker en una VPC o un registro accesible fuera de una VPC, como Amazon Elastic Container Registry.

P: ¿Cómo configuro funciones de IAM para tareas de ECS?
Primero debe crear una función de IAM para su tarea, con la función de servicio “Función de tarea de Amazon EC2 Container Service” y adjuntando una política con los permisos requeridos. Cuando crea una nueva definición de tarea o revisión de definición de tarea, puede especificar una función al seleccionarla en el menú desplegable “Función de tarea” o mediante la “taskRoleArn” archivada en el formato JSON.