ECS の SSM パラメータ更新は新タスク起動時にしか反映されない
AWS
Terraform
ECS
インフラ
トラブルシューティング
ECS タスク定義で SSM パラメータを secretsの valueFrom で渡している場合、値はコンテナ起動時に環境変数として解決される。よって SSM の値を更新しても、イメージ再ビルドだけでは反映されず、「新しいタスクが起動されたか」が重要。aws ecs update-service --force-new-deployment で再デプロイすれば新タスクが最新値を読む。
反映されない時の確認点:
- イメージビルド・プッシュだけして再デプロイしていないか(環境変数はイメージ焦き込みではなく起動時解決)
- ECS サービスでデプロイ後に新タスクが起動し、古いタスクが入れ替わったか(古タスクは旧値のまま)
さらに SSM パラメータを Terraform が管理していても、lifecycle { ignore_changes = [value] } を設定していれば apply で手動更新値を上書きしない。手動更新した値が初期値に戻されるかはこの設定で判別できる。