Este es extraño. Tengo un servicio ECS que usa Fargate v1.4 en una subred privada. Dado que las tareas no tienen acceso a Internet, tuve que configurar los puntos finales de VPC para que las tareas pudieran cargar lo que necesitaban de los servicios de AWS (por ejemplo, secretos de SSM, la imagen de ECR, etc.). Todo esto fue bueno y funcionó muy bien, hasta que dejó de funcionar. No estoy seguro de qué cambió, pero un fin de semana noté que mis servidores ya no estaban funcionando y noté este error en la consola:
ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to retrieve secrets from ssm: service call has been retried 1 time(s): RequestError: send request failed caused by: Post https://ssm.us-ea...Eso me resultó familiar cuando estaba configurando los puntos de enlace de la VPC, así que revisé la consola para asegurarme de que nada cambiara. Por lo que puedo decir, la configuración parece correcta (los grupos de seguridad tienen las reglas de entrada/salida adecuadas, los puntos finales adecuados están configurados y conectados a la VPC en la que se encuentran mis servidores, todo está en la misma AZ, los roles de IAM tienen acceso al secreto ).
Como experimento, eliminé los secretos que intentaba cargar de la definición de la tarea para ver qué pasaba. Cuando apareció un nuevo servidor, vi un error similar, pero esta vez para cargar la imagen desde ECR:
ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to retrieve ecr registry auth: service call has been retried 1 time(s): RequestError: send request failed caused by: Post https://api.ecr....También traté de eliminar y volver a crear todos los puntos finales, por si acaso, y todavía no tuve éxito.
Otra información (potencialmente) útil:
Cualquier ayuda/consejo sería apreciada.
Según la discusión en los comentarios, se determinó que la causa del problema era un rango de CIDR incorrecto en los grupos de seguridad (SG) para el punto final del servicio VPC de SSM .
Las recomendaciones generales de solución de problemas para el problema son:
enableDnsHostnames y DNSSupport están habilitados para la VPCcree una instancia en la misma subred que el servicio ECS. Utilice la instancia (después de configurar su función con permisos para SSM) para comprobar la conectividad de la interfaz de SSM. El objetivo de esto es verificar si el problema es a nivel de VPC o a nivel de ECS.
en la instancia, la CLI de AWS se puede usar para conectarse al punto de enlace de SSM mediante la URL de interfaz personalizada o la general para SSM.
La asignación automática de IP pública está deshabilitada cuando se crea una tarea de Fargate que también comete este error. Por lo tanto, debe habilitar la asignación automática de IP pública para que funcione.
Si está ejecutando una tarea con el tipo de lanzamiento Fargate en una subred pública, elija HABILITADO para Asignar IP pública automáticamente cuando inicie la tarea. Esto permite que su tarea tenga acceso a la red de salida para extraer una imagen. Fuente
No conozco los detalles, pero espero que pueda ayudar a quienes vienen aquí desde el motor de búsqueda.