Fargate ふぁーげーと
簡単に言うとこんな感じ!
コンテナを動かすためのサーバーを「自分で用意しなくていい」仕組みだよ!「アプリを動かして」って頼むだけで、AWSが裏側のサーバー管理を全部やってくれるから、インフラの面倒ごとから解放されるんだ!
Fargateとは
AWS Fargate(ファーゲート)は、AWSが提供するサーバーレスなコンテナ実行環境です。通常、コンテナ(アプリケーションをまとめた箱のようなもの)を動かすには、その土台となるサーバー(EC2インスタンスなど)を自分で用意・管理する必要があります。しかしFargateを使うと、サーバーの準備・スケーリング・パッチ適用といった運用作業をAWSが肩代わりしてくれます。
利用者は「このコンテナに何CPU・何GBのメモリを使わせるか」を指定するだけで、Fargateが自動的に適切なインフラを割り当てて起動してくれます。料金は実際にコンテナが動いた時間とリソース量に応じた従量課金なので、使った分だけ払えばよく、アイドル状態のサーバーに費用がかかる心配もありません。
FargateはAmazon ECS(Elastic Container Service)とAmazon EKS(Elastic Kubernetes Service)の両方で利用でき、コンテナオーケストレーション(複数のコンテナをまとめて管理する仕組み)の基盤として広く活用されています。
Fargateの仕組みと特徴
| 項目 | 従来(EC2起動タイプ) | Fargate |
|---|---|---|
| サーバーの準備 | 自分で用意・設定が必要 | 不要(AWSが自動で割り当て) |
| OSのパッチ管理 | 自分で実施 | AWSが自動で対応 |
| スケーリング設定 | インスタンス台数を管理 | コンテナ単位で自動スケール |
| 料金体系 | インスタンスの稼働時間 | コンテナのvCPU・メモリ使用量 |
| セキュリティ境界 | インスタンス単位 | コンテナ(タスク)単位で分離 |
| 向いているケース | 高トラフィック・細かい制御 | 小〜中規模・運用負荷を減らしたい |
覚え方
「Far(遠く)+ Gate(門)」→ 「インフラ管理を遠ざけてくれる門番」とイメージすると覚えやすいです。サーバーという面倒な門番仕事を、AWSが代わりにやってくれるサービスと覚えましょう。
リソースの指定単位(タスク定義)
Fargateではタスク(コンテナの実行単位)ごとに以下を指定します:
タスク定義で指定できる主なリソース
─────────────────────────────────
vCPU : 0.25 / 0.5 / 1 / 2 / 4 / 8 / 16 vCPU
メモリ: 0.5GB 〜 120GB(vCPUに応じて選択肢が変わる)
─────────────────────────────────
例:vCPU=1, メモリ=2GB → 小規模Webアプリに最適
歴史と背景
- 2017年11月 — AWS re:Invent 2017にてFargateを発表。コンテナ普及が進む中、「インフラ管理が大変」という課題を解決するサービスとして登場
- 2018年 — ECSでのGA(一般公開)。当初は米国東部リージョンのみ対応
- 2019年 — Amazon EKS(Kubernetes環境)でもFargateがサポートされ、対応範囲が大幅に拡大
- 2020年以降 — 対応リージョンが増加し、Graviton2(ARMベース)プロセッサへの対応でコスト効率がさらに向上
- 現在 — ECS/EKSどちらでも標準的な選択肢となり、スタートアップから大企業まで広く採用される
コンテナ技術(Docker)の普及とともに「コンテナは使いたいがサーバー管理はしたくない」というニーズが高まったことが、Fargate誕生の大きな背景です。
ECS・EKS・EC2起動タイプとの関係
FargateはECSやEKSの「起動タイプ(Launch Type)」のひとつという位置づけです。以下の図で関係性を整理しましょう。
ECS vs EKS どちらでFargateを使うべきか?
| ECS + Fargate | EKS + Fargate | |
|---|---|---|
| 学習コスト | 低い(AWSネイティブ) | 高い(Kubernetes知識が必要) |
| 柔軟性・移植性 | AWSに依存 | マルチクラウド対応しやすい |
| 向いているチーム | AWSをメインで使うチーム | Kubernetesに慣れたチーム |
| コスト管理 | シンプル | やや複雑 |
Lambdaとの違い
よく比較されるAWS Lambda(ラムダ)との違いも押さえておきましょう:
Fargate
→ コンテナを丸ごと動かす
→ 実行時間の上限なし(長時間バッチにも対応)
→ Dockerイメージをそのまま使える
Lambda
→ 関数(コードの断片)を動かす
→ 最大15分の実行制限あり
→ イベント駆動の短時間処理に最適
関連する規格・RFC
| 規格・仕様 | 内容 |
|---|---|
| OCI(Open Container Initiative) | コンテナイメージの標準仕様。FargateはOCI準拠イメージをサポート |
| CRI(Container Runtime Interface) | EKS+Fargate環境でのコンテナ実行インターフェース |
| AWS Fargate Platform Version | FargateのOS・ランタイムバージョン管理仕様(現行はLinux 1.4.0) |
関連用語
- Amazon ECS — AWSのコンテナオーケストレーションサービス。Fargateの主要な利用先
- Amazon EKS — AWSのマネージドKubernetesサービス。FargateをノードとしてPodを実行できる
- コンテナ — アプリと実行環境をまとめた軽量な実行単位。Fargateが動かす対象
- Docker — コンテナを作成・管理するためのプラットフォーム
- サーバーレス — サーバーの存在を意識せずにアプリを動かす仕組みの総称
- AWS Lambda — AWSのサーバーレス関数実行サービス。Fargateと比較されることが多い