AWS
AWS-Batch

AWS Batchが"Runnable"で止まった時に確認すること

やらかしたケアレスミスのメモ。


原因

コンピューティング環境のインスタンスロールに、ECRからgit pullするための権限が付与されていなかった。

つまり、インスタンスを立ち上げた後、git pull ECR_ARNをするとエラーが発生してしまい、処理が先に進んでいなかったようだ。このため、Jobを処理できない→Runnableで処理が止まる、といったことのようだ

AIMロールを付与することで、この問題は解決した。

「そういえばEC2でgit pullするとエラーが起きたんだよなー・・・・あれ、待てよ?」と思ってやってみたら当たりだった。気になったらまずはやってみるのが吉

以下は勘違いだった。上記の対策を行ったところ、以下の環境でも正常に動作したため削除する


コンピューティング環境が0になっている

コンピューティング環境の入力の際、「必要なvCPU」の欄に、ケチって"1"を入力した。その後、EC2インスタンスが作成されないので何かおかしいと思ってコンピューティング環境を確認したところ、「必要なvCPU」が0にされていた

- 更新前

image.png

- 更新後

image.png

これではEC2インスタンスが作成されないため、実行できるはずがない。

なんとなく察してはいたが、vCPUは2の乗数でなければならず、2の乗数以外の数字が入力されると、入力した数字以下の2の乗数に自動で修正されるようだ

###例

- 入力:3

~~ - 修正後:2~~

- 入力:5

- 修正後:4

なおこの後、最大vCPUが初期値で256になっている罠を見落とし、とてつもなくリッチなインスタンスが立ち上げられるのを見てめちゃくちゃ焦った