三蔵開発メモ

Web開発やインフラ関連のメモを共有します

AWSのECSについて備忘録

AWSのECSというサービスは、シンプルと言われながらも独自の要素が多くつまづいたので概要をメモしておく。

クラスタ

  • EC2(VMインスタンス)、FARGATE(抽象化されている)どちらかを選んで作成できる。コンテナ置き場。

タスク

  • コンテナイメージをどのようにリソースを使って、どのように起動させて動かすかといった内容を保存しておくもの
  • クラスターに紐づくこともできるが単一で設定することもできる。

サービス

ecs-cliについて

  • ecs-cli up でクラスターを作成
  • ecs-cli compose up でタスク登録
  • ecs-cli compose service up でサービス登録

ecs-cli composeはdocker-compose.ymlファイルを参照できる。さらに、ecs専用のecs-param設定をyamlファイルに書いて読みこますことができる。

webサービスにおけるシンプルな作成の流れ。

マネジメントコンソールでやる想定。

  • dockerイメージをローカルで作成し、ECRに登録。 (ecs-cli push イメージ名 でいける)

  • タスクを作成 (ここでECRにあげたコンテナを設定する)

  • クラスターを作成 (EC2でやるかFARGATEでやるか設定。FARGATEの方が必須設定のものが少なくて楽かも)

  • 必要ならALBとターゲットグループ (ターゲットはFARGATEならIP)を作成し、ターゲットグループ をALBにひもづけておく

  • サービスを作成 (コンテナ、ポート、ターゲットグループを紐づける )

  • ロードバランサーまたはIPからアクセス。