ECS + Hako + Digdagによるバッチ運用 AWS SUMMIT TOKYO 2017 JAWS-UG ナイトイベント
最近hakoの話ばかりしてる @hatappi 業務でとある分散バッチシステムを作成する時にhako oneshotを使用しています hakoのYAMLファイルにはAutoScalingGroupを設定していてリソースが足りない時は追加してパラレルで実行していきます 検証した時は最大で約60個のhako oneshotで生み出されたタスクが存在していました 60個並列して走らせた結果何が起きたのか? ECSのAPIのたたきすぎてリクエスト制限がかかる Hakoではhako oneshotしたタスクが終わったかどうかの判定をECSのDescribeTasksをpollingしていてタスクのスタータスがSTOPPEDになるまでwaitをかけつつloopさせます コードだとこのへん 1つ1つのタスクが自分が終わったかをpollingし続けるので60個も並列すると1秒間に数十リクエストは飛ぶ これ
hatappi.hateblo.jp 昨日はHakoで狙ったコンテナインスタンスにたいしてoneshotする記事を書きました このoneshotを僕が使う時はバッチ目的として使用するのでサービスの用にコンテナインスタンスを立て続けるわけではありません もちろん起動し続けたままでも良いのですが、バッチが半日に1回の場合など使用しない時間が長い場合はお金がもったいないです そのためバッチを使用する時にコンテナインスタンスを立てたかったのです aws cliやaws sdkで自分の好きな方法でインスタンスをたててからhako oneshotを使用しても良いのですが Hakoにはリソースが足らない時にスケールアウトしてくれる素敵な機能がついています 下記のブログのオートスケーリングにも記載があるのですがautoscaling_group_for_oneshotにリソースが足らない時に スケールアウ
github.com 最近Hakoを使い始めたのでノウハウをためていく Hakoとは?? Dockerコンテナをデプロイするためのツールです Hakoがうまれた背景はECS を利用したデプロイ環境 by Kohei Suzukiによると ECSを利用しつつ、秘匿値の注入や関連するリソースや設定を操作するデプロイツールが必要 だったからだそうです 今回のHakoの使い方 Dockerコンテナをデプロイする hako deployの他に hako oneshotというECSのRunTaskAPIを呼び出し単発の実行を行うものがあるのですが、今回はこのhako oneshotを使います 今回試すものとしては 実行中のログをCloudWatch Logsになげる 秘匿値の管理方法 の2つを確認していきます なお今回ECSのクラスター名はtest-clusterというものを使用したとします 実行中の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く