MemoryDB マルチリージョンでのスケーリング - Amazon MemoryDB

MemoryDB マルチリージョンでのスケーリング

クラスターの需要の変化に応じて MemoryDB のクラスター内のノードタイプまたはシャード数を変更することで、パフォーマンスを向上させたりコストを削減したりできます。MemoryDB マルチリージョンクラスターをスケーリングすると、そのクラスターに含まれているすべてのリージョンクラスターがスケーリングされます。MemoryDB マルチリージョンクラスターでは、オンラインリシャーディングがサポートされています。MemoryDB マルチリージョンクラスターでは、オフラインリシャーディングはサポートされていません。

クラスターを再スケーリングするかどうかの判断条件には、次のようなものがあります。

  • メモリプレッシャー:

    リージョンクラスター内のノードがメモリプレッシャーを受けている場合、より多くのリソースがより効率よくデータを保存してリクエストを処理するようにスケールアウトまたはスケールアップできます。

    ノードがメモリプレッシャーを受けているかどうかは、FreeableMemory、SwapUsage、BytesUsedForMemoryDB、MultiRegionClusterReplicationLag といったメトリクスをモニタリングすることで判断できます。

  • CPU やネットワークボトルネック:

    レイテンシーやスループットがクラスターの問題となっている場合、問題解決のためにスケールアウトまたはスケールアップが必要な場合があります。

    レイテンシーとスループットのレベルは、CPUUtilizationNetworkBytesIn NetworkBytesOutCurrConnections NewConnections and MultiRegionClusterReplicationLag の各メトリクスを監視することでモニタリングできます。

  • クラスターのサイズが大きすぎます:

    現在のクラスターの需要からすると、スケールインまたはスケールダウンを行ってもパフォーマンスに影響せず、コストも削減できます。

クラスターの使用状況をモニタリングし、FreeableMemory、SwapUsage、BytesUsedForMemoryDB、CPUUtilization、NetworkBytesIn、NetworkBytesOut、CurrConnections、NewConnections、および MultiRegionClusterReplicationLag といったメトリクスを使用して安全にスケールインまたはスケールダウンできるかどうかを判断できます。

MemoryDB マルチリージョンクラスターをスケールするには、水平スケーリングと垂直スケーリングの 2 つの方法があります。

  • 水平スケーリングでは、シャードを追加または削除することで、MemoryDB マルチリージョンクラスター内のシャードの数を変更できます。オンラインのリシャーディングプロセスでは、リージョンクラスターによる受信リクエストの処理を継続しながら、スケールイン/スケールアウトすることができます。

  • 垂直スケーリングでは、ノードタイプを変更することで、MemoryDB マルチリージョンクラスターのサイズを変更します。オンラインの垂直スケーリングでは、リージョンクラスターによる受信リクエストの処理を継続しながら、スケールアップ/スケールダウンすることができます。

スケーリングでは、デフォルトで「調整された」更新戦略が使用されます。つまり、すべてのリージョンクラスターが正常にスケールされるか、どのリージョンクラスターもスケールされないかのいずれかです。

スケールアウトオペレーションでは、「調整されない」更新戦略もサポートされます。つまり、正常にスケールアウトされるリージョンクラスターもあれば、スケールアウト試行に失敗するリージョンクラスターもあるということです。1 つのリージョンクラスターのスケールアウトが成功した場合、それ以外のすべてのリージョンクラスターは、それぞれのスケールアウトも成功するまでスケールアウトを再試行し続けます。

すべてのリージョンクラスターがスケールアウトに失敗した場合、マルチリージョンクラスターは「調整されない」スケールアウトに失敗します。

注記

「調整されない」スケールアウトでは、各リージョンクラスターのスケールアウトが異なる時間に行われた場合、リージョンクラスター間での容量の不均衡が長期間続く可能性があります。これにより、MultiRegionClusterReplicationLag メトリクスが増加し、リージョンクラスターのデータが長時間にわたって異なるものになる可能性があります。

MemoryDB マルチリージョンクラスターのリージョンクラスターはレプリカノードの数の設定を異なるものにすることができますが、リージョンクラスター内のシャードはすべて同じ数のレプリカノードを持ちます。

スケールインまたはスケールダウンのいずれかを実行して MemoryDB マルチリージョンクラスターのサイズとメモリ容量を減らす場合は、新しい設定にデータ用の十分なメモリおよび空き IP と十分なエンジンオーバーヘッドがあること、およびリージョンクラスターの MultiRegionClusterReplicationLag メトリクスが数秒以内または 1 分以内であることを確認してください。

AWS マネジメントコンソール、AWS CLI、および MemoryDB API を使用して、MemoryDB マルチリージョンクラスターを水平および垂直にスケールできます。