現場実践|AWSコンテナ運用

Amazon ECSでコンテナ運用入門
Fargate・タスク定義・ALB連携の実践

「DockerコンテナをAWSで動かしたい」——ECS(Elastic Container Service)を使ってFargate上でコンテナを運用するための基本設定と実践的な構成を解説します。

読了目安:約18分更新日:2026年3月

💡 Amazon ECSはAWS上でコンテナを動かすためのオーケストレーションサービス。Fargateを使えばサーバーレスでコンテナを実行でき、EC2の管理が不要になります。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

ECS・Fargate環境のインフラ設計・構築を複数案件で担当してきた立場から解説します。

1. ECSの基本構成

📋
タスク定義
コンテナの設定(Dockerイメージ・CPU・メモリ・環境変数・ポートマッピング)をJSON形式で定義。
🎯
サービス
タスクを指定した数だけ常時起動・維持する仕組み。ALBと連携してロードバランシングを実現。
Fargate(サーバーレス)
EC2インスタンスを管理せずにコンテナを実行できる起動タイプ。インフラ管理コストを大幅削減。
🗃️
ECR(Elastic Container Registry)
AWSのDockerイメージレジストリ。ECSから安全にイメージをプルできる。

2. ECS on Fargateの構成例

コンポーネント役割設定のポイント
VPC・サブネットネットワーク基盤プライベートサブネットにFargateタスクを配置
ALBロードバランサーパブリックサブネットに配置してFargateタスクに転送
ECS Serviceタスク管理desired_count=2以上に設定してマルチAZ冗長化
ECRイメージ管理ライフサイクルポリシーで古いイメージを自動削除

3. TerraformでECS環境を構築する

  • aws_ecs_cluster:ECSクラスターを作成するリソース
  • aws_ecs_task_definition:タスク定義をJSON形式で記述。container_definitionsに詳細設定を記載
  • aws_ecs_service:タスクの起動数・ALBターゲットグループとの紐付けを設定
  • aws_appautoscaling_target・policy:CPU使用率に基づくオートスケーリングを設定

4. ECSのよくあるトラブルと対処法

Q. タスクが起動後すぐにStoppedになる
対処法:タスクのログをCloudWatch Logsで確認する。アプリケーションの起動エラー・環境変数の設定ミス・ヘルスチェック失敗が主な原因。
Q. Fargateタスクがインターネットにアクセスできない
対処法:プライベートサブネットのFargateからインターネットアクセスにはNATゲートウェイが必要。またはVPCエンドポイントを設定してAWSサービスに直接アクセスする。
📌 この記事のポイント
  • ECS on Fargateを使うとEC2管理なしにコンテナを運用できる
  • ALB+ECS Service+マルチAZの組み合わせが高可用性コンテナ運用の基本構成
  • タスクが起動しない場合はCloudWatch Logsでコンテナのログを確認する

キャリアの疑問、一緒に解決しませんか?

Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。

※ECS・Fargateの機能はAWSにより変更される場合があります。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:経営/個人事業/アパレル