インスタンスとノードの仕様

このページでは、Memorystore for Valkey インスタンスのインスタンスとノードの仕様について説明します。インスタンスの作成方法については、インスタンスの作成をご覧ください。

ノードタイプの選択

インスタンスのシャードはすべて、選択した同じノードタイプを使用します。インスタンスに最適なノードタイプは、価格、パフォーマンス、キースペース容量の要件によって異なります。

standard-small ノードタイプを使用すると、小規模なインスタンスをプロビジョニングし、他のノードタイプよりも小さな増分でインスタンスを拡張し、コストを低く抑えることができます。また、standard-small には、合計 vCPU 数が多くなるほどより多くのノードにキースペースを分散できるという利点もあります。小規模なノードのキースペースの合計容量がデータニーズに対して十分である限り、highmem-medium と比較してコスト パフォーマンスが向上します。

highmem-medium が提供するよりも多くのインスタンス容量が必要な場合にのみ、highmem-xlarge ノードタイプを選択することをおすすめします。highmem-xlarge ノードタイプはサイズ highmem-medium の 4 倍ですが、vCPU がより大きなノードに追加されたときに(スケールアップ)、Valkey のパフォーマンスは直線的にスケーリングされないため、パフォーマンスは 4 倍になりません。代わりに、コスト パフォーマンスを向上させるには、インスタンスにノードを追加してスケールアウトする必要があります。

ノードタイプの仕様

ノードの容量と特性は、選択した 4 つの使用可能なノードタイプによって異なります。

キースペースの容量と予約済みオーバーヘッド

ノードタイプ デフォルトの書き込み可能なキースペース容量 ノードの合計容量
shared-core-nano 1.12 GB 1.4 GB
standard-small 5.2 GB 6.5 GB
highmem-medium 10.4 GB 13 GB
highmem-xlarge 46.4 GB 58 GB

Memorystore では、メモリ不足(OOM)エラーを防ぐためにインスタンス容量の一部が自動的に確保されます。これにより、キーの読み取りと書き込みがスムーズに行われます。メモリの上限とストレージの詳細は次のとおりです。

  • ストレージのカスタマイズ: デフォルト設定を使用することをおすすめしますが、maxmemory 構成を使用して予約済みストレージの量を調整することもできます。maxmemory の詳細については、サポートされているインスタンス構成をご覧ください。

  • 利用できるストレージはどのくらいですか? 前の表のデフォルトの書き込み可能なキースペース容量の列をご覧ください。これは、鍵のデフォルトのストレージ量が表示されます。

  • ストレージの最大化: 許容されるストレージを最大にする場合、maxmemory 構成を 100% に設定した場合に、[ノードの合計容量] 列にストレージの上限が表示されます。ただし、maxmemory の値をデフォルト設定よりも大きくすることはおすすめしません。

  • shared-core-nano ノードタイプには 1.12 GB のハードリミットがあり、maxmemory 構成では変更できません。

ノードの特性

