AWS Fargate は、EC2インスタンスを直接管理せずに、ECSやEKSのコンテナを実行できるAWSの実行基盤です。
コンテナを動かしたいけれど、コンテナを載せるサーバーの起動、更新、容量管理をできるだけ減らしたいときに候補になります。
まず押さえたいポイント
どんな場面で使う?
Webアプリ、API、ワーカー、バッチをコンテナで運用したい場面で使われます。
複数サービスをECSで管理しつつ、EC2クラスタの管理を避けたい場合にFargateは扱いやすいです。
よくある誤解
Fargateを使えば運用が全部なくなるわけではありません。
OSやEC2管理は減りますが、コンテナイメージ、タスク定義、IAM、VPC、ログ、ヘルスチェック、デプロイ、費用管理は必要です。
また、小さなWebアプリ1つだけなら、App RunnerやLightsailの方が始めやすいこともあります。
Fargateは、コンテナ運用をある程度標準化したいときに価値が出やすいです。
実務で見るポイント
Fargateでは、タスクのCPU・メモリ、起動時間、ログ、スケール、ロードバランサー、NAT Gatewayなどの周辺費用を見ます。
小規模運用では、固定費と運用工数のバランスが大事です。
小規模運用での判断
Fargateは、EC2の面倒を減らせる一方で、AWS全体の設計が不要になるわけではありません。
小さなサービスでは、ALB、NAT Gateway、ログ保存、コンテナレジストリなどの周辺費用が相対的に大きく見えることがあります。
費用だけでなく、障害時に誰がタスク状態を見て、どのログを確認し、どのリビジョンへ戻すのかまで決めておくと、Fargateの良さを活かしやすくなります。