Amazon Managed Service for Prometheus を利用すべき理由
Amazon Managed Service for Prometheus では、前払い料金などの義務はありません。取り込まれたメトリクス、クエリされたメトリクス、保存されたメトリクス、収集されたメトリクスに基づき、実際に使用した分のみをお支払いいただきます。その月に使用した分のみ、月末にお支払いいただきます。
Amazon Managed Service for Prometheus の一般提供が開始されました。収集されたメトリクス、取り込まれたメトリクス、保存されたメトリクス、クエリの使用量について課金されます。お客様には、以下の価格表に従って請求が行われます。
AWS 料金見積りツール
Amazon Managed Service for Prometheus の費用を一回の見積もりで算出できます。
料金
Amazon Managed Service for Prometheus は、保護された Prometheus 互換エンドポイントに取り込まれた各メトリクスサンプルをカウントします。ボリューム階層化は、1 か月あたりに取り込まれたメトリクスサンプルの総数に対して適用されます (階層レートについては、以下の料金表を参照してください)。ネイティブヒストグラムの場合、入力された各バケット (ゼロ以外の観測値を持つバケット) はメトリクスサンプル 0.25 としてカウントされ、空のバケットは課金対象になりません。ネイティブヒストグラムの計測サンプルは、通常のメトリクスサンプルと同じサンプル単価で料金設定され、同じボリューム階層にカウントされます。Amazon Managed Service for Prometheus は、保存されるメトリクスサンプルとメトリクスメタデータをギガバイト (GB) 単位で計算します。1 GB は 2³⁰ バイトです。ストレージ料金は、Prometheus のメトリクスサンプル (通常は 1 バイトまたは 2 バイト) およびメタデータによって決定します。Prometheus メトリクスメタデータのサイズは、メトリクスの名前とそれに関連するラベル (キーと値のペア) によって異なります。取り込まれるメトリクス、および保存されるメトリクスの料金は時間単位で案分され、Amazon Managed Service for Prometheus にメトリクスを送信したときにのみ請求されます。なお、AMP のデータ転送 IN 料金は無料です。
Amazon Managed Service for Prometheus は、すべての QueryMetric API リクエストで処理されたクエリサンプル (QSP) を計測します。QSP は、特定の時間範囲に Prometheus クエリ言語 (PromQL) を使用してクエリされたデータポイントの総数です。
Amazon Managed Service for Prometheus コレクターでは、有効になっている時間数と収集されたサンプル数に対して課金されます。
Amazon Virtual Private Cloud (VPC) または Amazon Managed Service for Prometheus コレクターとの VPC ピアリングを使用する場合は、Amazon Elastic Compute Cloud (EC2) のオンデマンド料金ページ で説明されているように、追加料金が発生します。
別途記載がない限り、表示されている料金には、適用される税および関税 (VAT、GST、および適用される消費税を含む) は含まれません。
AWS 無料利用枠
AWS 無料利用枠の一部として、サポートされている AWS リージョン内で Amazon Managed Service for Prometheus を無料で開始できます。無料利用枠のお客様には以下の特典があります。
| 取り込まれるメトリクスサンプル | 4,000 万 |
| クエリにより処理されるサンプル | 2000 億 |
| 保存されるメトリクス | 10 GB |
AWS 無料利用枠の詳細については、こちらをご覧ください。
料金の例
注: ここで示す料金の値は一例です。
例 1 - EC2 および Kubernetes での Amazon Elastic Kubernetes Service (EKS)
この例では、10 ノードの 1 つの Kubernetes クラスターをモニタリングし、1 か月間 (744 時間) にわたり 30 秒ごとに 1 ノードあたり 1,000 個の Prometheus メトリクスを収集するものとします。 この例では、AWS 無料利用枠のメリットは考慮していません。1) メトリクスサンプルの取り込み、2) ストレージ、3) クエリについて、以下の使用量と料金が算出されます。
メトリクスサンプルの取り込みの使用量と料金
まず、取り込まれるメトリクスサンプルの数とこれらのサンプルの料金を計算します。取り込まれる月間のサンプル数は、8 億 9,280 万サンプル (10 ノード x 1 ノードあたり 1,000 メトリクス/収集間隔 30 秒 x 3,600 秒 (1 時間) x 744 時間 (1 か月) = 10 x 1000/30 x 3,600 x 744 = 8 億 9,280 万サンプル) です。
メトリクスの取り込みにかかる月額料金は、80.93 USD (0.90 USD/1,000 万 (最初の 20 億のメトリクスサンプル) x 8 億 9,280 万サンプル) です。
ストレージの使用量と料金
次に、ストレージを GB 単位で計算します。また、保存されるメトリクスサンプルとメトリクスメタデータの料金を計算します。この例では、メトリクスごとに 20 個のラベルがあり、ラベルごとに固有のラベル値が 100 個あるとします。メトリクス名、ラベル、ラベル値を含むメタデータは、毎日保存されます。また、ラベルとラベル値ごとに平均 30 バイト、取り込まれるメトリクスサンプルあたり 2 バイトであると仮定します。
月間ストレージは、0.25 GB (メトリクスメタデータ x 日数/月) + (2 バイト x メトリクスサンプルの数 = (1,000 メトリクス x 20 ラベル x 100 ラベル値 x 30 バイト x 約 30 日/月) + (2 バイト x 8 億 9,280 万サンプル) = 18 億バイト + 17 億 8,560 万バイト = 35 億 8,560 万バイト = 3.34 GB) です。
ストレージの料金は 0.10 USD (0.03 USD/GB x 3.34 GB) です。
クエリの使用量と料金
次に、この例におけるクエリで処理されるサンプル数とクエリのコストを計算します。1 人のエンドユーザーが 1 日平均 2 時間ダッシュボードをモニタリングするとします。また、60 秒ごとにダッシュボードを更新し、1 つのダッシュボードあたり 20 個のチャートウィジェットがあるとします (1 つのウィジェットごとに 1 つの PromQL クエリを想定)。この例では、クエリにより処理されるサンプル数はクエリごとに 100,000 とします。
まず、1 か月あたりのクエリの数を計算することから始めます。この値は、72,000 (エンドユーザー 1 人 x チャート 20 個 x ダッシュボードの表示 2 時間 x 3,600 秒 (1 時間) / 1 回のダッシュボード更新あたり 60 秒 x 約 30 日/月) です。
次に、1 か月あたりのクエリにより処理されるサンプル数を計算します。この値は、72 億 (72,000 クエリ x 100,000/クエリ) です。
これで、クエリの料金を計算できます。この値は 0.72 USD (0.10 USD/10 億サンプル x 処理される 72 億サンプル) です。
この例における月額料金を計算します。
- メトリクスの取り込み料金: 80.93 USD (0.90 USD/1,000 万 x 8 億 9,280 万サンプル)
- ストレージの料金: 0.10 USD (0.03 USD/GB x 3.34 GB)
- クエリのコスト: 0.72 USD (0.10 USD/10 億サンプル x 処理される 72 億サンプル)
合計月額料金 = 80.93 USD (メトリクスの取り込み) + 0.10 USD (ストレージ) + 0.72 USD (クエリ) = 81.75 USD
例 2 - Amazon Managed Service for Prometheus を使用して Amazon Elastic Kubernetes Service (EKS) から Prometheus メトリクスを収集する
この例では、10 ノードを持つ 1 つの Kubernetes クラスターを、Amazon Managed Service for Prometheus コレクターによってノードごとに 1000 個の Prometheus メトリクスを 30 秒ごとに収集し、1 か月間 (744 時間) モニタリングしています。以下の使用量と料金が算出されます。1) メトリクスサンプルの取り込み、2) ストレージ、3) Amazon Managed Service for Prometheus コレクターサンプルの収集とコレクター時間。
メトリクスサンプルの取り込みの使用量と料金
まず、取り込まれるメトリクスサンプルの数とこれらのサンプルの料金を計算します。取り込まれる月間のサンプル数は、8 億 9,280 万サンプル (10 ノード x 1 ノードあたり 1,000 メトリクス / 30 秒ごとの収集間隔 x 3,600 秒 (1 時間) x 744 時間 (1 か月) = 10 x 100/60 x 3,600 x 744 = 8 億9,280 万サンプル) です。
メトリクスの取り込みにかかる月額料金は、80.93 USD (0.90 USD/1,000 万 (最初の 20 億のメトリクスサンプル) x 8 億 9,280 万サンプル) です。
ストレージの使用量と料金
次に、ストレージを GB 単位で計算します。また、保存されるメトリクスサンプルとメトリクスメタデータの料金を計算します。この例では、メトリクスごとに 20 個のラベルがあり、ラベルごとに固有のラベル値が 100 個あるとします。メトリクス名、ラベル、ラベル値を含むメタデータは、毎日保存されます。また、ラベルとラベル値ごとに平均 30 バイト、取り込まれるメトリクスサンプルあたり 2 バイトであると仮定します。
月間ストレージは、0.25 GB (メトリクスメタデータ x 日数/月) + (2 バイト x メトリクスサンプルの数 = (1,000 メトリクス x 20 ラベル x 100 ラベル値 x 30 バイト x 約 30 日/月) + (2 バイト x 8 億 9,280 万サンプル) = 18 億バイト + 17 億 8,560 万バイト = 35 億 8,560 万バイト = 3.34 GB) です。
ストレージの料金は 0.10 USD (0.03 USD/GB x 3.34 GB) です。
収集されるサンプルとコレクターの稼働時間に対する料金
第三に、コレクターの稼働時間に対する料金を計算します。エージェントレスコレクターのコストは、コレクター時間あたり 0.04 USD、収集された 1,000 万サンプルあたり 0.03 USD です。1 つの EKS クラスターには 1 つのコレクターがあると想定しています。1 か月に 744 時間を費やすと仮定すると、1 x 0.04 USD x 744 + 0.03 USD x 8億9,280 万サンプル/1,000 万 = 32.44 USD になります。
エージェントレスコレクターの料金は 32.44 USD です。
この例における月額料金を計算します。
- メトリクスの取り込み料金: 80.93 USD (0.90 USD/1,000 万 x 8 億 9,280 万サンプル)
- ストレージの料金: 0.10 USD (0.03 USD/GB x 3.34 GB)
- エージェントレスコレクターの料金: 32.44 USD (コレクター時間あたり 0.04 USD x 744 時間 + 0.03 USD x 8 億 9,280 万サンプル/1,000 万)
合計金額: 113.47 USD
例 3 - クエリにより処理されるサンプル数 (QSP) と料金の計算
この例では、過去 1 時間の 10,000 ノードの CPU を計算するクエリを実行します。また、それらのノードの 1 つが CPU 容量の 80% を超えたときに通知を行うアラートルールを 1 分ごとに実行します。この例では、AWS 無料利用枠のメリットは考慮されていません。クエリとアラートルールを実行する際の使用量と料金を計算します。
クエリの使用量と料金
まず、メトリクスの時系列の数と指定された時間範囲を特定して、1 つのクエリが処理するサンプルの数を計算します。メトリクスの時系列は、メトリクス名およびキーと値のペアで識別されます。この例では、各ノードに 1 つの CPU メトリクスがあり、その結果、クエリは 1 時間の時間範囲で 10,000 の時系列を処理します。Prometheus クエリは、解像度ステップごとに 1 つのサンプルを処理します。これは、任意の 2 つのデータポイント間の最小時間です。例えば 1 分間のステップで、時間範囲で 1 分あたり 1 サンプルとします。これは、時系列 10,000 件 x 1 時間 x 1 サンプル/分 x 60 分/時間 = 600,000 サンプル/クエリです。
クエリを 1,000 回実行した場合、料金は 0.06 USD (0.10 USD/処理される 10 億サンプル x 600,000 サンプル x 1,000 クエリ) になります。
アラートルールの使用量と料金
選択したメトリクス時系列の数を特定することにより、評価ごとにルールで処理されるサンプルの数を計算します。ルールはノードごとに 1 つの CPU メトリクス時系列を特定するため、評価ごとに 10,000 の時系列を処理します。Prometheus のアラートルールは インスタントクエリ として実行されます。これは、単一の時点で評価されるクエリです。したがって、このアラートルールは、時系列 10,000 件 x 1 サンプル/時系列 = 10,000 サンプルを評価します。このアラームは 1 分ごとに実行されるため、このアラートルールは 10,000 サンプル x 60 分/時間 x 730 時間/月 = 1 か月あたり 438,000,000 サンプルを処理します。
このアラートルールのコストは、1 か月あたり 0.04 USD (0.10 USD/処理される 10 億サンプル * 4 億 3,800 万サンプル) です。
例 4 - ネイティブヒストグラムサンプルの取り込み
この例では、10 ノードを持つ 1 つの Kubernetes クラスターをモニタリングし、1 ノードあたり 1,000 個の Prometheus メトリクスを 60 秒ごとに 1 か月間 (744 時間) 収集するものとします。ノードあたり 1,000 個のメトリクスのうち、998 個は通常のメトリクスサンプルで、残り2 個はネイティブヒストグラムであり、それぞれ 20 個のバケットが含まれています。この例では、AWS 無料利用枠のメリットは考慮されていません。1) メトリクスサンプルの取り込み、2) ストレージについて、以下の使用量と料金が算出されます。
メトリクスサンプルの取り込みの使用量と料金
まず、取り込まれた通常のメトリクスサンプルを計算します。取り込まれる月間の通常サンプル数は、4 億 4,550 万サンプル (10 ノード x 1 ノードあたり 998 メトリクス/収集間隔 60 秒 x 3,600 秒 (1 時間) x 744 時間 (1 か月) = 10 x 998/60 x 3,600 x 744 = 4 億 4,550 万サンプル) です。
次に、ネイティブヒストグラムの計測サンプルを計算します。各ネイティブヒストグラムには 20 個の設定済みバケットがあります。設定済みの各バケットはメトリクスサンプル 0.25 として計測されます。空のバケットは課金対象にはなりません。
ネイティブヒストグラム計測サンプルの月間数は 440 万です (10 ノード x ノードあたり 2 ネイティブヒストグラム x 20 個の設定済みバケット x 0.25/収集間隔 60 秒 x 1 時間あたり 3,600 秒 x 1 か月あたり 744 時間 = 10 x 2 x 20 x 0.25/60 x 3,600 x 744 = 440 万計測サンプル)。
第三に、取り込みの料金の合計を計算します。通常のメトリクスサンプルとネイティブヒストグラム計測サンプルは、ボリューム階層料金の対象として単一のプールに統合されます。
取り込まれた計測サンプルの合計は 4 億 4,990 万個 (通常サンプル 4 億 4,550 万個 + ネイティブヒストグラム計測サンプル 446 万個) です。
4 億 4,990 万が最初の 20 億階層に含まれるため、毎月の取り込みの料金は 40.50 USD (0.90 USD/1,000 万 x 合計 4 億 4,990 万サンプル) です。
ストレージの使用量と料金
ストレージを GB 単位で計算します。また、保存されるメトリクスサンプルとメトリクスメタデータの料金を計算します。この例では、メトリクスごとに 20 個のラベルがあり、ラベルごとに固有のラベル値が 100 個あるとします。メトリクス名、ラベル、ラベル値を含むメタデータは、毎日保存されます。また、ラベルとラベル値ごとに平均 30 バイト、取り込まれるメトリクスサンプルあたり 2 バイトであると仮定します。
月間ストレージは、(メトリクスメタデータ x 月あたりの日数) + (2 バイト x メトリクスサンプルの数) = (1,000 メトリクス x 20 ラベル x 100 ラベル値 x 30 バイト x 約 30 日/月) + (2 バイト x 4 億 4,990 万サンプル) = 18 億バイト + 8 億 9,980 万バイト = 26 億 9,980 万バイト = 2.51 GB です。
ストレージの料金は 0.08 USD (0.03 USD/GB x 2.51 GB) です。
合計月額料金
この例における月額料金を計算します。 メトリクスの取り込み料金: 40.50 USD (0.90 USD/1,000 万 x 従量制サンプル合計 4 億 4,990 万個 = 通常サンプル 4 億 4,550 万個と ネイティブヒストグラム 446 万個を組み合わせたもの) ストレージ料金: 0.08 USD (0.03 USD/GB * 2.51 GB)
合計月額料金 = 40.50 USD (メトリクスの取り込み) + 0.08 USD (ストレージ) = 40.58 USD
注: ネイティブヒストグラムに入力されるバケット数は、メトリクスによって、また時間の経過によって変動する場合があります。入力済み (ゼロ以外) バケットのみが課金対象となり、空のバケットには課金されません。ネイティブヒストグラムの計測サンプル料金は、入力済みバケットの数に応じて線形に増加します。