はじめに
「ECS on EC2とFargate、結局どっちを選べばいいの?」
「そもそもFargateって何?EC2と何が違うの?」
「料金はどっちが安い?運用の手間はどのくらい違う?」
AWSでコンテナを運用しようとすると、必ず直面するのがこの選択です。公式ドキュメントを読んでも、専門用語ばかりで「結局、自分のプロジェクトにはどっちが合うのか」が分からず、困っていませんか?
実は、EC2とFargateの選択は、以下の3つのポイントを確認するだけで迷いません。
選択の3つのポイント:
- インフラ管理に時間を割けるか(管理の手間)
- どのくらいの期間使うか(コスト効率)
- 特殊な要件があるか(カスタマイズ性)
この記事では、初心者の方でも分かるように、以下の内容を図解と具体例で解説します。
この記事で分かること:
- ECS on EC2とFargateの基本的な違い
- どちらを選ぶべきかの判断基準
- 料金と運用の違い
それでは、まず基礎から見ていきましょう。
そもそもECSとは?EC2・Fargateの違い
Amazon ECS(Amazon Elastic Container Service)は、コンテナ化されたアプリケーションを簡単に実行・管理できるAWSのサービスです。コンテナという形にパッケージしたアプリケーションを、スケーラブルに運用するための「オーケストレーション」を担当します。
コンテナとは、アプリを動かすために必要な環境をひとまとめにした「小さな箱」のような仕組みです。アプリ本体・ライブラリ・設定ファイルなどがすべて入っており、どの環境でもほぼ同じ状態で動かせるため、環境の違いによるトラブルを減らせます。
オーケストレーションとは、コンテナの配置・監視・スケール対応を自動で行い、アプリが安定して動くように調整する仕組みです。
身近な例えで言うと、コンテナという「箱」に入ったアプリケーションを、AWSのサーバー上で動かすための「管理システム」のようなものです。
EC2とFargateは「実行環境の選択肢」
ECS でコンテナを動かす際、どのような種類のサーバー環境で実行するかを選択できます。それが以下の 2 つの起動タイプです。
ECS on EC2(EC2 起動タイプ)
自分で管理するEC2インスタンスクラスター上でコンテナを実行する方式です。インスタンスのプロビジョニング・スケーリング・パッチ適用などは自分で管理する必要がありますが、その分インスタンスタイプ・ネットワーク・ストレージなどを細かくカスタマイズできます。
ECS on Fargate(Fargate 起動タイプ)
インフラ管理をAWSに任せて、コンテナの実行だけに集中できる方式です。AWS Fargateは、バックエンドのEC2インスタンス管理・OSのパッチ適用・ECSエージェントの運用をすべて AWS側が行うサーバーレスコンピューティングエンジンで、利用者はタスクごとに必要なCPUとメモリを指定するだけで実行できます。

