Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EC2 で運用していた定期実行のバッチ処理を AWS Batch + EventBridge にした

Yuta Dammatsu
November 19, 2021
54

EC2 で運用していた定期実行のバッチ処理を AWS Batch + EventBridge にした

趣味で開発しているアプリのバッチ処理を EC2 → AWS Batch + EventBridge にした話です。

Yuta Dammatsu

November 19, 2021
Tweet

Transcript

  1. 従来のバッチ処理 • EC2 1台で実行 • 環境構築はSSHして必要なものを手動インストール → chromedriver とか入れるのがめんどくさい... •

    スケジューリングは whenever という gem を使用 → crontab を使っているのとそこまで変わらずめんどくさい...
  2. どうしていきたいか • 環境構築するのがとても大変 → Docker で環境構築したい。 • 各ジョブのモニタリングやログの出力ができていない → 管理画面で状況を見たい

    & ログの設定もよしなにしたい • デプロイしたり、バッチ処理の設定を変更するのも面倒 → サーバーにSSHして設定するのはしたくない • EC2をずっと動かすとお金がかかる → バッチ処理時だけ動かしたい
  3. AWS Batch の概念 1. コンピューティング環境 → VPC, サブネットなどの設定 2. ジョブキュー

    → ジョブを管理するキュー 3. ジョブ定義🌟 → ECRのイメージの設定やメモリCPUの設定 4. ジョブ → ジョブ定義より生成される。