結論:4サービスは「倉庫・司令塔・実行環境」に分けて覚える
AWSのコンテナ系サービスは、役割分担で覚えると混乱しません。Cloud Practitioner(CLF)では深い設定よりも「何をするサービスか」「何を管理するのか」を問われやすいので、まずは次の対応で押さえます。
- ECR:コンテナイメージの保管場所(レジストリ=倉庫)
- ECS:コンテナをどう動かすかの管理(オーケストレーション=司令塔)
- EKS:Kubernetesでコンテナを管理(Kubernetes版の司令塔)
- Fargate:コンテナをサーバ管理なしで実行する基盤(実行環境)
公式概要:
- https://aws.amazon.com/containers/
- https://aws.amazon.com/ecs/
- https://aws.amazon.com/eks/
- https://aws.amazon.com/fargate/
- https://aws.amazon.com/ecr/
まず押さえる用語(試験に必要な最小限)
コンテナイメージ / コンテナ
- コンテナイメージ:アプリと依存関係をまとめた「起動用のパッケージ」(静的)
- コンテナ:イメージを実際に起動して動いている状態(動的)
CLFでは「ECRはイメージ置き場」「ECS/EKSはそれを使って起動管理」という関係が分かれば十分です。
サービス別:何をする?何を管理する?(CLF向けに整理)
| サービス | 一言 | 主な役割 | 試験の見分け方 |
|---|---|---|---|
| Amazon ECR | イメージ倉庫 | コンテナイメージを保存・配布 | 「イメージを保存」「プライベートレジストリ」→ ECR |
| Amazon ECS | 司令塔(AWS流) | コンテナの起動・台数・更新などを管理 | 「AWSネイティブなコンテナ管理」→ ECS |
| Amazon EKS | 司令塔(Kubernetes) | KubernetesクラスタをAWSで運用(管理を簡素化) | 「Kubernetes」キーワードが出たら→ EKS |
| AWS Fargate | 実行環境(サーバレス) | EC2を意識せずコンテナを実行(インフラ管理を減らす) | 「サーバ管理不要でコンテナ実行」→ Fargate |
Amazon ECR(Elastic Container Registry):イメージの保管場所
ECRは、コンテナイメージを保管するレジストリです。「イメージを置く場所が必要」と言われたらECRが最有力候補になります(Docker HubのAWS版のような位置づけ)。
- 公式(概要):https://aws.amazon.com/ecr/
- 公式ドキュメント(ユーザーガイド例):https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html
例:開発チームが作った「myapp:1.0」イメージをECRに保存しておけば、本番環境(ECS/EKS)がそこから取得して起動できます。
Amazon ECS(Elastic Container Service):AWS流のコンテナ管理(司令塔)
ECSは、コンテナを「何個動かすか」「更新時にどう入れ替えるか」など、運用の司令塔を担います。ECSは実行環境そのものではなく、コンテナ運用をコントロールする仕組みです。
- 公式(概要):https://aws.amazon.com/ecs/
- 公式ドキュメント(開発者ガイド例):https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
CLF的に重要:ECSは実行先として主に次の2パターンを取れます。
- ECS on EC2:EC2(サーバ)上でコンテナを動かす(サーバ管理が必要)
- ECS on Fargate:Fargateでコンテナを動かす(サーバ管理を減らせる)
Amazon EKS(Elastic Kubernetes Service):Kubernetesでコンテナ管理(司令塔)
EKSは、オープンソースのKubernetesをAWS上で使いやすくするマネージドサービスです。試験では「Kubernetesを使う」「K8sクラスタ」というワードが出るとEKSが軸になります。
- 公式(概要):https://aws.amazon.com/eks/
- 公式ドキュメント(ユーザーガイド例):https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html
ECSとの違い(CLF向けの最短理解):
- ECS:AWSが提供するコンテナ管理(AWS流。始めやすい)
- EKS:Kubernetes標準でのコンテナ管理(Kubernetes前提の話ならこちら)
AWS Fargate:サーバを意識せずコンテナを実行(実行環境)
Fargateは、ECS/EKSから指定されたコンテナを、EC2インスタンスの管理なしで実行するための基盤です。CLFでは「サーバレスでコンテナ」が合言葉です。
例:「APIサーバのコンテナを常に2個動かしたい。サーバの台数・OS更新は考えたくない」→ ECS(司令塔)+Fargate(実行環境)が典型です。
全体像:ECR→ECS/EKS→(Fargate or EC2)の流れで理解する
典型的な関係は次の通りです。
- コンテナイメージをECRに保存(倉庫)
- ECSまたはEKSが「何を何個動かすか」を管理(司令塔)
- 実行はFargate(サーバレス)またはEC2(サーバ管理あり)
この「倉庫→司令塔→実行環境」の型で整理すると、選択肢問題で切りやすくなります。
試験で問われやすい“見分け問題”のパターン
パターン1:イメージを保存したい
答え:ECR(コンテナイメージのレジストリ)
パターン2:コンテナをオーケストレーションしたい(AWS流)
答え:ECS(コンテナ運用を管理)
パターン3:Kubernetesを使いたい
答え:EKS(Kubernetesのマネージドサービス)
パターン4:EC2を管理せずにコンテナを動かしたい
答え:Fargate(サーバレスな実行環境)
まとめ(直前チェック)
- ECR:イメージの保管庫
- ECS:AWS流のコンテナ管理(司令塔)
- EKS:Kubernetesでのコンテナ管理(司令塔)
- Fargate:サーバ管理なしでコンテナ実行(実行環境)
不確かな点の扱い
本記事はCLF(Cloud Practitioner)で頻出の「役割分担」と「見分け方」に絞り、AWS公式ページ・公式ドキュメントで確認できる範囲の内容のみで構成しています。したがって、この記事の範囲内においては、追加の推測や未確認事項はありません。
