Amazon Web Services ブログ

Amazon OpenSearch Serverless によるあらゆる規模における費用対効果の高い検索機能

本記事は、2024/8/2 に公開された Amazon OpenSearch Serverless cost-effective search capabilities, at any scale を翻訳したものです。翻訳は Solutions Architect の深見が担当しました。

Amazon OpenSearch Serverless の今までより安価な新しい最低料金を発表できることを喜ばしく思います。
インデクシングと検索のワークロードに対して 0.5 OpenSearch Compute Unit (OCU) がサポートされたことで、最低料金が半分になりました。
Amazon OpenSearch Serverless は、Amazon OpenSearch Service のサーバーレスデプロイオプションで、インフラストラクチャ管理、シャードチューニング、データライフサイクルといった複雑な管理をすることなく、検索および分析ワークロードを実行できます。
OpenSearch Serverless は、使用パターンやアプリケーションの需要が変化しても、一貫して高速なデータ取り込み速度とミリ秒単位のクエリ応答時間を提供するために、自動的にリソースをプロビジョニングおよびスケーリングします。

OpenSearch Serverless には、ニーズに合わせて、時系列、検索、ベクトルの 3 種類のコレクションを提供しています。新しい最低料金は、すべてのコレクションタイプに恩恵をもたらします。ベクトルコレクションは、OpenSearch Serverless を Amazon Bedrock のナレッジベースとして使用する場合の主要なワークロードとして注目されています。OCU が今までの半分で設定できるようになったことで、小規模なベクトルワークロードのコストが半減しました。時系列と検索のコレクションも、POC でのデプロイや開発・テスト環境などの小規模なワークロードに特に恩恵があります。

1 OCU (OpenSearch Capacity Unit) には、1 vCPU、6GB の RAM、120GB のストレージが含まれます。0.5 OCU には、0.5 vCPU、3GB の RAM、60GB のストレージが含まれます。OpenSearch Serverless は、最初に 0.5 OCU から 1 OCU にスケールアップし、その後 1 OCU 単位でスケールアップします。各 OCU はバックエンドストレージとして Amazon Simple Storage Service (Amazon S3) も利用しており、OCU のサイズに関係なく Amazon S3 に格納されたデータの料金をお支払いいただく必要があります。デプロイに必要な OCU の数は、コレクションタイプ、データ取り込みパターン、検索パターンによって異なります。この記事の後半で詳細を説明し、新しい 0.5 OCU ベースがどのようにメリットをもたらすかを対比します。

OpenSearch Serverless はインデクシングと検索の計算を分離し、それぞれに必要なコンピュートリソースに合わせて OCU のセットをデプロイします。OpenSearch Serverless は 2 つの形式でデプロイできます。1) 本番用の冗長性を持つデプロイ、2) 開発またはテスト用の冗長性のないデプロイです。

注: OpenSearch Serverless は、冗長性を持つデプロイの場合、インデクシングと検索の両方で 2 倍の計算リソースをデプロイします。

OpenSearch Serverless のデプロイメントタイプ

次の図は、冗長性を持つデプロイの OpenSearch Serverless のアーキテクチャを示しています。

冗長性を持つデプロイでは、OpenSearch Serverless は各コンピューティングセット (インデクシングと検索) に対して 2 つの基本 OCU を 2 つの Availability Zone にデプロイします。60GB 未満の小規模なワークロードの場合、OpenSearch Serverless は基本サイズとして 0.5 OCU を使用します。最小デプロイは、インデクシングと検索に各 2 つの合計 4 つの基本ユニットです。最低料金は月額約 350 ドル (0.5 OCU が 4 つ) となります。すべての価格は米国東部リージョン、月 30 日ベースで算出されています。通常の運用時には、すべての OCU が稼働してトラフィックに対応します。OpenSearch Serverless は、必要に応じてこのベースラインから自動的にスケールアップします。

冗長性を無効にしたデプロイの場合、OpenSearch Serverless は各コンピューティングセットに対して 1 つの基本 OCU をデプロイします。これは月額 $174 (0.5 OCU 2 つ分) のコストがかかります。

本番環境のデプロイでは可用性を維持するために冗長構成が推奨されます。1 つのアベイラビリティーゾーンがダウンしても、他のゾーンがトラフィックの処理を継続できます。冗長性を無効にしたデプロイは、コストを削減するために開発やテストに適しています。どちらの構成でも、最大 OCU 制限を設定してコストを管理できます。必要に応じてピーク時にはこの制限まで自動的にスケールアップしますが、制限を超えることはありません。

OpenSearch Serverless コレクションとリソース割り当て

