Open2

copilot svc deploy が終わらない

nasubitanasubita
$ copilot svc deploy
Revision  Rollout        Desired  Running  Failed  Pending                                  
PRIMARY  7         [in progress]  1        0        9       1                                         
ACTIVE   3         [completed]    1        1        0       0                                         

Failed の数だけが増えていくので
ECSコンソールから確認 参考

Amazon ECS コンソールを開きます。
お客様のクラスターを選択します。
サービスを選択し、次に [Events] (イベント) を選択します。
注意: [Events] (イベント) セクションには、サービスが安定しなかった原因が表示されます。

原因

停止理由 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: User: arn:aws:sts::account:assumed-role...

対策

この作業前に入れたcopilot/manifest.yml内のSSM記述が問題か?

secrets:                      # Pass secrets from AWS Systems Manager (SSM) Parameter Store.
 CLIENT_NAME: /${COPILOT_APPLICATION_NAME}/${COPILOT_ENVIRONMENT_NAME}/CLIENT_NAME

nasubitanasubita

manifestに直接書き込まないでコマンドから挿入した方がいいかもしれないので一旦該当部分をコメントアウトして再実行

$ copilot svc deploy
✔ Deployed service api.

デプロイできたので一旦完了。SSMについてはコマンドから設定してみる。今回はロール設定がされていなかったことで起きたようなのでコマンドから行けばおそらく裏でやってくれるだろう。できなかったらCDKでリプレイスかCFnでAddon書くかだけど、工数が増えるよね

$ copilot secret init