Closed8

aws-ecr orbを更新したらECSタスクをデプロイできなくなった話

koizumi7010koizumi7010

久しぶりにCircleCIでハマったので備忘録として残しておく

TL;DR

  • circleci/aws-ecrをv8.1.2からv9.3.4に更新したら、buildは通るもののECS taskのデプロイに失敗するようになった
    • 更新の経緯としてはビルドのexecutorで使っていたaws-ecr/defaultのmachine imageが廃止になったから
  • circleci/aws-ecrの更新に伴い、build-and-push-imagebuild_and_push_imageに書き換え
  • 結果として、ビルドに使っていたexecutorをaws-ecr/defaultからubuntu-2204:2024.01.1に変えたことで解決
koizumi7010koizumi7010

考えられる原因としてはいずれかではないかと思っている

  • aws-ecr/default (v9.3.4だとubuntu-2204:current) と ubuntu-2204:2024.01.1に何らかの差異があってbuildしたimageでタスク起動に失敗するようになった
  • build_and_push_imageのジョブで何らかの更新があり、それを指定していなかったことでbuildしたimageでタスク起動に失敗するようになった
koizumi7010koizumi7010

公式ドキュメントを漁ってみたが、それらしい変更点が見つからなかった 😢

koizumi7010koizumi7010

前者はあんまり考えられないかな(ubuntu-2204の中でそんな変更が発生するのかという単純な疑問)と思っているので、あるとしたら後者

koizumi7010koizumi7010

aws-ecr orbのv8.1.2では build-and-push-image ジョブのremote-docker-versionにデフォルト値があったけど、v9.3.4ではデフォルト値がなしになっているのがかなり怪しい

koizumi7010koizumi7010

ecs taskのデプロイ自体はaws-ecs/update-serviceでやっている
このaws-ecs orbのversionは2.2.1(古い!)

koizumi7010koizumi7010

なんかここがかなり怪しいけど答えには辿りつかないなぁ
まあ解決はしていし、結構レアケースだと思うので手が空いているときにまた調べてみる

このスクラップは2025/01/23にクローズされました