tsalakh ain sus noam Huyah ol guf

勉強会のメモ。その他備忘録。参考にさせて頂いたサイトや資料はリンクさせて頂いていますが不都合があればご連絡ください。

【技術メモ】ECS+Fargateでコンテナバッチ処理

ECS+Fargateでコンテナバッチ処理

概要

  • バッチ処理をコンテナで定義
  • 必要な時に立ち上がって、終わったら破棄される
  • Fargateを使うことでEC2インスタンスすら不要

前提知識

ECS

ECS = EC2 Container Service

クラスタ・タスク・サービスの概念から成る

  • クラスタ=実行環境。ここではEC2とかFargateのこと。
  • タスク=クラスタ上で動かすコンテナのこと。
  • サービス=クラスタとタスクを紐づける。

www.slideshare.net

ECR

AWSが提供するコンテナのリポジトリのこと。DockerHubみたいなもの。

Fargate

  • 誤解を恐れずにいうと、利用する時間だけ起動できるEC2。
  • 誤解を恐れずにいうと、時間制限がなく、リソースも豊富なLambda。
  • 誤解を恐れずにいうと、手軽なAWS Batch。

www.slideshare.net

詳細

  1. Dockerfileを用意。
  2. docker build && run && commit && tag。じゃなくてもいいけどimageの用意。
  3. imageをECRに登録。
  4. ECSにCluster作成、タスク定義、サービス登録。

Dockerfileで、バッチ処理が起動するようにしておくことで、ECSのサービス起動と同時にバッチ処理が動くという寸法。のはず。