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

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

ノードタイプの選択

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

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

highmem-xlarge ノードタイプを選択するのは、highmem-medium で提供されるインスタンス容量よりも多くのインスタンス容量が必要な場合のみにおすすめします。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%

インスタンスの仕様

このセクションでは、インスタンス シェイプ、ノードタイプ、レプリカ数に応じたインスタンス容量の最小値と最大値を示します。Memorystore for Valkey は、クラスタモードのインスタンスのみをサポートします。

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

ノードのタイプとサイズ 最小インスタンス形状(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

1、2、または 4 つのシャードのインスタンス シェイプを選択する

プレビュー ステータスのため、1、2、または 4 個のシャードを備えたインスタンスを作成する場合は、次の要件と動作があります。

  • 1、2、または 4 つのシャードを使用するには、1、2、または 4 つのシャードでインスタンスを作成する必要があります。

  • 1、2、4 つのシャードを持つインスタンスを作成するには、gcloud CLI を使用する必要があります。

  • 3 つ、5 つ、もしくはそれ以上のシャードで作成されたインスタンスを、1 つ、2 つ、または 4 つのシャードにスケーリングすることはできません。

  • 1、2、または 4 つのシャードで作成されたインスタンスはプレビュー リリース フェーズにあり、プレビュー リリース フェーズの制限が適用されます。

  • 1、2、または 4 つのシャードで作成されたインスタンスは、任意のインスタンス シェイプに何度でもスケーリングできます。たとえば、4 つのシャードを持つインスタンスを 8 つのシャードにスケーリングし、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 は、このエンドポイントを使用してクライアントをインスタンスのノードに接続します。