本文へスキップ
BecomeCoder

AWS SAA(ソリューションアーキテクト)コース · 第4章 コンピューティングの設計 · レッスン23

コンテナ ― ECS・EKS・Fargate・ECR

導入

Dockerで作ったコンテナAWSで動かしたい」というとき、選択肢が複数あって混乱しがちです。ECS/EKS/Fargateの関係を整理すれば、この分野はシンプルに理解できます。

説明

コンテナをAWS上で動かす仕組みは、「オーケストレーター(何で管理するか)」「起動タイプ(どこで動かすか)」 の2軸で整理できます。

オーケストレーター特徴
ECS(Elastic Container Service)AWS独自のコンテナオーケストレーションサービス。シンプルでAWSに統合しやすい
EKS(Elastic Kubernetes Service)マネージドKubernetes。Kubernetesの知見やマルチクラウド前提の構成に向く
flowchart TD
    ORC["オーケストレーター<br/>(ECS または EKS)"] --> T{"起動タイプ"}
    T -->|EC2起動タイプ| EC2["自分でEC2クラスターを管理"]
    T -->|Fargate| FG["サーバーレス、インフラ管理不要"]
    REG["ECR<br/>(コンテナイメージの保管庫)"] -.-> ORC

起動タイプは「コンテナをどこで動かすか」の選択です。

  • EC2起動タイプ:自分でEC2のクラスターを管理し、そこにコンテナを配置する。インスタンスの制御が必要な場合に向く
  • Fargateサーバーレスなコンテナ実行環境。EC2の管理が不要で、コンテナ単位の従量課金

ECR(Elastic Container Registry) は、DockerイメージをAWS内に保管するプライベートリポジトリで、ECS/EKSどちらからも利用します。

読んでみよう

「コンテナ運用でインフラ管理をなくしたい」→Fargate、「Kubernetesの知見をそのまま使いたい/マルチクラウドを見据える」→EKS、「AWSに閉じてシンプルに構築したい」→ECS、という組み合わせで覚えておくと迷いません。