AWS Fargateとは?サーバやクラスターの管理が不要なコンテナ


AWS Fargateの概要

AWS Fargateは、ECS、EKSの両方で使うことのできる、サーバやクラスターの管理が不要なコンテナ向けサーバーレスコンピューティングエンジンです。従来だとAmazon EC2等の仮想マシンに実行環境を構築する必要がありましたが、Fargateはサーバーレスであるため、サーバーのプロビジョン管理が不要になり、リソースに対してのみの従量課金のため、コスト削減にも繋がります。

AWS Fargateの利点

管理が簡単である

Fargateを使用すれば、必要なコンテナの操作のみであるため、ECS、EKSで実行するアプリの構築や、運用に集中することができます。また、サーバーのスケーリング、パッチ適用、保護、管理など運用に関する業務も発生することはありません。

アプリケーションのデータ収集

Fargateでは、Amazon CloudWatch Container Insightsなど他の AWSサービスとの組み込み統合によって、データの収集が行うことができます。またサードパーティーツールなどを介して、ログなどを収集し、アプリケーションをモニタリングすることも可能です。

柔軟な料金オプション

Fargateでは、指定したリソースに一致するように、コンピューティングをスケーリングすることができます。また、リソースに対しての従量課金のため、追加されたサーバーに対して料金は発生しません。FargateはEC2と同様に、Spot Savings Planおよび Compute Savings Planのサポートもされているため、オンデマンド料金と比較した際には最大70%の割引が適用されます。

まとめ

ECSのFargateタイプを対応しておけば、コンテナ需要の8割は満たせるのでは無いかと考えております。
・ECS – AWSのコンテナ管理ツール
・EKS – Googleのコンテナ管理ツールKubernetes (K8s) をAWSマネージドで利用出来るサービス

Fargate 時間当たりの単価は比較的高いがEC2を固定でデプロイしなくていいので、お手軽に利用できる。
ECSは固定のEC2をデプロイする必要があってちょっと面倒だけど単価はFargateより安い。
EKSはサービスメッシュなどの便利機能が利用できるので多数のコンテナを運用するような場合に利用する。
規模感で利用するサービスを住み分ける必要があってFargate<ECS<EKSのような感じになると思います。

参考資料

https://aws.amazon.com/jp/fargate/