¿Qué es Amazon Elastic Container Service? - Amazon Elastic Container Service

¿Qué es Amazon Elastic Container Service?

Amazon Elastic Container Service (Amazon ECS) es un servicio de administración de contenedores muy escalable y rápido. Puede utilizarlo para ejecutar, detener y administrar contenedores en un clúster. Con Amazon ECS, los contenedores se definen en una definición de tareas que utiliza para ejecutar tareas individuales o tareas dentro de un servicio. En este contexto, un servicio es una configuración que puede usar para ejecutar y mantener un número determinado de tareas simultáneamente en un clúster. Las tareas y los servicios se pueden ejecutar en una infraestructura sin servidor administrada por AWS Fargate. Si desea más control sobre su infraestructura, puede ejecutar las tareas y los servicios en un clúster de instancias de Amazon EC2 que usted administre.

Amazon ECS ofrece las siguientes características:

  • Una opción sin servidor con AWS Fargate. Con AWS Fargate, no necesita administrar servidores, gestionar la planificación de la capacidad ni aislar las cargas de trabajo de contenedores por seguridad. Fargate se encarga de los aspectos de administración de la infraestructura de su carga de trabajo por usted. Puede programar la ubicación de los contenedores en el clúster en función de las necesidades de recursos, las políticas de aislamiento y los requisitos de disponibilidad.

  • Integración con AWS Identity and Access Management (IAM). Puede asignar permisos granulares para cada uno de sus contenedores. Esto permite un alto nivel de aislamiento al crear sus aplicaciones. En otras palabras, puede lanzar sus contenedores con los niveles de seguridad y cumplimiento que espera de AWS.

  • Orquestación de contenedores administrados de AWS. Como servicio totalmente administrado, Amazon ECS incluye configuración y prácticas recomendadas operativas integradas de AWS. Esto también significa que no necesita administrar el plano de control, nodos o complementos. Está integrado tanto con Alexa Web Information Service como con herramientas de terceros, como Amazon Elastic Container Registry y Docker. Esta integración facilita a los equipos centrarse en crear las aplicaciones, no en el entorno.

  • Implementación e integración continuas (CI/CD). Este es un proceso común para arquitecturas de microservicios que se basan en contenedores Docker. Puede crear una canalización de CI/CD que realice las siguientes acciones:

    • Monitoriza los cambios en un repositorio de código fuente

    • Crea una nueva imagen de Docker desde dicho origen

    • Inserta la imagen en un repositorio de imágenes como Amazon ECR o Docker Hub

    • Actualiza los servicios de Amazon ECS para utilizar la nueva imagen en la aplicación

  • Compatibilidad con la detección de servicios. Este es un componente clave de los sistemas más distribuidos y las arquitecturas orientadas a servicios. Con la detección de servicios, los componentes de microservicios se detectan automáticamente a medida que se crean y se terminan en una infraestructura dada.

  • Compatibilidad para el envío de información de registro de instancias de contenedor a CloudWatch Logs. Después de enviar esta información a Amazon CloudWatch, puede ver los registros desde sus instancias de contenedor en una ubicación cómoda. Esto evita que los registros de contenedor ocupen espacio en disco en las instancias de contenedor.

El equipo de servicios de contenedores de AWS mantiene una hoja de ruta pública en GitHub. La hoja de ruta contiene información acerca del trabajo actual de los equipos y permite a todos los clientes de AWS dar retroalimentación de forma directa. Para obtener más información, consulte el Plan de desarrollo de AWS en el sitio web de GitHub.

Tipos de lanzamiento

Hay dos modelos que puede utilizar para ejecutar los contenedores:

  • Tipo de lanzamiento de Fargate: esta es una opción de servicio de pago por uso sin servidor. Puede ejecutar contenedores sin necesidad de administrar su infraestructura.

  • Tipo de lanzamiento de EC2: configure e implemente instancias de EC2 en el clúster para ejecutar los contenedores.

