タイトルがすべてシリーズ。
Terraform で管理している ECS (fargate) の 1.4.0 で特定の RAILS_ENV だけ問題が起きる、という現象の調査をしていて、それはほぼ解決したんだけど、なぜか ECS Cluster をデプロイしなおしたら以下のエラーが出るようになった。
Resourceinitializationerror: unable to pull secrets or registry auth: execution resource retrieval failed: unable to retrieve secrets from ssm: service call has been retried 5 time(s): RequestCanceled: request context canceled caused by: context deadline exceeded
unable to pull secrets or registry auth とか言われてもしらんわ! と思ってググると AWS 公式のナレッジがヒットした。
とはいえ全然役に立たず、「ええーなんだよんもー」と思っていたが、適当にググっていた所以下を発見。
同じ様にパブリックサブネット上にクラスタを設置していたので、「おー……おお?」と思いながら ECS のリソース定義を確認したところ。
network_configuration { assign_public_ip = "false"
あっ、これグローバルに露出しちゃうから削除したんだけど、もしかして VPC エンドポイント未設定だとこれ必要っすか? ハイ……。
ということで、以下のように修正して再度 terraform apply
した所、無事動いた。 くしょがよー!
network_configuration { assign_public_ip = "true"