こんにちは、SCSKの林です。
Amazon Elastic Container Service(Amazon ECS)の勉強をしている際に用語が多く混乱したので整理しました。
まずAmazon Elastic Container Service(Amazon ECS)とは
AWS完全マネージドのコンテナオーケストレーションツールです。
ざっくりいうとAWSでのコンテナ管理が簡単にできますよ。というサービスです。
用語① タスク定義(Task Definition)
タスク定義とは簡単にいうと「どんなコンテナをたてるの?」を決めます。
例えば
- コンテナイメージは何使うの?
- ポートマッピングは?
- メモリ制限(どれくらい使う?)
などです。
ちなみにタスク定義から立ち上げた実体がタスク(=コンテナ)になります。
実際にはタスクに複数のコンテナが立つ場合もあるようですが今回は概念整理を優先して割愛します。
用語② サービス
サービスとはサービスを提供するためのインフラ周りの設定のことです。
例えば、
- タスク定義は何使う?
- タスクは常時何個起動しておく?
- どんなELB使う?
- どんな時にタスク増やす?
などです。
EC2を使用したシステム同様、ELBを使って冗長構成にしたり、autoscalingを使ってスケールアウトしたりできます。
そのような設定をこのサービスでおこないます。
用語③クラスター
クラスターはContainer Instance(EC2Instance)の集合体です。
クラスターではコンテナを載せるためのEC2はどんな設定にするの?を決めます。
例えば
- EC2のスペック
- VPC
- IAMロール
などです。
普段EC2を立てる時と同じようなものを設定します。
インスタンスの増減はECSがマネージドでやってくれます。
まとめ
以上の用語を図にまとめました。
- クラスター(EC2の集合体)上にサービスの内容に従ってタスク(=コンテナ)を配置する。
- タスクの中身を決めているのがタスク定義。
なかなか一言で表すのは難しいですね。。
今回の内容は以上になります。
まだまだコンテナ関連の分からない単語はたくさんあるので、引き続きまとめていきたいとおもいます!