はじめに
今月12月についにGAリリースとなったElastic Cloud Serverlessはどのくらいの料金なのか?
Pricingページは以下にありますが、今回実際にデータを投入して計測してみました。
https://www.elastic.co/pricing/serverless-search
https://www.elastic.co/pricing/serverless-observability
https://www.elastic.co/pricing/serverless-security
Elastic Cloud Serverless - Observablityの料金測定
1. 2024/12/09 23:40頃にログデータを投入
結果のIndexのデータはこの通りでした。
表示されているStorage sizeの合計: 0.4009 GB
計算方法:185.06+56.63+47+35.43+29.79+19.89+14.17+11.78+10.79 = 410.54 MB = 0.4009 GB (410.54/1024)
2. Billingページを確認: 2024/12/10 00:28頃
Ingest行のQuantityがIndex Managementの合計の0.4009 GB と一致しています。
金額にすると、0.4009 GBs * 0.5000 per GB = 0.2005 ECU ($0.2005つまり30円くらい)
3. Billingページを確認: 2024/12/10 09:57時点
- Observabilityの料金レベルは基本的に1つであり、すべてのObservability機能が使えます。(Machine LearningやAI Assistant含む)
- Ingestは2つの測定間で変わらず0.4009 GBのまま(データ投入なければここは増えない)
- Search AI Lakeの行。データ投入から(大体)10時間くらい経過しているので、それを月の時間数で割ってみると、大体数値が表示されている0.0050 GBsと一致しました。
- Quantity期待値: 0.4009 GBs * 10hr/730hr = 0.00549 GBs
- Quantity表示値:0.0050 GBs (概ね合う)
- Search AI Lake行: この10時間分のデータ保持の料金
- 0.0050GBs * $$0.04 GB単価 -> 0.0002 ECU ($0.0002。日本円0.03円くらい)
- 1月保持しているとしたら、0.4009 GBs * 0.04 ECU per GB = 0.016036 ECU (2.4円くらい)
Elastic Cloud Serverless - Securityの料金測定
1. 2024/12/10 00:50頃にログを投入
Observabilityの時と全く同じデータを投入しました。Observabilityよりも内部のIndexで数KB余分にありますが、それ以外は同じStorage Sizeを示しています。
2. Billingページ確認: 2024/12/10 09:57頃
- Securityの方は、使える機能レベルで料金体系がEssentialsとCompleteで分かれており、ここは高い方のCompleteが有効になっていました。
- Ingest の行:0.4009 GBs。これはObservabilityの時と全く同じ値。単価が少しSecurityの方が高く、Observabilityが0.2005 ECUでしたが、Securityは0.2406 ECU ($0.2406, つまり36円くらい)
- Search AI Lakeの行:データ投入から(大体)9時間くらい経過している
- Quantity期待値: 0.4009 * 9hr/730hr = 0.0049.. GBs
- Quantity表示値:0.0044 GBs (概ね合う)
- この9時間分のデータ保持の料金: 0.0002 ECU ( $0.0002、0.03円くらい)
- 1月保持しているとしたら、0.4009 GBs * 0.04 ECU per GB = 0.016036 ECU (2.4円くらい)
Elasticsearch (検索用プロジェクトのこと)
1. 2024/12/10 01:10頃に同じデータを投入。
表示されているStorage sizeの合計: 0.4009 GB
計算方法:30.98+13.29+6.49+4+2.81+1.77+1.67+90563/1024+85109/1024+642/1024 = 233.191640625 MB = 0.227.. GB
2. Billingページの確認:2024/12/10 09:56頃
3. Billingページの確認:2024/12/10 13:33頃
- サーチはPricingの軸が異なる。
- ログ(ドキュメント)投入量ではなく、Ingest VCU。PricingページのVCUの定義がOne VCU contains 1GB of RAM and corresponding compute resources. とのこと。
- Ingest VCU: 2つの測定間では共に2.3333 VCUで変わらず、Ingest VCUはデータ投入しなければ増えないようです。今回は金額としては0.3267 ECU ( $0.3267、49円くらい)
- Search VCU: 2つの測定間で若干増えているが、これはおそらく内部的に発生したわずかな検索の影響か何かか?金額は $0.0751、つまり11.2円くらい
- Retained: ここには書かれていないが、Index Managementから確認されたデータ量の0.227 GBが保存されているデータと仮定し、現在12時間くらい保存されているので、0.227 * 12hr/730hr = 0.00373.. GBsと計算できる。しかしBilling画面の表示はこれより少ない0.0010 GBsなので、保持時間が計測上は12時間未満なのかもしれない。この辺は今後調査。現状ここは0円。
全く何も操作しなかった2日目の料金の状況
全く何も操作をしていない12/10の1日に絞り込んだ金額が以下です。
Observability: 0.005 ECU ( $0.005、0.75円くらい)
Security: 0.005 ECU ( $0.005、0.75円くらい)
Elasticsearch: 0.1153 ECU ( $0.1153、17円くらい)
この1日の金額を元に、仮に1ヶ月(30日)このServerlessプロジェクトを放置していたらおおよそ以下となります。
Observability: 0.150 ECU ( $0.150、22.5円くらい)
Security: 0.150 ECU ( $0.150、22.5円くらい)
Elasticsearch: 3.459 ECU ( $3.459、519円くらい)
その後、数日経過した時の状況
データを置いているだけの分には、少額かかり続けるだけです。
注意: ObservabilityとSecurityのデータ保持にかかる料金は現在プロモーション期間のため、除外されています。プロモーション終了後は少額発生します。
おまけ:投入のパフォーマンス
今回はRallyを使ってログをそれぞれ投入しているので、Rallyの統計結果があります。
Mean Throughputだけで比較すると、3つで違いはそれほどみられませんでした。
- Observability bulk-index: 2465.72
- Security bulk-index: 2296.31
- Search bulk-index: 2342.57
Observability
2024-12-09 14:46:14,268 ActorAddr-(T|:43959)/PID:3916 esrally.reporter INFO | Metric | Task | Value | Unit |
|------------------------------:|---------------------------------------:|----------:|-------:|
| Min Throughput | insert-pipelines | 2.04 | ops/s |
| Mean Throughput | insert-pipelines | 2.04 | ops/s |
| Median Throughput | insert-pipelines | 2.04 | ops/s |
| Max Throughput | insert-pipelines | 2.04 | ops/s |
| 100th percentile latency | insert-pipelines | 7306.85 | ms |
| 100th percentile service time | insert-pipelines | 7306.85 | ms |
| error rate | insert-pipelines | 0 | % |
| Min Throughput | validate-package-template-installation | 1.14 | ops/s |
| Mean Throughput | validate-package-template-installation | 1.14 | ops/s |
| Median Throughput | validate-package-template-installation | 1.14 | ops/s |
| Max Throughput | validate-package-template-installation | 1.14 | ops/s |
| 100th percentile latency | validate-package-template-installation | 876.151 | ms |
| 100th percentile service time | validate-package-template-installation | 876.151 | ms |
| error rate | validate-package-template-installation | 0 | % |
| Min Throughput | update-custom-package-templates | 2.17 | ops/s |
| Mean Throughput | update-custom-package-templates | 2.17 | ops/s |
| Median Throughput | update-custom-package-templates | 2.17 | ops/s |
| Max Throughput | update-custom-package-templates | 2.17 | ops/s |
| 100th percentile latency | update-custom-package-templates | 5536.01 | ms |
| 100th percentile service time | update-custom-package-templates | 5536.01 | ms |
| error rate | update-custom-package-templates | 0 | % |
| Min Throughput | bulk-index | 458.92 | docs/s |
| Mean Throughput | bulk-index | 2465.72 | docs/s |
| Median Throughput | bulk-index | 2645.33 | docs/s |
| Max Throughput | bulk-index | 3139.56 | docs/s |
| 50th percentile latency | bulk-index | 3895.14 | ms |
| 90th percentile latency | bulk-index | 6488.42 | ms |
| 100th percentile latency | bulk-index | 10785.4 | ms |
| 50th percentile service time | bulk-index | 3895.14 | ms |
| 90th percentile service time | bulk-index | 6488.42 | ms |
| 100th percentile service time | bulk-index | 10785.4 | ms |
| error rate | bulk-index | 0 | % |
Security
2024-12-09 15:50:30,903 ActorAddr-(T|:33389)/PID:4395 esrally.reporter INFO | Metric |
Task | Value | Unit |
|------------------------------:|---------------------------------------:|----------:|-------:|
| Min Throughput | insert-pipelines | 2.27 | ops/s |
| Mean Throughput | insert-pipelines | 2.27 | ops/s |
| Median Throughput | insert-pipelines | 2.27 | ops/s |
| Max Throughput | insert-pipelines | 2.27 | ops/s |
| 100th percentile latency | insert-pipelines | 6564.03 | ms |
| 100th percentile service time | insert-pipelines | 6564.03 | ms |
| error rate | insert-pipelines | 0 | % |
| Min Throughput | validate-package-template-installation | 1.04 | ops/s |
| Mean Throughput | validate-package-template-installation | 1.04 | ops/s |
| Median Throughput | validate-package-template-installation | 1.04 | ops/s |
| Max Throughput | validate-package-template-installation | 1.04 | ops/s |
| 100th percentile latency | validate-package-template-installation | 957.445 | ms |
| 100th percentile service time | validate-package-template-installation | 957.445 | ms |
| error rate | validate-package-template-installation | 0 | % |
| Min Throughput | update-custom-package-templates | 2.08 | ops/s |
| Mean Throughput | update-custom-package-templates | 2.08 | ops/s |
| Median Throughput | update-custom-package-templates | 2.08 | ops/s |
| Max Throughput | update-custom-package-templates | 2.08 | ops/s |
| 100th percentile latency | update-custom-package-templates | 5756.25 | ms |
| 100th percentile service time | update-custom-package-templates | 5756.25 | ms |
| error rate | update-custom-package-templates | 0 | % |
| Min Throughput | bulk-index | 453.89 | docs/s |
| Mean Throughput | bulk-index | 2296.31 | docs/s |
| Median Throughput | bulk-index | 2512.78 | docs/s |
| Max Throughput | bulk-index | 2895.94 | docs/s |
| 50th percentile latency | bulk-index | 4112.97 | ms |
| 90th percentile latency | bulk-index | 8182.64 | ms |
| 100th percentile latency | bulk-index | 11173.9 | ms |
| 50th percentile service time | bulk-index | 4112.97 | ms |
| 90th percentile service time | bulk-index | 8182.64 | ms |
| 100th percentile service time | bulk-index | 11173.9 | ms |
| error rate | bulk-index | 0 | % |
Search
2024-12-09 16:08:06,702 ActorAddr-(T|:35495)/PID:4561 esrally.reporter INFO | Metric | Task | Value | Unit |
|------------------------------:|---------------------------------------:|----------:|-------:|
| Min Throughput | insert-pipelines | 1.98 | ops/s |
| Mean Throughput | insert-pipelines | 1.98 | ops/s |
| Median Throughput | insert-pipelines | 1.98 | ops/s |
| Max Throughput | insert-pipelines | 1.98 | ops/s |
| 100th percentile latency | insert-pipelines | 7527.79 | ms |
| 100th percentile service time | insert-pipelines | 7527.79 | ms |
| error rate | insert-pipelines | 0 | % |
| Min Throughput | validate-package-template-installation | 1.17 | ops/s |
| Mean Throughput | validate-package-template-installation | 1.17 | ops/s |
| Median Throughput | validate-package-template-installation | 1.17 | ops/s |
| Max Throughput | validate-package-template-installation | 1.17 | ops/s |
| 100th percentile latency | validate-package-template-installation | 851.888 | ms |
| 100th percentile service time | validate-package-template-installation | 851.888 | ms |
| error rate | validate-package-template-installation | 0 | % |
| Min Throughput | update-custom-package-templates | 2.43 | ops/s |
| Mean Throughput | update-custom-package-templates | 2.43 | ops/s |
| Median Throughput | update-custom-package-templates | 2.43 | ops/s |
| Max Throughput | update-custom-package-templates | 2.43 | ops/s |
| 100th percentile latency | update-custom-package-templates | 4934.01 | ms |
| 100th percentile service time | update-custom-package-templates | 4934.01 | ms |
| error rate | update-custom-package-templates | 0 | % |
| Min Throughput | bulk-index | 440.07 | docs/s |
| Mean Throughput | bulk-index | 2342.57 | docs/s |
| Median Throughput | bulk-index | 2518.03 | docs/s |
| Max Throughput | bulk-index | 2979.37 | docs/s |
| 50th percentile latency | bulk-index | 4113.37 | ms |
| 90th percentile latency | bulk-index | 7248 | ms |
| 100th percentile latency | bulk-index | 11192.4 | ms |
| 50th percentile service time | bulk-index | 4113.37 | ms |
| 90th percentile service time | bulk-index | 7248 | ms |
| 100th percentile service time | bulk-index | 11192.4 | ms |
| error rate | bulk-index | 0 | % |
まとめ
400MB程度のデータを投入して半日程度経過した時点でのコスト($1=150円とする)
注意:データ入れただけです。最小限のコストと思ってください。操作やオプション次第でこれより増える可能性あります。
- Observavility ... 30円
- Security (Complete版) ... 36円
- Search ... 60円
上記400MBのデータを入れて仮に1ヶ月(30日)このServerlessプロジェクトを放置していたらおおよそ以下となります。
Observability: 0.150 ECU ( $0.150、22.5円くらい)
Security: 0.150 ECU ( $0.150、22.5円くらい)
Elasticsearch: 3.459 ECU ( $3.459、519円くらい)
簡単な検証でElasticを試す場合は、従来のElastic Cloud HostedよりもこのServerlessの方がお得になる可能性が高いです。
データを大量投入する場合はどちらを使うか検討するべきですが、Elastic Cloud Hostedの方は適切なサイジングをしないと実際の使用量よりも大きなElastic Cloud Hostedのインスタンスを用意することがよくあるので、Serverlessはその辺の無駄がない分、単価だけでは比較できないところがあります。
従来のElastic Cloud (Hosted)で年間契約している場合、そのクレジットをServerlessに使うこともできますし、つまりそれで割引を受けることもできます。