勉強前イメージ
バッチスケジューラー的なもの?
調査
AWS Batch とは
フルマネージド型のバッチ処理実行サービスです。
フルマネージド型なのでインフラを構成する必要がなく、設定後すぐ使えるようになります。
AWS Batch の特徴
- フルマネージド型
上記でも記載しましたが、
フルマネージド型なので、インフラ面での設定等はほぼなく
webから設定するだけで稼働させることが出来ます。
また、実行するインフラを Fargate やEC2インスタンスなど選ぶことが出来ます。
- 依存関係があるジョブを実行することが出来る
よくジョブには前後の依存関係がある場合が多く、
依存関係がある場合でも配列ジョブというジョブ定義を行うことにより処理制御を行うことが出来ます。
- ジョブに優先度を持たせることによって、リソースの最適化を行う
ジョブに優先度を持たえることができ、それによってリソースを最適な形で割り当ててコストを抑えることが出来ます。
- モニタリングやログ記録
ジョブの主要なメトリクスについてはマネジメントコンソール上で確認が出来、
その他の詳細なログ等に関してはCloudWatch Logsでも確認することが出来ます。
用語
AWS Batchでは様々用語があるので、今回は主要な下記の4つを確認いたします。
- ジョブ
- ジョブ定義
- ジョブキュー
- コンピューティング環境
ジョブ
AWS Batchで実行される作業の単位です
後ほど記載するジョブ定義を参照する必要があります。
ジョブ定義
実行方法を定義する、ジョブの雛形となるテンプレートのようなものでジョブの実行方法を定義します。
ジョブキュー
ジョブキューは投入されたジョブの行列で
ジョブが投入されるとジョブキューに送信され、コンピューティングリソースにスケジューリング出来るまで待機します。
コンピューティング環境
ジョブが実行するコンピューティング環境になります。
様々種類を選ぶことが出来ます。
勉強後イメージ
バッチスケジューラーというより、「ジョブを実行するもの」のイメージ。
定期実行は他のサービスと連携したらいけると思う
cronって感じではない