ECS Fargateを利用して簡単なコンテナサービスを作成します。
[学習フェーズ]
ECS Fargate の構成要素を理解しましょう。
- 関連サービス(今回のタスクのみ)
- VPC
- SG
- ECS
- クラスター:ECSタスクの論理的なグループ、「箱」のようなイメージ
EC2 on ECS・Fargateの指定 - タスク定義:Dockerイメージやリソース量(CPU/メモリ)を指定する設計図
主な設定項目
- コンテナ名:複数コンテナ構成時に識別しやすいように名前をつける
- イメージ:nginx
や123456789012.dkr.ecr.ap-northeast-1.amazonaws.com/myapp
など
- ポートマッピング:コンテナ内のポートと外部公開ポートをマッピング(例:80 → 80)
- メモリ / CPU:Fargateがタスクに割り当てるリソース量(例:512MiB / 256 vCPU)
- ログ出力先:CloudWatch Logs への出力設定(任意) - サービス:タスクを継続的に実行・管理するリソース
VPCの指定、タスク定義の指定、サービスの実行
- クラスター:ECSタスクの論理的なグループ、「箱」のようなイメージ
[実践フェーズ]
今回は、一番シンプルな方法でFargateを構築します。
DockerHubにある公式のnginxイメージを利用し、ECS Fargate上で動かしてみましょう。
ローカルでのimageの作成や未だ学習していないECRは不要となります。
1. VPC・SG作成(既存のものでOK)
Public Subnetがあり、インターネットと接続できること
port 80 0.0.0.0/0のSGを作成しておくこと
2. ECS クラスターの作成

【Tips】
ECS AnywhereはオンプレミスサーバーにECS画面を使ってデプロイできるサービス。
ECSの管理画面のみの利用のため、料金は安い
3.タスク定義書の作成
起動タイプ:Fargateを選択
コンテナの名前:任意
コンテナイメージURI:Docker公式のイメージを指定


4. サービスの起動
クラスター > サービスの作成
起動タイプ:FARGATE
アプリケーションタイプ:サービス
タスク定義:3.で作成したものを指定
ネットワーキング:VPC



5. 起動確認
クラスター > サービス > タスク > ネットワーキングにて、パブリックIPアドレスを確認

ブラウザにて下記表示が出ていれば成功

+ α
Fargate作成時、さまざまな選択項目があったと思います。それぞれの項目について深堀学習してみましょう。
例)
・起動タイプとキャパシティープロバイダーの違い
・ecsTaskExecutionRoleとは
・必須コンテナ、コンテナの追加
・サービスとタスクの違い
・デプロイオプション
・ボリューム