AWS Batchをさわってみた
はじめに
AWS Batchのイメージを掴むために動くところを確認してみました。
Docker Hubからpythonのイメージを取得して コマンド[python --version]を実行しました。
イメージ図
手順
コンピューティング環境を作成する。
1) AWS Batchのコンソールを開く。
2) 左ペインから[コンピューティング環境]を選択して、[作成]をクリックする。
3) [コンピューティング環境設定]を設定する。
- コンピューティング環境のタイプ : マネージド型
- コンピューティング環境の名前 : test-batch-env
- サービスロール : Create new role
- インスタンスロール : Create new role
4) [インスタンスの設定]を設定する。
プロビジョニングモデル で オンデマンド を選択する。 それ以外はデフォルトのままにする。
5) [ネットワーキング],[EC2 タグ],[タグ]はデフォルトのままにする。
6) 下部にある[コンピューティング環境を作成]をクリックする。
7) コンピューティング環境に[test-batch-env]が追加されていることを確認する。
ジョブキューを作成する。
1) 左ペインから[コンピューティング環境]を選択して、[作成]をクリックする。
2) [ジョブキューの設定] で [ジョブキュー名] を [test-batch-queue]に設定する。
3) [接続されたコンピューティング環境]で[test-batch-env]を選択する。
4) 下部にある[作成]をクリックする。
5) ジョブキューに[test-batch-queue]が追加されたことを確認する。
ジョブ定義を作成する。
1) 左ペインから[ジョブ定義]を選択して、[作成]をクリックする。
2) [ジョブ定義]で以下を設定する。
- 名前 : test-batch-def
- Retry Strategies > ジョブの試行 : 1
- 実行タイムアウト : 120
- コンテナプロパティ > イメージ : python
- コンテナプロパティ > コマンドの構文 : Bash
- コンテナプロパティ > コマンド : python --version
- vCPU : 2
- メモリ : 2000
3) 下部にある[作成]をクリックする。
4) ジョブ定義に[test-batch-def]が追加されたことを確認する。
ジョブを送信する。
1) 左ペインから[ジョブ]を選択して、[新しいジョブを送信]をクリックする。
2) [新しいジョブを送信]で以下を設定する
- 名前 : test-batch
- ジョブ定義 : test-batch-def:1
- ジョブキュー : test-batch-queue
- 実行タイムアウト : 120
- Retry Strategies>ジョブの試行 : 1
- ジョブタイプ : 単一
- コンテナプロパティ > コマンドの構文 : Bash
- コンテナプロパティ > コマンド : python --version
- vCPU : 2
- メモリ : 2000
4) 下部にある[送信]をクリックする。
5) ジョブに[test-batch]が追加されてステータスが [RUNNABLE] であることを確認する。
ジョブの結果を確認する。
1) ジョブ[test-batch]のステータスが [SUCCEEDED]であることを確認する。
2) ジョブ[test-batch]をクリックする。
3) コンテナにあるログストリーム名をクリックする。
4) [CloudWatch Logs] の 出力から Pythonのバージョンが出力されていることを確認する。
さいごに
今回は、AWS Batchを実行してみました。
今回はpythonのバージョンを確認しただけですが 工夫しだいで色々な使い方ができそうです。
参考サイト
■AWS Batchを使って5分以上かかる処理を実行してみる https://dev.classmethod.jp/articles/aws-batch-5min-over/