amazon-web-services - fargate - ecs task
Cómo entender el clúster Amazon ECS (1)
Estas son realmente tres preguntas bastante diferentes, por lo que sería mejor dividirlas en diferentes preguntas aquí en consecuencia. Trataré de dar una respuesta independientemente:
- Las instancias de contenedor de Amazon ECS se agregan indirectamente, el trabajo de Amazon ECS Container Agent en cada instancia es registrarse en el clúster creado y nombrado por usted, consulte los concepts y el lifecycle de lifecycle para obtener más información. Para que esto funcione, debe seguir los pasos descritos en Iniciar una instancia de contenedor de Amazon ECS , ya sea manualmente o mediante la automatización. Tenga en cuenta el paso 10 .:
De forma predeterminada, su instancia de contenedor se inicia en su clúster predeterminado. Si desea iniciar su propio clúster en lugar del predeterminado, elija la lista de Detalles avanzados y pegue la siguiente secuencia de comandos en el campo Datos de usuario, reemplazando su nombre de grupo con el nombre de su clúster.
#!/bin/bash echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
Solo necesita una única instancia para que ECS funcione como tal, ya que AWS administra el clúster en su nombre. Sin embargo, esto no sería suficiente para escenarios de alta disponibilidad:
- Como los hosts contenedores son solo instancias normales de Amazon EC2 , deberá seguir las mejores prácticas de AWS y distribuirlos en dos o tres zonas de disponibilidad (AZ) para que un corte (raro) de un AZ no afecte su clúster, porque ECS puede migrar sus contenedores a una instancia de host diferente (siempre que su clúster tenga suficiente capacidad adicional).
- Muchas tecnologías avanzadas de clustering que facilitan los contenedores tienen sus propias capas de orquestación de servicios y generalmente requieren un número impar de instancias> = 3 (servicio) para una configuración de alta disponibilidad. Puede leer más acerca de esto en la sección Tamaño óptimo del clúster en Administration por ejemplo (consulte también Ejecución de CoreOS con AWS EC2 Container Service ).
Esto hace referencia a los temas de alta disponibilidad y orquestación de servicios mencionados en 2. ya que, más precisamente, enfrenta el problema del descubrimiento de servicios , que se hace más frecuente incluso cuando se usan tecnologías de contenedores en general y micro servicios en particular:
- Para familiarizarme con esto, recomiendo Understanding Modern Service Discovery de Jeff Lindsay con Docker para obtener una descripción general excelente centrada específicamente en su caso de uso.
- Jeff también mantiene una versión en contenedor del Consul cada vez más popular, lo que simplifica el registro de los servicios y la detección de otros servicios a través de una interfaz DNS o HTTP (ver Running Consul en Docker y gliderlabs/docker-consul ).
Hace poco, intenté implementar Contenedores Docker usando la definición de tareas por AWS. En el camino, me encontré con las siguientes preguntas.
¿Cómo agregar una instancia a un clúster? Al crear un nuevo clúster con la consola de Amazon ECS, cómo agregar una nueva instancia de ec2 al nuevo clúster. En otras palabras, cuando se lanza una nueva instancia de ec2, qué configuración es necesaria para asignarla a un clúster creado por el usuario en Amazon ECS.
¿Cuántas instancias de ECS se necesitan en un clúster y cuáles son los factores?
Si tengo dos instancias (ins1, ins2) en un clúster y mi webapp, los contenedores de db se están ejecutando en ins1. Después de actualizar el servicio en ejecución (a través de http://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-service.html ), puedo ver que el servicio recién creado se está ejecutando en "ins2", antes de drenar el viejo servicio en "ins1". Mi pregunta es que después de que mi contenedor webapp asignado a otra instancia, la dirección IP de acceso se convierta en otra IP de instancia. ¿Cómo prevenir o cuál es la solución para hacer que la misma dirección IP tenga acceso a la aplicación web? No solo IP, ¿qué pasa con los datos después de cambiar a una nueva instancia?