web-dev-qa-db-fra.com

Aws ecs fargate ResourceInitializationError: impossible d'extraire les secrets ou l'authentification du registre

J'essaie d'exécuter un référentiel privé sur la plate-forme aws-ecs-fargate-1.4.0.

Pour l'authentification du référentiel privé, j'ai suivi le docs et cela fonctionnait bien.

D'une manière ou d'une autre, après avoir mis à jour le service existant plusieurs fois, il échoue à exécuter la tâche et se plaint de l'erreur comme

ResourceInitializationError: unable to pull secrets or registry auth: execution resource retrieval failed: unable to get registry auth from asm: service call has been retried 1 time(s): asm fetching secret from the service for <secretname>: RequestError: ...

Je n'ai pas changé le ecsTaskExecutionRole et il contient toutes les politiques requises pour récupérer la valeur secrète.

  1. AmazonECSTaskExecutionRolePolicy
  2. CloudWatchFullAccess
  3. AmazonECSTaskExecutionRolePolicy
  4. GetSecretValue
  5. GetSSMParamtres
8
NIrav Modi

J'avais exactement le même problème en utilisant Fargate comme type de lancement avec la version de la plate-forme 1.4.0. À la fin, puisque j'utilisais des sous-réseaux publics, tout ce que j'avais à faire était de activer l'attribution de l'adresse IP publique aux tâches afin de permettre à la tâche d'avoir un accès réseau sortant pour extraire l'image.

J'ai eu un indice pour le résoudre lorsque j'ai essayé de créer le service en utilisant la version de la plate-forme 1.3.0 et la création de la tâche a échoué avec une erreur similaire mais heureusement documentée .

0
danielsepulvedab

Je ne suis pas tout à fait sûr de votre configuration, mais après avoir désactivé les passerelles NAT pour économiser quelques dollars, j'ai eu un message d'erreur très similaire sur la plate-forme aws-ecs-fargate-1.4.0:

Stopped reason: 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....

Il s'est avéré que je devais créer des points de terminaison VPC avec ces noms de service:

  • com.amazonaws.REGION.s3
  • com.amazonaws.REGION.ecr.dkr
  • com.amazonaws.REGION.ecr.api
  • com.amazonaws.REGION.logs
  • com.amazonaws.REGION.ssm

Et j'ai dû passer à la plate-forme aws-ecs-fargate-1.3.0. Après la rétrogradation, les images Docker ont pu être extraites d'ECR et les déploiements ont réussi à nouveau.

Si vous utilisez le gestionnaire de secrets sans passerelle NAT, il se peut que vous deviez créer un point de terminaison VPC pour com.amazonaws.REGION.secretsmanager.

0
Robert Reiz

J'ai résolu un problème similaire en mettant à jour les règles dans le groupe de sécurité du service ECS. Ci-dessous la configuration des règles.

Inbound Rules:
* HTTP          TCP   80    0.0.0.0/0
Outbound Rules:
* All traffic   All   All   0.0.0.0/0

0
torm