Saltar al contenido

¿Cómo puedo configurar la asignación dinámica de puerto para Amazon ECS?

4 minutos de lectura
0

Quiero usar un equilibrador de carga de aplicación para configurar la asignación dinámica de puerto para Amazon Elastic Container Service (Amazon ECS) y los grupos de destino que ejecutan varias copias de tareas en una instancia.

Descripción breve

Puedes configurar la asignación dinámica de puerto al crear un nuevo equilibrador de carga de aplicación y un nuevo servicio Amazon ECS. O bien, utiliza la interfaz de la línea de comandos de AWS (AWS CLI) para configurar la asignación dinámica de puerto para un equilibrador de carga de aplicación y un servicio Amazon ECS existentes.

Para usar los equilibradores de carga de red para la asignación dinámica de puerto, consulta Uso de un equilibrador de carga de red para Amazon ECS.

Nota: Los equilibradores de carga de aplicación utilizan la asignación dinámica de puerto para ejecutar varias tareas desde un servicio en la misma instancia de contenedor. Un equilibrador de carga clásico no permite ejecutar varias copias de una tarea en la misma instancia. Si utilizas el equilibrador de carga clásico, deberás asignar los números del puerto en una instancia de contenedor de forma estática.

Resolución

Nota: Si se muestran errores al poner en marcha comandos de AWS CLI, consulta Solución de errores de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Uso de un nuevo equilibrador de carga de aplicación para configurar la asignación dinámica de puerto para un nuevo servicio Amazon ECS

Crea un equilibrador de carga de aplicación para Amazon ECS y un grupo de destino.

Abre la consola de Amazon ECS y, a continuación, configure el puerto host 0 para la definición de la tarea que debes crea o actualizar. A continuación, configura el parámetro de definición de tareas de asignaciones de puertos de contenedor para que coincida con tu aplicación. Los modos de red host y awsvpc no son compatibles con la asignación dinámica de puerto de host.

Agrega una regla para permitir el tráfico de entrada desde el equilibrador de carga hacia las instancias de contenedor. El grupo de seguridad y la lista de control de acceso de la red (ACL de la red) deben permitir el tráfico desde el equilibrador de carga de aplicación hacia las instancias a través del intervalo de puertos efímeros. Para obtener más información sobre los intervalos de puertos efímeros, consulta PortMapping.

A continuación, utiliza la consola de Amazon ECS para configurar tu nuevo servicio Amazon ECS de modo que utilice el equilibrador de carga de aplicación que creaste.

Uso de AWS CLI para configurar la asignación dinámica de puerto para un equilibrador de carga de aplicación y un servicio Amazon ECS existentes

Importante: Si actualizas la definición de la tarea de servicio, el nombre del contenedor y el puerto del contenedor que especificaste al crear el servicio deben permanecer en la definición de la tarea. Para obtener más información, consulta Equilibrio de cargas de servicio.

Para actualizar un servicio existente, utiliza el comando update-service de la AWS CLI para cambiar las configuraciones o agregar un equilibrador de carga de aplicación para un servicio Amazon ECS existente:

aws ecs update-service --cluster example-cluster-name --service example-service-name --load-balancers "{\"containerName\": \"example-container-name\", \"containerPort\": example-container-port-number, \"targetGroupArn\": \"example-target-group-arn\"}"

Nota: Sustituye example-cluster-name, example-service-name y example-container-name por los nombres de los valores. Sustituye example-container-port-number por el número de puerto de tu contenedor y example-target-group-arn por el nombre de recurso de Amazon (ARN) de tu grupo de destino.

Comprobar que has configurado correctamente la asignación de puertos

Sigue estos pasos:

  1. Abre la consola de Amazon Elastic Compute Cloud (Amazon EC2).
  2. En el panel de navegación, elige Grupos de destino.
  3. Selecciona el nombre asociado a un hipervínculo del grupo de destino.
  4. En la pestaña Destinos, comprueba que la tarea del servicio que has creado utilice el puerto correcto.

Si la asignación dinámica de puerto se ha configurado correctamente, verás los destinos registrados en el grupo de destino y el puerto asignado para la tarea. También podrás ver la tarea en los destinos registrados de los siguientes intervalos de puertos efímeros:

  • 49153-65535
  • 32768-61000

Información relacionada

¿Qué es Elastic Load Balancing?