3つの視点で違いを比較
EC2とFargateの違いは、3つの視点で整理できます。
1. 管理の手間
EC2:自分で管理
サーバーのOSアップデート、スケーリング設定、監視などを自分で行う必要があります。なお、スケーリングに関しては、手動での台数調整だけでなく、Auto Scaling Group(ASG)を使った自動化が可能です。
Fargate:AWSが管理
インフラ管理はAWSが自動で行うため、コンテナのデプロイだけに集中できます。EC2のような管理作業は不要で、アプリケーション開発に時間を使えます。
2. 料金体系
EC2:インスタンス稼働時間で課金
サーバーを起動している時間に対して課金されます。リザーブドインスタンス(1〜3年契約)を使えば、最大72%の割引が可能です。長期利用が確定している場合、大幅にコストを削減できます。
Fargate:使った分だけ課金
コンテナが動いている時間分だけ、vCPUとメモリの使用量に応じて課金されます。短期利用や断続的な利用に適しています。なお、FargateもSavings Plansに対応しており割引が可能ですが、リザーブドインスタンスによる割引はEC2インスタンス専用のため、Fargateには適用されません。
3. カスタマイズ性
EC2:自由度が高い
以下のような選択が可能です:
- GPU搭載インスタンス
- メモリ最適化インスタンス
- 特殊なネットワーク設定
機械学習やビッグデータ処理など、特殊な要件にも対応できます。
Fargate:標準的な構成
CPU・メモリの組み合わせは、あらかじめ決められた選択肢から選びます。標準的な要件のWebアプリケーションやAPIには十分ですが、GPUなど特殊な要件には対応していません。
比較表で見る違い
| 項目 | ECS on EC2 | Fargate |
|---|---|---|
| インフラ管理 | ユーザーが管理 | AWSが管理 |
| 料金体系 | インスタンス課金 | CPU/メモリ従量課金 |
| 長期利用時のコスト | 安い(リザーブド利用) | 高め |
| 短期利用時のコスト | 高め | 安い |
| スケーリング | 手動設定が必要 | 自動 |
| カスタマイズ性 | 高い | 制限あり |
| デプロイ速度 | 中程度 | 高速 |
| 学習コスト | 高い | 低い |
ここまでで、EC2とFargateの違いが分かりました。しかし、「違いは分かったけど、結局自分はどっちを選べば良いの?」と感じていませんか?次のセクションでは、3つの質問に答えるだけで最適な選択ができる判断フローを紹介します。
どっちを選ぶべき?判断フローと3つのポイントで選択
EC2とFargateの選択は、インフラ管理の可否・利用期間・特殊要件の有無という3つのポイントで判断できます。
3つのポイントをチェック
以下の3つの質問に答えることで、あなたに最適な選択肢が分かります。
- ポイント1:インフラ管理に時間を割けるか→ 質問1で確認
- ポイント2:どのくらいの期間使うか→ 質問2で確認
- ポイント3:特殊な要件があるか→ 質問3で確認
※ポイント3の「特殊な要件」とは:
- GPU利用:機械学習のモデル訓練、動画エンコーディング、3Dレンダリング
- メモリ最適化:大規模データベース、インメモリキャッシュ(Redis、Memcachedなど)
- ストレージ最適化:データウェアハウス、ログ処理システム
- 特定のOS設定:カスタムカーネル、特殊なOS設定が必要な場合
それでは、順番に見ていきましょう。
判断フローチャート
以下の3つの質問に順番に答えていくことで、最適な選択肢が分かります。

判断の軸が分かったところで、次は一番気になる料金の違いを見ていきましょう。
ECS on EC2とFargate:料金の違い
料金は利用期間と稼働パターンによって、どちらが安いかが変わります。
以下は、小規模なWebアプリケーション(vCPU: 0.25, メモリ: 0.5GB)を東京リージョンで動かす場合の月額料金の目安です。
| 稼働パターン | Fargate | EC2(オンデマンド) | EC2(1年リザーブド) |
|---|---|---|---|
| 24時間365日稼働 | 約1,500円/月 | 約2,900円/月 | 約1,800円/月 |
| 営業時間のみ稼働 | 約370円/月 | 約710円/月 | ー |
※営業時間のみ稼働:月〜金 9-18時として計算
※EC2(1年リザーブド):1年契約割引適用の場合
※料金は概算です。最新の料金はAWS公式の料金ページをご確認ください。
料金のポイント
-
稼働時間が短いならFargateが有利
営業時間のみ稼働するような断続的な利用では、使った分だけ課金されるFargateがコストを抑えられます。
-
24時間稼働でリザーブドを使うならEC2が有利
長期利用が確定し、24時間365日稼働する場合は、リザーブドインスタンスを使ったEC2の方がコストを削減できます。
見落としがちなコスト
ECSとFargateの料金以外にも、以下のような関連する料金がかかる場合があります。
- データ転送料
- ロードバランサー(約2,600円/月〜)
- CloudWatch Logs
これらは利用環境によって増減しますが、一般的には月額3,000〜5,000円程度の追加費用がかかることが多いです。
最新の料金を確認するには
料金は変動する可能性があるため、最新の情報は以下のページで確認できます。
料金の違いが分かったところで、次は日々の運用面での違いを見ていきましょう。
ECS on EC2とFargate:運用の違い
EC2とFargateの運用面での最大の違いは、サーバー管理の有無です。EC2ではOSアップデートやスケーリング設定などの手動作業が必要ですが、Fargateではこれらの運用作業がすべて自動化されています。
| 運用作業 | EC2 | Fargate |
|---|---|---|
| サーバーの起動・停止 | 手動設定が必要 | 不要 |
| OSアップデート | 自分で実施 | AWSが自動実施 |
| スケーリング | Auto Scaling設定が必要 | 自動 |
| 監視設定 | CloudWatch設定が必要 | CloudWatch設定が必要 |
| 障害対応 | インスタンスの再起動など | タスクの再起動のみ |
運用体制で選ぶなら
-
インフラエンジニアがいる → EC2も選択肢
サーバー管理やスケーリング設定などの運用作業を担当できる体制があれば、EC2の運用負担は問題になりません。
-
開発者だけのチーム → Fargate推奨
インフラの専門知識がない場合、Fargateなら運用作業を最小限に抑えられます。
ここまでで、判断基準・料金・運用の違いを確認してきました。最後に、実際のプロジェクトでどちらを選ぶべきか、ケース別に見ていきましょう。
3つのケース別でわかる!EC2とFargateの導入例
EC2とFargateの選択は、プロジェクトの特性によって変わります。スタートアップ・企業システム・期間限定サイトの3つのケースで、具体的な選択基準を見ていきましょう。

