Amazon ECSを理解する

ECSのタスク定義・タスク・サービスを区別し、コンテナを実際に動かす流れを学びます。必要数を維持する管理と、計算基盤や負荷分散の役割を対応付けます。

この単元で学ぶこと

  • タスク定義・タスク・サービスを区別する
  • イメージから配備までの流れを説明する
  • 実行基盤・拡張・利用者の管理を判断する

本文解説

1. ECSが管理するもの Amazon ECSはコンテナ化したアプリの配置、起動、必要な実行数等を管理します。AWSがコントロールプレーンを運用するため、利用者が配置管理のサーバー群を自作する負担を減らせます。ただしアプリが何を処理するかや、必要な資源・権限は利用者が指定します。

2. タスク定義は設計図 タスク定義は一つ以上のコンテナ、使用イメージ、CPU・メモリ、ログ等を記述する設計図です。記述を登録しただけではコンテナは動いていません。例えばWebと補助コンテナを一つの単位で動かす場合、その組合せを定義します。

3. タスクは実体 タスクはタスク定義に基づいて実際に起動した単位です。同じ定義から複数タスクを動かせます。定義の版と稼働中の実体を区別することが重要です。新しい定義を登録したことだけで古いタスクの内容が書き換わったとは考えません。

4. サービスは数を維持 ECSサービスは指定した必要数のタスクを維持します。タスクが停止・異常になった際に置き換える仕組みです。例として希望数3なら三つの実行単位を維持するように動きます。実際には起動に必要な容量、イメージ取得、権限等が揃っているかを確認します。

5. 基盤を選ぶ ECSではFargate、自社管理のEC2、ECS Managed Instances等の実行方式があります。Fargateではサーバー群の管理を減らせます。EC2方式では選んだ管理モデルに応じてホスト側の責任と自由度を確認します。どれを使ってもタスク定義とアプリの管理は必要です。

6. 拡張と振分け Service Auto ScalingはECSサービスの希望タスク数を調整します。一方、EC2群の容量を調整する管理とは別の層です。また複数タスクへWeb要求を送るにはELB等を利用します。実行数を増やすこと、配置できる資源を用意すること、要求を分けることを区別します。

7. 配備の流れ 更新したイメージをECR等へ保存し、それを使う定義を登録してサービス等へ配備します。起動したタスクのイメージや状態、ログ、正常性を確認します。イメージを保存できたことだけで利用者向けの動作が正常になったとはいえません。

8. 運用で残る責任 アプリのコードや依存関係、データ、通信許可、業務権限は利用者が管理します。タスクの終了で失ってはいけないデータは適切な保存先へ置きます。監視では必要数と実数の差、起動失敗、アプリのエラーを見て、管理側とアプリ側の問題を切り分けます。

図解

定義からタスクを動かす
設計図の登録と実際の配備は異なる段階です。

重要ポイント

  • 定義は設計図、タスクは実体、サービスは必要数を維持する管理。
  • タスク数と基盤容量と要求分散は別。
  • 保存・配備・正常性確認をつなげる。

間違えやすい点

  • 新定義の登録だけで稼働中タスクも更新済みと思う。
  • 希望数の設定だけで容量不足が解消すると思う。

用語解説

タスク定義
コンテナや必要資源等を記述したECSの設計図。
タスク
タスク定義に基づく実行単位。
ECSサービス
指定した必要数のタスクを維持する管理機能。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。