ECS: Ejecutar contenedores localmente

ecs

Cómo ejecutar contenedores localmente usando ECS

Cómo ejecutar la carga de trabajo del contenedor en la infraestructura local mediante ECS-Anywhere


Amazon ECS Anywhere permite a los clientes ejecutar la carga de trabajo del contenedor en las instancias locales al aprovechar un plano de control totalmente administrado por AWS que se ejecuta en la nube.

¿Cuándo usar ECS en cualquier lugar?

  • Si está ejecutando su carga de trabajo de producción en AWS y entornos de desarrollo o UAT en instancias locales, para evitar múltiples modelos operativos
  • Para proteger la inversión de capital en el centro de datos.
  • Desplegar, administrar y orquestar los contenedores cerca de las industrias comerciales.

Junto con el centro de datos local, también es compatible con plataformas como AWS Outposts, AWS Local Zones, AWS Region


Implementación

Puede usar ECS Anywhere con cualquier máquina virtual (p. ej., que se ejecute en VMware, Microsoft Hyper-V u OpenStack) o un servidor completo que ejecute un sistema operativo (SO) compatible. La máquina virtual debe tener conectividad con el plano de control de ecs para registrarse y comunicarse con AWS.

  • Para administrar las instancias que se ejecutan en las instalaciones, el agente de AWS Systems Manager se instalará en los sistemas operativos administrados por el cliente y convertirá esos sistemas operativos en “instancias administradas”.
  • Se instalará una nueva versión convergente del agente Amazon ECS de código abierto existente en estas instancias administradas (aprovechando SSM Distributor, por ejemplo).
  • Estas instancias se registrarán en un clúster de ECS previamente definido en el plano de control de la Región.

La creación de un clúster de ECS Anywhere y la ejecución de la carga de trabajo pueden constar de 5 pasos.

  1. Crear un clúster sin configuración de red
  2. Cree un rol de IAM para que el agente de SSM registre y administre la VM
  3. Instalar SSM Agent y ECS Agent con clave de activación
  4. Definir la tarea de la aplicación con compatibilidad externa
  5. Cree un servicio con esta definición de tarea.
  6. Crear un clúster sin configuración de red

Cree un rol de IAM para que el agente de SSM registre y administre la VM

{
"Version": "2012–10–17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ssm.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}

Agregar una instancia externa al clúster

Seleccione Registrar instancias externas en la pestaña Instancias de ECS del clúster creado y seleccione el rol de IAM creado en el paso 2.

ecs

Copie el comando de Linux y ejecútelo en la máquina virtual local.

ecs

Una vez que la instancia esté registrada con el clúster de ECS, la VM se mostrará en la pestaña Instancias de ECS

ecs

Tarea en ejecución en instancia externa

Para ejecutar la tarea en instancias externas, seleccione Requiere compatibilidades como externo al definir la tarea.

Todos los permisos adicionales requeridos por la tarea, por ejemplo, enviar los registros a CloudWatch, se agregan al rol de la tarea mientras se crea la definición de la tarea.

5. Cree un servicio como lo crea normalmente seleccionando el tipo como Externo

Precios

$0.01025 por hora para cada instancia local administrada de Anywhere. Una instancia local es una instancia administrada por el cliente que se ha registrado con un clúster y ejecuta el agente de contenedor de Amazon ECS.

El precio se calcula en función de la cantidad de horas que Anywhere administra una instancia local, desde que registra la instancia con él hasta que se cancela el registro de la instancia. Se aplica un cargo mínimo de 1 minuto por instancia.

El nivel gratuito de Amazon ECS Anywhere incluye 2200 horas de instancia por cada mes durante seis meses por cuenta para todas las regiones.

Suponga que tiene 100 instancias locales que administra con Anywhere. Cada instancia ha estado conectada durante 50 horas y 1 minuto. Se le cobrará una tarifa de $0.01025 por hora.

Tarifa total = 100 instancias x (50 horas x $0,01025 instancia hora + (1 minuto / 60 minutos) x $0,01025 instancia hora) = 100 x ($0,5125 + $0,00017) = $51,27


Conclusión

AWS ECS Anywhere es una excelente implementación si está buscando una solución para ejecutar la carga de trabajo de su contenedor en las instalaciones y desea evitar la sobrecarga de administrar el plano de control. Siendo ECS una solución altamente flexible y estable de AWS, ECS Anywhere proporciona las mismas funciones mientras ejecuta la carga de trabajo en un entorno que no es de nube.

Ventajas de ECS-A

  • Plano de control unificado y totalmente administrado
  • Interfaz única de administración y API
  • Definiciones de tareas reutilizables
  • Herramientas y gobernanza coherentes
  • Integración de EventBridge
  • Tolera desconexiones y redes poco confiables
  • Seguridad, escalabilidad y confiabilidad de AWS

Contras ECS-A

ECS -A no es compatible con el equilibrio de carga de aplicaciones, el escalado automático, el descubrimiento de servicios de mapas en la nube y los archivos adjuntos de volumen (EBS y EFS) a las tareas de ECS, ya que estos servicios se ejecutan en las instalaciones.

Un taller completo sobre ECS-Anywhere de AWS explica el procedimiento paso a paso para configurar el entorno si es bastante nuevo en ECS.


Gracias por llegar hasta aquí, si encuentras esto útil no olvides aplaudir 👍🏼suscribirse para recibir más contenido.

Si le interesa, puede echar un vistazo a algunos de los otros artículos que he escrito recientemente sobre AWS y Laravel:

Recent Post