OpenSearch Serverless は、コレクションの種類によって計算ユニットを異なる方法で使用し、データを Amazon S3 に保持します。データを取り込む際、OpenSearch Serverless はデータの耐久性とシステムのパフォーマンスを確保するため、リクエストを確認する前に OCU ディスクと Amazon S3 にデータを書き込みます。コレクションの種類に応じて、さらにデータを OCU のローカルストレージに保持し、ストレージとコンピューティングのニーズに合わせてスケーリングします。

時系列コレクションタイプは、ローカルストレージに保持するデータ量を制限し、残りのデータを Amazon S3 に保持することで、コスト効率が高くなるように設計されています。必要な OCU の数は、データ量とコレクションの保持期間によって異なります。OpenSearch Serverless がワークロードに使用する OCU の数は、デフォルトの最小 OCU 数、または OpenSearch Serverless データライフサイクルポリシーで定義された最新のデータを保持するために必要な最小 OCU 数のうち、大きい方になります。たとえば、1 日あたり 1 TiB のデータを取り込み、保持期間が 30 日の場合、最新のデータのサイズは 1 TiB になります。インデクシングには 20 OCU [10 OCU x 2] が必要で、検索には別の 20 OCU [10 OCU x 2] が必要になります (OCU あたり 120 GiB のストレージに基づく)。Amazon S3 内の古いデータにアクセスすると、クエリレスポンスの待ち時間が長くなります。古いデータに対するこのクエリ待ち時間のトレードオフは、OCU コストを節約するためのものです。

ベクトルコレクションタイプは、ベクトルグラフを RAM に格納し、インデックスをディスクに格納します。ベクトルコレクションはインデックスデータを OCU ローカルストレージに保持します。ベクトルワークロードのサイズを決める際は、両方のニーズを考慮する必要があります。OCU の RAM 上限は OCU のディスク上限よりも早く到達するため、ベクトルコレクションは RAM の容量に制限されます。

OpenSearch Serverless は、ベクトルコレクションに対して OCU リソースを次のように割り当てます。1 OCU では、オペレーティングシステムに 2 GB、Java ヒープに 2 GB、残りの 2 GB をベクトルグラフに使用します。OpenSearch インデックスには 120 GB のローカルストレージを使用します。ベクトルグラフに必要な RAM は、ベクトル次元、格納されるベクトル数、選択されたアルゴリズムによって異なります。OpenSearch における 10 億規模のユースケースに適した k-NN アルゴリズムの選定 では、OpenSearch Serverless デプロイ時のベクトル RAM ニーズを事前に計算するためのレビューと公式が紹介されています。

注: システムの多くの動作は 2024 年 6 月時点の仕様に基づいて説明されています。新しいイノベーションによってコストが継続的に削減されていくため、今後数か月をかけて継続的に確認してください。

サポートされている AWS リージョン

OpenSearch Serverless の新しい OCU の最小値のサポートが、OpenSearch Serverless をサポートするすべてのリージョンで利用可能になりました。OpenSearch Service の可用性の詳細については、AWS リージョナルサービスリストを参照してください。OpenSearch Serverless の詳細については、こちらのドキュメントを参照してください。

結論

0.5 OCU の導入により、Amazon OpenSearch Serverless の最低料金が大幅に削減されます。
データセットが小さく、使用量が限られている場合は、低コストの恩恵を受けることができます
このソリューションのコスト効率の高さと、検索および分析ワークロードの管理の簡素化により、トラフィック需要が変動しても、円滑な運用が保証されます。

著者について

Satish Nandi は、Amazon OpenSearch Service のシニアプロダクトマネージャーです。
OpenSearch Serverless と地理空間情報に注力しており、ネットワーキング、セキュリティ、ML、AI の分野で長年の経験を持っています。
コンピューターサイエンスの学士号と起業家精神の MBA を取得しています。
余暇時間には、飛行機の操縦、ハンググライダー、バイクに乗ることが好きです。

Jon Handler は、カリフォルニア州パロアルトに拠点を置く Amazon Web Services のシニアプリンシパルソリューションアーキテクトです。Jon は OpenSearch と Amazon OpenSearch Service を担当し、検索やログ分析のワークロードを AWS Cloud に移行したいさまざまな顧客に対して支援とガイダンスを提供しています。AWS に入社する前は、ソフトウェア開発者として、大規模な e コマース検索エンジンのコーディングに 4 年間従事していました。Jon は、ペンシルベニア大学で文学士号を、ノースウェスタン大学でコンピューターサイエンスと人工知能の理学修士号と博士号を取得しています。