El tipo de lanzamiento de Fargate es adecuado para las siguientes cargas de trabajo:

  • Grandes cargas de trabajo que deben optimizarse para reducir la sobrecarga

  • Pequeñas cargas de trabajo que tienen ráfagas ocasionales

  • Cargas de trabajo pequeñas

  • Cargas de trabajo en lotes

El tipo de lanzamiento de EC2 es adecuado para las siguientes cargas de trabajo:

  • Cargas de trabajo que requieren un uso constante de memoria y núcleo de CPU

  • Grandes cargas de trabajo que deben optimizarse por precio

  • Sus aplicaciones necesitan acceder al almacenamiento persistente

  • Debe administrar directamente su infraestructura

Acceso a Amazon ECS

Puede crear, acceder y administrar los recursos de Amazon ECS desde cualquiera de las siguientes interfaces:

  • AWS Management Console: proporciona una interfaz web que se puede utilizar para obtener acceso a los recursos de Amazon ECS.

  • AWS Command Line Interface (AWS CLI): proporciona comandos para un amplio conjunto de servicios AWS, incluido Amazon ECS. Es compatible con Windows, Mac y Linux. Para obtener más información, consulte AWS Command Line Interface .

  • SDK de AWS: proporciona API específicas de cada lenguaje y se encargan de muchos de los detalles de la conexión. Incluyen cálculos de firmas, control de reintentos de solicitud y control de errores. Para obtener más información, consulte SDK de AWS.

  • Copiloto de AWS: proporciona una herramienta de código abierto para que los desarrolladores creen, publiquen y operen aplicaciones en contenedores listas para producción en Amazon ECS. Para obtener más información, consulte AWS Copilot en el sitio web de GitHub.

  • CLI de Amazon ECS: proporciona una interfaz de línea de comandos para que ejecute sus aplicaciones en Amazon ECS y AWS Fargate utilizando el formato de archivo de Docker Compose. Puede aprovisionar recursos rápidamente, enviar y extraer imágenes mediante Amazon Elastic Container Registry y monitorear las aplicaciones en ejecución en Amazon ECS o Fargate. También puede probar contenedores que se ejecutan localmente junto con contenedores en la nube dentro de la CLI. Para obtener más información, consulte Amazon ECS CLI en el sitio web de GitHub.

  • AWS CDK: proporciona un marco de desarrollo de software de código abierto que puede utilizar para modelar y aprovisionar los recursos de sus aplicaciones en la nube mediante lenguajes de programación conocidos. La AWS CDK aprovisiona sus recursos de forma segura y repetible a través de AWS CloudFormation. Para obtener más información, consulte Introducción a Amazon ECS mediante el AWS CDK .

Precios

Los precios de Amazon ECS dependerán de si utiliza AWS Fargate o la infraestructura de Amazon EC2 para alojar sus cargas de trabajo en contenedores. Cuando se utiliza Amazon ECS en AWS Outposts, los precios siguen el mismo modelo que cuando se utiliza Amazon EC2 directamente. Para obtener más información, consulte Precios de Amazon ECS.

Amazon ECS y Fargate también ofrecen Savings Plans que proporcionan ahorros significativos en función de la utilización de AWS. Para obtener más información, consulte la Guía del usuario de Savings Plans.

Para ver su factura, vaya al Panel de Billing and Cost Management en la consola de AWS Billing and Cost Management. La factura contiene enlaces a informes de uso que ofrecen detalles sobre la cuenta. Para obtener más información acerca de la facturación de las cuentas de AWS, consulte Facturación de cuentas de AWS.

Si tiene alguna pregunta sobre los eventos, las cuentas y la facturación de AWS, póngase en contacto con AWS Support.

Trusted Advisor es un servicio que ayuda a optimizar los costos, la seguridad y el rendimiento del entorno de AWS. Para obtener más información acerca de Trusted Advisor, consulte AWS Trusted Advisor.