🌏

[AWS]ECS/Fargateの概念がこれでわかる

2024/09/17に公開

概要

ECS

  • AWS独自のcontainer orchestrator
  • docker composeに近い考え方
  • ECSを動かすVMは管理が必要

Fargate

構造

概念構造

  • Cluster
    • Service,Taskを管理する枠
    • VPCと紐つける
  • Service
    • containerをdaemon起動するもの
    • taskの多重度を管理するのもここ
  • Task
    • one-offのcontainerを起動するもの
    • containerのprocessが完了したらtaskも終わる
    • EventBridgeやStepFunctionと組み合わせてスクジュールを起動できる
  • Task Definition
    • docker composeのような定義
    • リビジョン管理される
    • Active/Deactiveで利用できるリビジョンを管理できる

利用方法

料金体系

Task Definition

デプロイ

  • イメージ
    • ECRにimageをpush
    • task definitionを登録
    • service/taskをデプロイ
      • taskの場合
        • task definitionのcommand上書きなどを指定
      • serviceの場合
        • 起動タスク数やオートスケールルールなどを指定

運用

  • ECS Taskを実行するロールが必要
    • 手動作成は必要最低限のロールを自動で作成することもできる
    • 同じ定義になるので流用するイメージ
  • ECS Serviceの再起動
    • task数を1 => 2 => 1で変更すれば、無停止で再起動できる
  • ECS Execでdocker container execできる

Discussion