【アマゾンイーシーエス】

Amazon ECS とは?

💡 AWSでコンテナを動かすなら、まずはここから
📌 このページのポイント
ECS の階層構成 Cluster(クラスター) Service A(Webアプリ) Task nginx app Task nginx app Fargate EC2 ↑ 起動タイプ選択 Service B(APIサーバー) Task api-server Task api-server ALB でトラフィック分散 ↑ ロードバランサー連携 タスク定義 → タスク → サービス → クラスターの階層構造
ECS の Task / Service / Cluster の階層構成
ひよこ ひよこ

ECSって何をしてくれるサービスなの?

ペンギン先生 ペンギン先生

コンテナAWS上で簡単に動かすためのサービスだよ。「このコンテナを3つ動かして」「壊れたら自動で再起動して」みたいな管理を全部やってくれるんだ。

ひよこ ひよこ

タスクとかサービスとかよく聞くけど、何が違うの?

ペンギン先生 ペンギン先生

タスクは「実行中のコンテナのまとまり」で、サービスは「タスクを常に指定した数だけ動かし続ける仕組み」だよ。そしてそれらをまとめて管理する箱がクラスターなんだ。タスク定義→サービス→クラスターという階層構造になっているよ。

ひよこ ひよこ

Fargateって何?

ペンギン先生 ペンギン先生

通常はコンテナを動かすためにEC2サーバーが必要なんだけど、Fargateを使うとそのサーバー管理が不要になるんだ。コンテナに必要なCPUとメモリだけ指定すれば、あとはAWSが裏側のサーバーを勝手に用意してくれるよ。

ひよこ ひよこ

Kubernetesとはどう違うの?

ペンギン先生 ペンギン先生

KubernetesはOSSで汎用的だけど学習コストが高い。ECSはAWS独自のサービスで、AWSの他のサービスとの連携がとにかくスムーズなんだ。IAMロールやCloudWatch、ALBとの統合がネイティブに用意されているよ。

ひよこ ひよこ

どういうときにECSを選ぶのがいいの?

ペンギン先生 ペンギン先生

AWSをメインで使っていて、Kubernetesほどの柔軟性は不要だけどコンテナはちゃんと管理したい、という場面にぴったりだね。実はAWSの内部サービスの多くもECSで動いていて、実績は折り紙付きだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ECS」って出てきたら「AWSコンテナ管理サービス」と思えればだいたいOK!
📖 おまけ:英語の意味
「Elastic Container Service」 = 伸縮自在なコンテナサービス
💬 Elasticは「弾力性のある」という意味で、需要に応じて伸び縮みするコンテナ環境を表しているよ
← 用語集にもどる