column

コラム

ECS on Fargateの良いところ ~性能・拡張性~

はじめに

こんにちは、クラウドCoEの熊谷です。

AWSが提供するコンテナ実行環境Fargateについて、利用するメリットや注意点を複数回に分けて紹介したいと思います。

Elastic Container Service(ECS)の各コンポーネントの説明は省略します。

FargateとEC2の比較

ECSではコンテナの実行環境としてEC2とFargateのどちらかを選択することが出来ます

今回はFargateの性能・拡張性について紹介します。

Fargateの拡張性について

AutoScalingとは、CPU使用率等の何らかの数値(メトリクス)に応じて、稼働するアプリケーションの実行環境の数を増やしたり減らしたりして、安定的にサービスが稼働できるようにする機能です。

コンテナの実行環境がEC2であれFargateであれ、こちらのAutoScalingの機能を利用することができます。

実行環境にEC2を利用する場合は、コンテナを増やす前にEC2インスタンスをスケールアウトすることになります。
※タスクとは、ECSにおいてコンテナが稼働する環境のことです。タスク上で複数のコンテナを実行することが出来ます。

Fargateの場合は実行環境のスケールアウトを意識する必要はなく、ユーザはタスクのAutoScalingの設定をするだけでOKです。

Fargateの性能について

実行環境にEC2を利用する場合は、タスクの稼働数とタスク毎に適用するCPU・メモリ使用率に基づき、最適なインスタンスタイプを選定することになります。

AWSのEC2ではインスタンスタイプ毎にCPUやメモリが定まっています。
例えばインスタンスファミリーがm5の場合はこのような感じ。

Amazon EC2 インスタンスタイプから抜粋

その為、個々のコンテナに必要なCPUやメモリの総量次第ではEC2のスペックが小さすぎたり、スペック過多になり十分なリソース活用が出来ない場合があります。

一方、実行環境がFargateの場合は実行環境のスペックを設定する必要はありません。

タスク毎にCPUやメモリを割り当てることが出来ます。

割り当てられるCPUやメモリの組み合わせも、柔軟です。


「202108 AWS Black Belt Online Seminar ECS での Fargate 入門」の10ページから抜粋

  • オーバースペックな実行環境を利用していないかな・・・
  • 月次バッチの処理のときに実行環境のリソース足りるかな・・・

等の心配事から解放されます。

続く・・・

今年はFargateについてたくさん記事を書こうと思います!

参考

202108 AWS Black Belt Online Seminar ECS での Fargate 入門

RECOMMEND

おすすめ記事一覧