Estoy tratando de aprender/usar AWS ECS pero sigo obteniendo
el servicio ha alcanzado un estado estable.
Seguido por:
el servicio (instancia i-05873e2a55ecba2f6) (puerto 32768) no está en buen estado en el grupo de destino debido a (motivo Se agotó el tiempo de espera de la solicitud)
No estoy muy seguro de qué información necesita para ayudar, pero estaba usando este balanceador de carga en las instancias de EC2 antes, pero estoy reemplazando esas instancias de EC2 con las que se iniciaron a través de ECS y ahora me encuentro con este error.
Mi clúster está en mi VPC predeterminada e incluyo las 3 subredes (zona Este). El grupo de seguridad es mi grupo de seguridad del equilibrador de carga que permite todo el tráfico en los puertos 40 y 443. He intentado cambiar el grupo de seguridad para que permita a cualquiera en cualquier puerto, pero eso no funciona.
Mi puerto de host en la definición de mi tarea es 0 y mi puerto de contenedor es 3000, que es lo que expuse en Dockerfile.
El control de estado está solo en el puerto de destino en la ruta "/"
Esta respuesta resume una lista de verificación de puntos para verificar al depurar este tipo de error:
Path /healthcheck
en el servicio backend/healthcheck
no es 200
3000
o 8080
Mi problema era el mismo. Verifique la regla de entrada del grupo de seguridad del ALB, debería haber algo como esto. All traffic / All / All / "sg-xxxxxxxxxxxx" –
.
sg-xxxxxxxxxxxx
este debería ser el grupo de seguridad del balanceador de carga de su aplicación.
Recuerde verificar la regla de salida de su grupo de seguridad ALB. La verificación de estado del grupo objetivo en realidad emite la solicitud de ALB. Entonces, si su ALB no puede hablar con su objetivo, también fallará.