LoginSignup
0
0

More than 3 years have passed since last update.

AWS Batchと既存ECSの名前が同じでRUNNABLEステータスから動かない

Last updated at Posted at 2020-04-13

はじめに

AWS BatchのキューがRUNNABLEから動かない・・・という人向けです。
今回は「AWS Batchと既存ECSの名前が同じこと」に由来する事象に遭遇しました。

世間的にも触りはじたばかりの人はRUNNABLEから動かないことはそこそこあるっぽくて、AWS公式で原因の大別が記載されてたりします。お困りの場合はこちらも合わせて参照してください。

事象

AWS Batchに playground と命名した「コンピューティング環境」「ジョブキューの定義」「ジョブ」を作成し、 ジョブを積んでみました。コンピューティング環境の詳細は画像の通り。

image.png

  • 正常に動いた際の期待は、「ECSのタスクがキューを捌いてくれる」です。
  • 実際に起ったことは、「EC2インスタンスは起動するが、ECSクラスタでタスクが起動せずキューが捌けない」でした。

色々と試してみたところ「既存ECSの playgournd という名前のクラスタ/タスク定義」に由来していそうだとわかりました。

image.png

image.png

解決方法

AWS Batchの名前を変更し、ユニークになるようにしました。要は作り直しです。

ex) playground => playground_aws_batch

詳しい挙動は不明

AWS Batchの playground というジョブを送信すると、 ECSのタスク定義 playground に新しいリビジョンが追加する動きをしていました。AWS Batchの定義からサフィックス付きで playground_Batch_hogehoge のようなECSクラスタが自動生成されます。同時に、過去に自分で作成したECSクラスタ/タスク定義の playground も存在しています。

image.png
AWS Batchのジョブ定義に playground というリビジョンを2件作成し、ジョブを送信。ECSタスク定義 playground を確認すると2件リビジョンが追加されていることがわかりました。元々は playground:3 だけ。

これより下は未検証範囲で、詳しい動きははっきりしませんが・・・

タスク定義の追加までは動いているっぽいが、 playground* のプレフィックスのECSクラスタが2件あるため、どちらのECSクラスタで動かすかわからなくなっている状態なのかな?手動でECSクラスタを消したり追加したりの検証が必要になってきそうですが、そこまではやれていません。

関連記事

ネットワーク関連で詰まった場合はこちらが参考になるかも。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0