ケース1:スタートアップの新規Webサービス
状況:
- 少人数チーム(3〜5人)
- インフラエンジニアはいない
- できるだけ早くリリースしたい
選択:Fargate
理由:
インフラ管理が不要で開発に集中でき、初期設定も簡単です。営業時間のみ稼働する場合、料金も抑えられます。
ケース2:企業の基幹システムをコンテナ化
状況:
- 長期運用が確定(3年以上)
- インフラチームがある
- 24時間365日稼働
選択:EC2
理由:
リザーブドインスタンスで最大72%のコスト削減が可能です。インフラチームがあれば、サーバー管理の負担も問題になりません。
ケース3:期間限定のキャンペーンサイト
状況:
- 3ヶ月間のみ運用
- トラフィックの予測が難しい
- イベント時にアクセス急増の可能性
選択:Fargate
理由:
自動スケーリングで急激なアクセス増加に対応でき、使った分だけの従量課金なので無駄がありません。さらに、Fargateの秒単位課金と自動スケーリングにより、リソースの無駄を最小限に抑えつつ、急激なアクセス増加にも柔軟に対応可能です。
まとめ:迷ったらこう選ぼう
この記事では、ECS on EC2とFargateの基本的な違いから、料金・運用の具体的な比較、そして実際の導入ケースまで見てきました。
「どっちを選べばいいか分からない」という不安も、3つのポイントを確認することで解消できることが分かりました。
3つのポイントで判断しよう
改めて、選択基準を振り返りましょう。
Fargateが向いているケース:
- インフラ管理に時間を割けない環境
- 短期間の利用、またはトラフィック予測が困難な状況
- 標準的な要件のWebアプリケーション・API
EC2が向いているケース:
- インフラ管理が可能な体制
- 1年以上の長期利用予定
- GPUや特殊なインスタンスタイプへの要件
選択で失敗しないために
完璧な選択を目指すより、まず始めることが重要です。
判断に迷ったら、Fargateで小規模に始めることをおすすめします。初期投資が少なく、失敗してもリスクが小さいため、実際に使いながら要件を確認できます。
どちらを選んでも、後から変更できます。数ヶ月運用してみて、「長期利用が確定した」「もっと細かく設定したい」と感じたら、その時点で見直せば良いのです。
AWSのコンテナサービスを活用して、効率的な開発・運用を実現しましょう。
参考資料
以下のリンクは、この記事で解説した手順や概念に関連する参考資料です。より詳しく学びたい方は、ぜひご覧ください。
-
AWS - Fargate
-
Amazon Elastic Container Service
-
Amazon Elastic Container Service とは
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/Welcome.html
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

関連記事

2025.06.26
SNMPとは?ネットワーク監視の基本プロトコルの仕組みを解説
ネットワーク機器を監視するプロトコル「SNMP」とは?その仕組みの基本となるマネージャ、エージェント、MIB、OIDの役割をわかりやすく解説します。
- ネットワーク
- インフラエンジニア

2024.02.07
インフラエンジニア初学者のためのsyslogログローテーション入門
ログローテーションは、ログファイルの管理を自動化し、ディスク容量を節約し、古いログデータをアーカイブするための重要なメカニズムです。Syslogと組み合わせることで、ログ管理をさらに効率化し、システムの安定性と信頼性を向上させることができます。
- インフラエンジニア

2024.02.07
AWSでLogstashの環境構築と使い方を学ぶ
Logstashという強力なツールを用いて、効果的なログ収集、加工、および可視化の方法を学びます。AWS上でのLogstashの設定から、基本的な使い方まで、実践的な知識を提供することを目指しています。
- インフラエンジニア
- AWS

2023.04.24
Amazon CodeWhispererの特徴とは?VSCodeへの導入方法と合わせて解説
Amazon CodeWhispererとは、オープンソースリポジトリやAmazon内部のリポジトリ、APIドキュメントなどから収集した数十億行のソースコードを機械学習させ、自動でコードを生成および提案してくれるサービスです。
- AWS
- プログラミング



