ニュース

Elasticsearch Service:データ転送とスナップショットストレージの新価格

Elasticsearch Serviceでは2018年8月、デプロイテンプレートや新インスタントタイプ、Hot-Warmアーキテクチャーのサポートといった多数の新機能を追加するとともに料金の大幅な引き下げを実施しました。 この引き下げには、スナップショットストレージとデータ転送の料金を使用量に応じて区分し、使用量と費用をよりコントロールしやすくするという変更も含まれていました。プロモーション期間中は料金が割引になっていたため、月々の請求書では0円の表示になる場合もありました。

このスナップショットストレージとデータ転送のプロモーション割引は2019年2月28日に終了します。本ブログ記事では、今後の料金体系の詳しい情報と、費用をコントロールするコツをお伝えします。

スナップショットストレージの料金体系

スナップショットストレージの料金は、基盤として使用するIaaSオブジェクトストア(例:AWSのS3、Google cloudのGCS)にバックアップスナップショットを格納する費用に関連付けられています。スナップショットストレージの費用はElasticsearchインデックスが稼働するディスクストレージの費用ではありません。ディスクストレージの費用はクラスター(または“デプロイ”と呼びます)の費用に含まれています。

多くのクラウドサービスプロバイダーと同様、Elasticのスナップショットとストレージ費用は2つの側面から算出されます。

  • ストレージサイズ(GB/月)
  • ストレージAPIリクエスト数(1,000リクエスト/月)

ストレージサイズは、アカウントに紐付けられたすべてのデプロイで生じる全スナップショットが占めるストレージ容量の測定値(GB)です。すべてのリージョンに同じユニット価格が適用されます。Elasticは料金計算のため、ストレージの容量を1時間毎に測定し、そこから1か月間の平均容量を求めています。その月の平均容量(GB/月)により、ご利用アカウントの請求月(カレンダーの月単位)の料金が決まります。

たとえば2019年4月に使用した容量が10日間は100GB、残り20日間が130GBだった場合、月の平均容量は(100×10 + 130×20)÷30で120GB/月となります。

ストレージAPIリクエストの費用は、アカウントに紐付けられたすべてのデプロイで実行されたスナップショットのバックアップ、または復元のリクエストの総数に基づいて計算されます。ストレージサイズとは異なり、リクエスト数はその請求月内に累積で加算した総数です。費用は1,000リクエストあたりの料金で算出します。

本記事の執筆時点(2019年2月1日)で、それぞれの価格体系は次の通りです。

  • ストレージサイズ - 1GB/月あたり$0.033
  • ストレージAPIリクエスト数 - APIリスエスト1,000回あたり$0.0018

すべてのアカウントのデプロイには、100GB/月の無料プランが提供されます。ストレージ使用量が100GB以下の場合は、費用がかかりません。100GB/月を超えると、100GBを超えて使用した部分のみ費用が発生します。

またすべてのアカウントのデプロイで、1か月あたり100,000回以下のAPIリクエストにも無料プランが適用されます。100,000回を超えた場合、100,000回を超えて使用した部分のみ費用が発生します。

注:単一のスナップショット操作は、単一のAPI呼び出しと同じではありません。複数のファイルが書き込まれたり、削除されたり、変更されたりすると、単一のスナップショット操作に関連する何千件ものAPI呼び出しが発生する可能性があります。当社が記載している価格は1000件のAPI呼び出しの価格です。つまり、1000回のAPI呼び出しで0.0018ドルの場合、100万回の呼び出しでは1.8ドルとなります。

データ転送の料金体系

データ転送料金は、Elasticsearchデプロイへの入力/出力、およびデプロイ内で転送されるデータ容量(ペイロード)に基づいて算出されます。

Elasticでは、次の3つの側面からデータ転送料金を算出・請求しています。

  • 入力データ(無料)
  • 出力データ
  • デプロイ内データ

入力データは、クラスターに入るすべてのトラフィックです。データペイロードを伴うインデックスリクエストや、クラスターに送られるクエリ(サイズはかなり小さいですが)が含まれます。

出力データは、クラスターから出るすべてのトラフィックです。検索結果や、クラスターから出力される監視データがこれに含まれます。異なるリージョンやインターネット、同じリージョンの別のアカウントなど、データの出力先に関わらず同じ料金が適用されます。

デプロイ内データは、デプロイのコンポーネント間を移動するトラフィックです。主に、さまざまなアベイラビリティゾーンにまたがるクラスターのノード間のデータ同期(Elasticsearchクラスターシャーディングによる自動管理)が含まれます。この他に、クラスターの複数のノードにまたがって実行される検索クエリに関連するデータも含まれます。シングルノードのElasticsearchクラスターでも、Kibanaや機械学習、APMなどのノードとの間でデータが行き交うことによりクラスター内の費用が生じることがあり、注意が必要です。とはいえ、こうしたケースで生じる費用は非常に低額です。

