📝
[小ネタ] AWS Batch のジョブ実行中にジョブを自己削除できるか
結論
できました。
また、コマンドは最後まで実行されることも確認できました。
検証
各種設定は以下の通りです。
- コンピューティング環境: Amazon Elastic Compute Cloud (Amazon EC2)
- ジョブキュー: Amazon Elastic Compute Cloud (Amazon EC2)
- ジョブ定義: Amazon Elastic Compute Cloud (Amazon EC2)
- イメージ: amazonlinux:latest
- コマンド: 以下の通り
["sh","-c","yum install -y aws-cli && sleep 10 && aws batch terminate-job --job-id $AWS_BATCH_JOB_ID --reason 'Self-termination test' && sleep 30 && echo 'Job termination completed'"]
上記設定でジョブを実行したところ、ログに「Job termination completed」が出力されていることを確認できました。
そのため、terminate-job コマンドが実行された段階でジョブが終了するという挙動ではありませんでした。
ジョブの実行中にコンソールには以下のメッセージが表示されてることも確認できました。

まとめ
今回は AWS Batch のジョブ実行中にジョブを自己削除できるかという内容を紹介しました。
どなたかの参考になれば幸いです。
Discussion