AWS Batchをさわってみた

はじめに

AWS Batchのイメージを掴むために動くところを確認してみました。

Docker Hubからpythonのイメージを取得して コマンド[python --version]を実行しました。

イメージ図

f:id:lovebeerbear:20201018183955p:plain

手順

コンピューティング環境を作成する。

1) AWS Batchのコンソールを開く。

2) 左ペインから[コンピューティング環境]を選択して、[作成]をクリックする。

3) [コンピューティング環境設定]を設定する。

  • コンピューティング環境のタイプ : マネージド型
  • コンピューティング環境の名前 : test-batch-env
  • サービスロール : Create new role
  • インスタンスロール : Create new role

f:id:lovebeerbear:20201018184110p:plain

4) [インスタンスの設定]を設定する。

プロビジョニングモデル で オンデマンド を選択する。 それ以外はデフォルトのままにする。

f:id:lovebeerbear:20201018184234p:plain

5) [ネットワーキング],[EC2 タグ],[タグ]はデフォルトのままにする。

6) 下部にある[コンピューティング環境を作成]をクリックする。

7) コンピューティング環境に[test-batch-env]が追加されていることを確認する。

ジョブキューを作成する。

1) 左ペインから[コンピューティング環境]を選択して、[作成]をクリックする。

2) [ジョブキューの設定] で [ジョブキュー名] を [test-batch-queue]に設定する。

3) [接続されたコンピューティング環境]で[test-batch-env]を選択する。

f:id:lovebeerbear:20201018184438p:plain

4) 下部にある[作成]をクリックする。

5) ジョブキューに[test-batch-queue]が追加されたことを確認する。

ジョブ定義を作成する。

1) 左ペインから[ジョブ定義]を選択して、[作成]をクリックする。

2) [ジョブ定義]で以下を設定する。

  • 名前 : test-batch-def
  • Retry Strategies > ジョブの試行 : 1
  • 実行タイムアウト : 120
  • コンテナプロパティ > イメージ : python
  • コンテナプロパティ > コマンドの構文 : Bash
  • コンテナプロパティ > コマンド : python --version
  • vCPU : 2
  • メモリ : 2000

f:id:lovebeerbear:20201018185911p:plain

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

f:id:lovebeerbear:20201018184552p:plain

4) 下部にある[送信]をクリックする。

5) ジョブに[test-batch]が追加されてステータスが [RUNNABLE] であることを確認する。

f:id:lovebeerbear:20201018184754p:plain

ジョブの結果を確認する。

1) ジョブ[test-batch]のステータスが [SUCCEEDED]であることを確認する。

f:id:lovebeerbear:20201018184843p:plain

2) ジョブ[test-batch]をクリックする。

3) コンテナにあるログストリーム名をクリックする。 f:id:lovebeerbear:20201018184919p:plain

4) [CloudWatch Logs] の 出力から Pythonのバージョンが出力されていることを確認する。 f:id:lovebeerbear:20201018184904p:plain

さいごに

今回は、AWS Batchを実行してみました。

今回はpythonのバージョンを確認しただけですが 工夫しだいで色々な使い方ができそうです。

参考サイト

AWS Batchを使って5分以上かかる処理を実行してみる https://dev.classmethod.jp/articles/aws-batch-5min-over/