ストレージAPIリクエストの計算方法と同様、データ転送の使用量計算はその請求月内に累積で加算されます。

本記事の執筆時点(2019年2月1日)で、それぞれの価格体系は次の通りです。

  • 入力データ - 転送量/GBあたり$0(入力データは無料です)
  • 出力データ - 転送量/GBあたり$0.032
  • デプロイ内データ - 転送量/GBあたり$0.016

すべてのアカウントの全デプロイで、出力データとデプロイ内データにそれぞれ100GB/月の無料プランが提供されます。100GB/月の無料プラン容量を超えると、100GBを超えて使用した部分のみ費用が発生します。

FAQ

スナップショットストレージとデータ転送のコストを確認するには?

スナップショットストレージとデータ転送のコストは、請求書の内訳項目に記載されています。ユーザーコンソールからダウンロードしてご確認いただくことができます。さらに今後のアップデートで、ユーザーコンソールで費用を1日単位で表示できるようにする予定です。翌月の請求を予測しやすくなります。

請求書の例:

新しい料金体系はいつから適用される?

2019年2月1日の請求書(2019年1月のご使用分)より新方式での表示となりますが、請求は発生しません。翌月からのデータ転送とストレージの料金の目安として提示されます。2019年3月1日の請求書(2019年2月のご使用分)についても同じです。3月1日以降の使用がご請求対象となり、2019年4月1日の請求書(2019年3月のご使用分)から実際のご請求が発生します。

スナップショットストレージの費用をコントロールするには?

Elasticsearchのスナップショットは、スナップショットイベントのたびに増分データを保存します。したがって有効なスナップショットサイズは、現在のインデックスサイズよりも大きいということになります。クラスターで使用するデータが大きくなるほど、またデータの変更(追加/削除/修正)が頻繁なほどサイズは大きくなります。より細やかなコントロールのため、Elasticではただデータの変化を記録するスタイルから一歩進んだ機能も導入しています。Elastic Cloudのユーザーコンソールで、[Snapshot]のサブメニューにある[Snapshot count]という高度なパラメーターがその機能です。現在、デフォルトでは100スナップショット(ロールオーバー)に設定されていますが、2-100の間で数値を変更することができます。

注意点:スナップショットの数を減らすことで、インデックスの保持期間を効果的に短縮させることができます。つまり、直近の復元ポイントだけが残り、復元ポイントが消えるまでの時間が短くなります。

APIリクエストはスナップショットを取るたび、または復元が行われるたびに実行されます。復元は一般的に高い頻度で行われるものではありません。一方スナップショットは常に最新の復元ポイントを保つため、デフォルトでは30分おきに実施されます。Elasticは[Snapshot interval]というパラメーターを提供しています。このパラメーターを使用すると、スナップショット間隔を最長で24時間まで延長でき、APIリクエストを減らすことができます。

注意点:スナップショットの間隔を延長すると、部分的なデータロスを生じる可能性があります。スナップショットが古くなるため、復元操作を行う際、最後のスナップショット以降に変更されたデータが復元されません。

最後に、Elasticsearch APIを使用して何らかのスナップショット作成/復元のロジックを実装した場合は、過度の費用が発生しないようプロセスを確認することをお勧めします。

データ転送費用をコントロールするには?

デプロイ外部やクラスターのノード間のデータ転送については、容易にコントロールすることはできません。ユースケースにおいて、クラスターを使用する機能の設定を変えられるとは限らないためです。頻繁に実行されるバッチクエリがあるケースでは、設定を見直すことができる場合があります。

請求額にどのように影響する?

Elasticsearchはさまざまなユースケースで使用されており、ご利用のアカウントでスナップショットストレージやデータ転送コストを予測することは簡単ではありません。そのため今回2か月間にわたって、請求額をお伝えしますが、実際の請求は0になるというサービスを実施いたします。新しい料金体系での費用を把握する機会としてご活用いただければ幸いです。

ゴールド/プラチナの年間サブスクリプションがある場合、請求額への影響は?

スタンダード、ゴールド、プラチナで既に年間のご契約をいただいているお客様は、2019年1月1日以降に更新されたご契約に切り替わるまでご請求の増額や変更はありません。2019年1月1日以降に年間でサブスクリプションをご購入いただく場合、月々のご契約と同じ新しい料金体系でのご請求となります。

GCPにデプロイしている場合、料金体系は変更される?

はい。本ブログ記事の執筆時点では、Elasticsearch Serviceスナップショットストレージとデータ転送の新料金は、ご利用のすべてのクラウドプロバイダー様で同一の価格となります。