[AWS]ECRに格納されているイメージをECSに配備する場合


背景

  • ToyプロジェクトをECS Fargateに配備
  • Github動作により、ECR配置は
  • に成功した.
  • ECS配備のタスク定義、クラスタ、およびサービス
  • の作成

    げんしょう

    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): AccessDeniedException
  • 画像のプッシュに失敗したことを知っています.
  • 以降になって初めて知った事実だが、인증실패ではなくunable to retrieve secrets from ssmであり、これが問題解決の手がかりである.
  • 試行1:ecsInstanceRoleの作成

  • 参考資料
  • その名前のキャラクターは必要ですか?やってみました.
  • Task Definitionの작업 실행 IAM 역할によると、これは原因ではないようだが、解決していない.
  • 試行2:ロールの追加

  • 参考資料
  • ジョブを実行しているIAMにはAmazonEC2ContainerServiceforEC2Role権限がないことがわかりました.
  • を追加しましたが、症状は同じです.
  • と書いているうちに、3番目のキャラクターを追加しなければECRにアクセスできず、エラーが発生する可能性があることに気づきました.
  • の結果から,2,3回の試みはいずれも処理が必要であるようである.(試行2:Private Repoアクセス、試行3:暗号化パラメータアクセス)
  • 試し3:カンニング


  • 正常に動作する既存システムの構成と比較した.

  • Secret ManagerとSystems Managerの方が権限が高い.

  • 念のためJSONをコピーして追加しました

  • 解決しました.


  • 試し2でECRアクセスの問題が解決されたのはTask Definitionで環境変数としてのパラメータによる問題かもしれないとふと感じた.

  • (システムマネージャにパラメータを登録する際に秘密鍵を使用して登録し、暗号化して格納します.)

  • 参考資料