ECSにバッチ処理やらせるときにhako oneshotが便利
要約
ECSにバッチ処理をやらせるときに、 hako oneshotを使うと便利です。
hako oneshotを活用する話
先日(10/12)のDockerの勉強会*1にて、hako oneshot を活用する話をしました!
以下は私の職場での活用の一例。の雰囲気の図。
以下がスライドです。
hakoについてちょっと紹介
Dockerコンテナのデプロイツールです。ECSに対応。
deploy
と oneshot
が主なサブコマンドです。
hako deploy
Dockerコンテナをデプロイする。 使い方はこちらの記事が詳しいです。
hako oneshot
Dockerコンテナにバッチ処理的なタスクをやらせる。 使い方はこちらの記事が詳しいです。
hako oneshotの様子
ECSに何かをやらせるときに、何回かAPIを叩くことになるのですが、 hakoがいろいろとやってくれます。
以下がその様子(簡略化のため分岐とかも適当な図で恐縮)です。
利点・良いと思った機能
上記の通り、hako を使うことにより、このようなECS API叩く自前コードが減る のは大きな利点です。
hako oneshotを使ってみて他に感じた利点・良いと思った機能は
- TaskDefinition重複登録されないようにチェックしてくれる
- scale outも面倒見てくれる
dry-run
があるらしい- あまり使ってないけど使ってる人が便利っぽいと言っていた
- コンテナの終了コードで終了してくれる
- コンテナが終了コード0で終わればhako oneshotも0で終わる
- 手元のシェルで
&&
でつなぐ、とかできそう
- 手元のシェルで
- コンテナが終了コード0で終わればhako oneshotも0で終わる
C-c
でabortできる
というところです。
まとめ
勝手にhako oneshotについて紹介しました!
間違い等ありましたらご指摘ください!
よろしくお願いいたします。
*1:Web Tech Tokyo #1(Docker Tips 共有会) http://web-tech-tokyo.connpass.com/event/40548/