メインコンテンツへ移動
Computeコンピューティング中級CLF-C02SAA-C03

ECS

Amazon Elastic Container Service

コンテナ化したアプリをAWS上で実行・管理するサービス。

一言でいうと

コンテナ化したアプリをAWS上で実行・管理するサービス。

概要

Amazon ECSは、DockerコンテナをAWS上で実行・管理するためのコンテナオーケストレーションサービスです。EC2またはFargateを実行基盤として利用できます。

主な用途

  • コンテナ化したWebアプリケーションの実行
  • APIサーバーのコンテナ運用
  • バッチ処理コンテナの実行
  • マイクロサービス構成の管理

CLF-C02 試験ポイント

  • コンテナオーケストレーションサービスである
  • ECS on EC2とECS on Fargateの実行方式がある
  • Fargateを使うとEC2インスタンス管理を減らせる
  • コンテナイメージの保存にはECRを使う
  • ALBと組み合わせてWebアプリを公開できる

SAA-C03 試験ポイント

  • サーバー管理を避けたいコンテナ実行ではFargateを検討する
  • ECSタスクはプライベートサブネットに配置し、ALBだけをパブリックにする構成が基本になる
  • タスク実行ロールとタスクロールの違いを理解する
  • サービスのDesired Countでタスク数を維持する
  • CloudWatch Logsでコンテナログを確認できる

実際の使いどころ

Amazon ECS(Elastic Container Service)は、Docker コンテナを AWS 上で実行・管理する フルマネージドのコンテナオーケストレーションサービスである。タスク定義(コンテナ イメージ・CPU / メモリ・ネットワーク・IAM ロール・ログ出力先などをまとめた設計図)、 タスク(タスク定義から起動された 1 つ以上のコンテナ実行単位)、サービス(タスクを 指定数維持し、必要に応じて ALB / NLB と連携する論理単位)、クラスター(タスク・ サービスを束ねる論理境界)という構成要素で運用される。 実行基盤として「ECS on EC2」と「ECS on Fargate」の 2 種類が選べる。EC2 起動タイプ ではコンテナホストとなる EC2 インスタンスを利用者が管理し、インスタンスタイプの 柔軟な選定や GPU / 特殊用途インスタンスの利用、Spot インスタンスによるコスト最適化 が可能となる。Fargate 起動タイプではコンテナホスト管理が AWS 側に隠蔽され、利用者 は CPU / メモリ要件を指定するだけでよく、サーバー管理を削減できる代わりに単位時間 あたりの実行コストは EC2 + 自前管理より高めになる。 実務での標準構成は、ECS タスクをプライベートサブネットに配置し、パブリックサブネット に置いた ALB だけがインターネットから到達可能にする 3 層構成である。ALB → ECS サービスへの動的ポートマッピング、CloudWatch Logs へのコンテナログ出力、Auto Scaling (CPU / メモリ / ALB リクエスト数ベース)でタスク数を自動増減させる設計が標準と なる。タスクには 2 種類の IAM ロールがあり、「タスク実行ロール」は ECR からのイメージ pull や CloudWatch Logs 出力など ECS 自体が必要とする AWS API 操作に使い、「タスク ロール」はコンテナ内アプリケーションが AWS API(S3 / DynamoDB 等)にアクセスする ときに使う。両者の混同は権限事故の原因となるため、明確に分けて設計する。 CLF-C02 では「コンテナを実行するオーケストレーションサービス」「ECR と組み合わせる コンテナ実行基盤」という形で問われる。SAA-C03 以降では Fargate と EC2 起動タイプ の選定、サービスの Desired Count 設計、Capacity Provider、ECS Service Connect / Service Discovery、EKS(Kubernetes 互換)との使い分けが踏み込んで問われる。

公式ドキュメント

コスト注意点

  • ECS on EC2ではEC2インスタンス、EBS、ALBなどに課金される
  • ECS on FargateではvCPU、メモリ、実行時間に応じて課金される
  • ALBを組み合わせる場合はロードバランサー料金も発生する
  • 静的サイト中心のMVPではS3 + CloudFrontの方が低コストにしやすい

セキュリティ注意点

  • タスクロールにはアプリケーションが必要なAWS操作だけを許可する
  • タスク実行ロールにはECRからのイメージ取得やCloudWatch Logs出力に必要な権限を付与する
  • ECSタスクのSecurity GroupはALBからの通信だけを許可する
  • コンテナイメージにAPIキーや.envファイルを含めない
  • 本番環境ではECRイメージスキャンや最小権限IAMを確認する

関連サービス

関連する比較記事

この用語には、まだ関連比較記事が登録されていません。

関連する構成図

タグ

computecontainerorchestrationecsfargate

最終更新日:2026-06-18