ECS (Fargate) の料金体系:詳細ガイド

この記事はで読むことができます。

1. はじめに

Amazon ECS (Elastic Container Service) with Fargateの料金体系は、使用したリソースに対してのみ課金されるペイアズユーゴーモデルを採用しています。この料金ガイドでは、ECS (Fargate) の料金構造、計算方法、およびコスト最適化のためのヒントを詳しく解説します。

2. Fargateの料金構成要素

Fargateの料金は主に以下の2つの要素から構成されています:

  1. vCPU(仮想CPU)使用量
  2. メモリ使用量

これらは、タスクの実行時間に基づいて計算されます。

3. 料金の計算方法

3.1 基本的な計算式

vCPU毎、メモリ毎に単価が決まっており、稼働時間を掛け合わせることで求める事ができます。

基本的には次の計算式で求められます。

総コスト = (vCPU時間 × vCPU料金) + (メモリGB時間 × メモリGB料金)

3.2 具体的な料金例(2024年7月現在、us-east-1リージョン)

  • vCPU:1時間あたり0.04048 USD
  • メモリ:1GB時間あたり0.004445 USD

注意:実際の料金は、リージョンや為替レートにより異なる場合があります。最新の料金はAWSの公式ウェブサイトでご確認ください。

3.3 計算例

タスク設定。

  • vCPU: 0.25 vCPU
  • メモリ: 0.5 GB
  • 実行時間: 24時間

計算。

  1. vCPUコスト: 0.25 × 24 × 0.04048 = 0.2429 USD
  2. メモリコスト: 0.5 × 24 × 0.004445 = 0.0533 USD
  3. 合計: 0.2429 + 0.0533 = 0.2962 USD

このタスクを24時間実行した場合、約0.30 USDのコストがかかります。

4. 追加コスト

ECS (Fargate) を使用する際、以下の関連サービスのコストも考慮する必要があります。

  1. データ転送コスト:インターネットへのアウトバウンドデータ転送に対して課金されます。
  2. Elastic Load Balancing (ELB) コスト:ロードバランサーを使用する場合。
  3. Amazon ECR (Elastic Container Registry) コスト:コンテナイメージの保存に使用する場合。

5. Fargateスポットの利用

Fargateスポットを使用すると、通常のFargate価格と比較して最大70%のコスト削減が可能です。ただし、スポットタスクは中断される可能性があるため、耐障害性のあるアプリケーションに適しています。

6. コスト最適化のヒント

  1. タスクサイズの最適化:必要最小限のvCPUとメモリを割り当てる。
  2. Auto Scalingの活用:需要に応じて自動的にタスク数を調整する。
  3. Fargateスポットの利用:中断を許容できるワークロードにはスポットを使用する。
  4. コンテナの最適化:効率的なDockerイメージを作成し、起動時間を短縮する。
  5. CloudWatch Metricsの活用:リソース使用状況を監視し、過剰なプロビジョニングを避ける。

7. 料金シミュレーション

AWS Pricing Calculatorを使用して、ECS (Fargate) の料金をシミュレーションできます。

例:月間稼働時間720時間(24時間×30日)のアプリケーション

  1. 小規模設定:
  • vCPU: 0.25
  • メモリ: 0.5 GB
  • 月間コスト: 約21.32 USD
  1. 中規模設定:
  • vCPU: 1
  • メモリ: 2 GB
  • 月間コスト: 約85.28 USD
  1. 大規模設定:
  • vCPU: 4
  • メモリ: 8 GB
  • 月間コスト: 約341.12 USD

8. ECS (EC2起動タイプ) との比較

ECSには、EC2起動タイプとFargate起動タイプがあります。EC2起動タイプでは、基盤となるEC2インスタンスのコストが発生しますが、より細かな制御が可能です。一方、Fargateはサーバーレスで管理が簡単ですが、高負荷の長時間実行ワークロードでは比較的高コストになる可能性があります。

適切な選択は、ワークロードの特性、管理の手間、コスト感度によって異なります。

9. まとめ

ECS (Fargate) の料金体系は、使用したリソースに対してのみ課金される柔軟なモデルです。適切なタスクサイズの設定、Auto Scalingの活用、Fargateスポットの利用など、様々な最適化手法を組み合わせることで、効率的なコスト管理が可能です。

定期的にAWS Cost Explorerを使用して使用状況を分析し、必要に応じて設定を調整することをおすすめします。また、新しい料金オプションや最適化手法についても常に最新の情報を確認してください。