ノードタイプ vCPU 数 SLA 提供 最大クライアント数 クライアントの最大メモリ(maxmemory-clients 構成
shared-core-nano 0.5 いいえ 5,000 12%
standard-small 2 16,000(デフォルト)。最大値は 32,000 7%
highmem-medium 2 32,000(デフォルト)。最大値は 64,000 7%
highmem-xlarge 8 64,000 4%

インスタンスの仕様

このセクションでは、インスタンス形状、ノードタイプ、レプリカ数に応じた、最小と最大のインスタンス容量を示します。

最小インスタンス形状別の最小書き込み可能容量

ノードのタイプとサイズ 最小インスタンス形状(3 ノード)を使用した最小書き込み可能容量1
shared-core-nano - 1.4 GB 4.2 GB
standard-small - 6.5 GB 19.5 GB
highmem-medium - 13 GB 39 GB
highmem-xlarge - 58 GB 174 GB

1 書き込み可能な容量は、キーの書き込みに使用できるストレージ容量です。最小書き込み可能容量は、選択したレプリカの数の影響を受けません。

インスタンス形状のある最大書き込み可能容量

ノードのタイプとサイズ 250 個のプライマリ ノードと ノードあたり 0 個のレプリカのインスタンス形状での最大容量 125 個のプライマリ ノードとノードあたり 1 個のレプリカのインスタンス形状での最大容量 83 個のプライマリ ノードとノードあたり 2 個のレプリカのインスタンス形状での最大容量
shared-core-nano - 1.4 GB 350 GB 175 GB 116.2 GB
standard-small - 6.5 GB 1,625 GB 812.5 GB 539.5 GB
highmem-medium - 13 GB 3,250 GB 1,625 GB 1,079 GB
highmem-xlarge - 58 GB 14,500 GB 7,250 GB 4,814 GB

サポートされていないインスタンス形状

4 つのノードのみのインスタンスは使用できません。このインスタンス形状は、ゾーンの停止の自動処理など、複数のゾーンでの高可用性を確保するためにサポートされていません。

パフォーマンス

us-central1 リージョンで OSS メモリ階層ベンチマーク ツールを使用して、2 vCPU ノード(standard-smallhighmem-medium)ごとに、マイクロ秒のレイテンシと 1 KiB のデータサイズで、1 秒あたり 120,000 ~ 130,000 のオペレーションが実行されました。

実際のワークロードまたは本番環境のトラフィックに似た合成ワークロードで独自のベンチマークを実施することをおすすめします。また、ワークロードの急増や予期しないトラフィックに備えて、インスタンスのサイズをバッファ(または「ヘッドルーム」)を確保することをおすすめします。詳しいガイダンスについては、ベスト プラクティスをご覧ください。

インスタンス エンドポイント

このセクションでは、各インスタンスにある 2 つのエンドポイントについて説明します。

検出エンドポイント

各インスタンスには、クライアントが接続する検出エンドポイントがあります。これは、IP アドレスとポート番号の組み合わせです。インスタンスの検出エンドポイントを見つける方法については、インスタンスの検出エンドポイントを表示するをご覧ください。

クライアントはノードの検出にもこれを使用します。クライアントはディスカバリー エンドポイントを使用してインスタンスのノードトポロジを取得し、サードパーティ クライアントをブートストラップし、安定した状態に保ちます。結果として得られるノードトポロジは、サードパーティ クライアントによってメモリ内にキャッシュされるノード エンドポイント(IP とポートの組み合わせ)を提供します。これにより、クライアントによって、他のアプリケーションを変更することなく、更新とリダイレクトが自動的に処理されます。クライアント検出の動作とベスト プラクティスについては、クライアント検出をご覧ください。

検出エンドポイントは、複数のゾーンにまたがる複数のノードによって支えられており、インスタンス トポロジを提供するため、可用性が高くなります。バックエンド ノードで障害やノードの更新に直面しても、エンドポイントを介したトポロジの提供は堅牢です。

検出エンドポイントの動作は次のとおりです。

  1. インスタンスの検出エンドポイントは、メンテナンス中や、スケールイン、スケールアウト、レプリカ数の変更などの操作を行っても、インスタンスのライフサイクル全体で変更されません。

  2. ノード エンドポイントは変更される可能性があり、時間の経過とともにノードが追加および削除されるとリサイクルされます。理想的には、トポロジの更新とリダイレクトを通じてこれらの変更を自動的に処理できるサードパーティのクライアントを使用することをおすすめします。サードパーティ クライアントの例については、クライアント ライブラリのコードサンプルをご覧ください。アプリケーションには、依存関係や特定のインスタンスでノード エンドポイントが変更されないという前提があってはなりません。

データ エンドポイント

各インスタンスには、Memorystore for Valkey がクライアント接続に使用する Private Service Connect データ エンドポイントもあります。これに直接接続しないでくださいが、Memorystore for Valkey は、このエンドポイントを使用してクライアントをインスタンスのノードに接続します。