0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS EC2 と ECS(Fargate) の使い分けを初心者なりに整理してみた

Posted at

こんにちは。!
以前からAWSの学習をしておりましたが、特に学習初期の頃に「EC2 と ECS(Fargate) の違いって何?」と混乱したことがあったので、自分なりに調べて整理した内容をまとめます。
※こちらは専門家向けではなく、あくまでも初心者目線の記事です。


EC2 とは?

  • 仮想サーバーを1台まるごと使えるサービス
  • OS から自分で管理(セキュリティパッチ、スケーリング設定など)
  • イメージは「オンプレでサーバーを借りる感覚」

メリット

  • 自由度が高い
  • 既存アプリをそのまま持ち込みやすい

デメリット

  • 管理の手間が大きい(インフラ担当が必要になる)

ECS とは?

  • Docker コンテナを管理するためのサービス
  • コンテナをまとめて動かす「オーケストレーションツール」

ECS には2つの実行基盤ある:

  1. ECS on EC2 → EC2 インスタンス上でコンテナを動かす
  2. ECS on Fargate → サーバーレスでコンテナを動かす

Fargate とは?

  • ECS の実行基盤のひとつ
  • サーバーを意識せずにコンテナを実行できる(サーバーレス)
  • 課金は「CPU とメモリのリソース単位」
  • スケーリングも AWS が自動でやってくれる

使い分け方法

使う場面 向いているサービス
サーバーを細かくチューニングしたい EC2
既存アプリをそのまま動かしたい EC2
コンテナを使いたいがコスト抑えたい ECS on EC2
サクッとコンテナを動かしたい ECS on Fargate
サーバー管理をやりたくない Fargate
短時間のジョブやイベント駆動処理 Fargate

本番環境と開発環境での使い分け

実際にシステムを運用するときは、開発環境本番環境 で選択が変わるケースがある様です。

開発環境(Dev / Staging)

  • 小規模で短時間のテストが多い
  • サーバー管理に時間をかけたくない
  • コストはなるべく抑えたい

Fargate が便利

  • コンテナを簡単に立ち上げて削除できる
  • サーバー設定やスケーリングを気にしなくてよい
  • 必要な時だけ課金される

本番環境(Production)

  • 常時稼働・安定性が最優先
  • トラフィックに応じたスケーリングが必要
  • コスト最適化も大事

→ 選択肢は以下の様な状況により異なりそう

  • 小〜中規模サービス / 運用リソースが少ない場合Fargate
  • 大規模サービス / 細かいチューニングやコスト最適化が必要な場合ECS on EC2

実務でのよくあるパターン

実際のプロジェクトでは、開発環境は EC2、本番環境は ECS という構成もよく見かけます。(私の現在参画しているプロジェクトもこれに当たります)
理由は、開発環境は「とりあえず動けばよい」ため EC2 の方がシンプルで安く済むからです。
一方で、理想的には開発環境も Fargate を使うとサーバー管理の手間が減るので、
「運用リソースに余裕があるチーム」なら Fargate を採用するのも良いかもしれません。

まとめ

  • EC2 → サーバーを自分で管理したい人向け

  • ECS on EC2 → コンテナ化はしたいけど自由度も欲しい人向け

  • ECS on Fargate → サーバー管理をしたくない人向け

  • 開発環境 → サーバー管理レス・安く手軽に → Fargate 向き

  • 本番環境 → 安定性やコスト最適化を重視 → Fargate or ECS on EC2 を状況で選択

調べた結果、個人的には、小規模なサービスや検証用なら Fargate が楽だと感じました。
逆に「大規模サービスでコストを最適化したい」なら ECS on EC2 のほうが良さそうな感じがします。


参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?