Amazon ElastiCache ノードで実際に利用可能なメモリを判断したいです。
解決策
各サポートノードタイプで利用可能なメモリを GiB 単位で確認するために、「ElastiCache の料金」を参照してください。
デフォルトのパラメータグループでは、ElastiCache はバックアップとフェイルオーバー操作用にメモリの一定割合を予約します。Redis OSS バージョン 4.0.10 以降の ElastiCache で作成したクラスターでは、ElastiCache は reserved-memory-percent パラメータを使用してバックアップとフェイルオーバー操作を管理します。これらのクラスターでは、合計メモリの 25% を予約することをおすすめします。
Amazon ElastiCache Serverless クラスターでは、reserved-memory-percent はデフォルトで 25% に設定されます。この設定は変更できません。
注: パラメータグループで reserved-memory-percent 値を減らす変更を行った場合、バックアップまたはフェイルオーバー操作が影響を受ける可能性があります。この結果、高負荷時に障害が発生する場合があります。
実際に利用可能なメモリは、クラスターに設定された reserved-memory-percent パラメータに依存します。このメモリ量が maxmemory です。
たとえば、Redis クラスターがデフォルトのパラメータグループで cache.t3.micro ノードタイプを使用する場合、クラスターの合計メモリは 0.5 GiB です。このクラスターの reserved-memory-percent パラメータは、25% です。したがって、利用可能なメモリは 0.5 GiB - 25% = 0.375 GiB です。
ElastiCache ノードで実際に利用可能なメモリを確認するには、次の手順を実行します。
- クラスターに接続します。
- Memorymaxmemory 値を確認するには、info memory コマンドを実行します。
出力例:
172.31.35.93:6379> info memory# Memorymaxmemory:402653184
重要: Memorymaxmemory 値は、バイト単位です。Redis エンジンは、メモリの表記をバイトまたは MB 単位で行います。AWS ドキュメントは、メモリの表記を GiB 単位で行います。上記の例では、402653184 バイトは 0.375 GiB と等価です。
関連情報
ElastiCache for Valkey と ElastiCache for Redis OSS で予約メモリを管理する