web-dev-qa-db-ja.com

Aws ecs fargate ResourceInitializationError:シークレットまたはレジストリ認証をプルできません

Aws-ecs-fargate-1.4.0プラットフォームでプライベートリポジトリを実行しようとしています。

プライベートリポジトリ認証については、 docs を使用しましたが、うまく機能していました。

何とか既存のサービスを何度も更新した後、タスクの実行に失敗し、次のようなエラーが表示されます

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

私はecsTaskExecutionRoleを変更していません。秘密の値を取得するために必要なすべてのポリシーが含まれています。

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

プラットフォームバージョン1.4.0の起動タイプとしてFargateを使用すると、まったく同じ問題が発生していました。最後に、パブリックサブネットを使用していたので、タスクに public ipの割り当てを有効にする を実行するだけで、タスクに送信ネットワークアクセスを許可してイメージをプルすることができました。

プラットフォームバージョン1.3.0を使用してサービスを作成しようとすると、解決のヒントが得られました。タスクの作成は、似ていますが 幸いにも文書化されています エラーで失敗しました。

0

私はあなたの設定について完全にはわかりませんが、いくつかの$を節約するためにNATゲートウェイを無効にした後、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....

次のサービス名にVPCエンドポイントを作成する必要があることがわかりました。

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

そして、aws-ecs-fargate-1.3.0プラットフォームにダウングレードする必要がありました。ダウングレード後、DockerイメージはECRからプルされ、デプロイメントは再び成功しました。

NATゲートウェイなしでシークレットマネージャーを使用している場合は、com.amazonaws.REGION.secretsmanagerのVPCエンドポイントを作成する必要がある可能性があります。

0
Robert Reiz

ECSサービスのセキュリティグループのルールを更新して、同様の問題を解決しました。以下のルール構成。

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

0
torm