ElastiCache クラスターをスケールダウンできないのはなぜですか?

所要時間1分
0

Amazon ElastiCache クラスターをスケールダウンできないのはなぜですか?

解決方法

クラスターをスケールダウンできない場合は、次を確認してください。

キャッシュデータのサイズ

新しいノードタイプには、キャッシュデータを格納するのに十分なメモリがない可能性があります。すべての ElastiCache ノードには、Redis エンジンのために予約された専用メモリがあります。例えば、cache.m5.xlarge ノードタイプには 12.93 GiB のストレージがあります。デフォルトでは、ElastiCache は合計メモリの 25% を fullsync やスナップショットの作成などの管理タスク用に予約します。この量は、reserved-memory-percent パラメータを使用して変更できます。

ノードタイプとストレージ量のリストについては、「Amazon ElastiCache の料金」を参照してください。

cache.m5.xlarge ノードを例として使用した場合、Redis エンジンは、キースペースを保持するために 9.69 GiB (maxmemory) を使用できます。残りのメモリは予約メモリとして保持されます。現在のノードタイプは、データに使用できるすべてのメモリを使用します。新しいノードタイプが提供するメモリは 9.69 GiB 未満です。そのため、スケールダウンは失敗します。

info memory コマンドを使用して、ノードの used_memory および maxmemory パラメータに表示されるメモリ使用量を検証します。info memory コマンドでは、メモリが「GB」単位で表示されることに注意してください。「Amazon ElastiCache の料金」ページでは、メモリは「GiB」単位で表示されています。

test.xm4oz6.ng.0001.use1.cache.amazonaws.com:6379> info memory
# Memory
used_memory:5579416
used_memory_human:5.32M
used_memory_rss:11218944
used_memory_rss_human:10.70M
used_memory_peak:5856480
used_memory_peak_human:5.59M
maxmemory:10418941287
maxmemory_human:9.70G

使用可能なメモリがノードで不足している場合は、キャッシュデータを減らしてください。または、容量の大きいノードタイプを選択してください。

使用できるノードの種類

スケールアップまたはスケールダウン時に現在のノードタイプから選択できるノードタイプを確認します。ListAllowedNodeTypeModifications API コールを使用してこれを実行できます。この API コールは、Redis クラスターまたはレプリケーショングループの現在のノードタイプをスケールできる、利用可能なすべてのノードタイプを一覧表示します。

Redis クラスターで利用可能なノードタイプを表示するには、AWS コマンドラインインターフェイス (AWS CLI) から ListAllowedNodeTypeModifications API コールを実行します。結果のリストには、スケールできるノードタイプが表示されます。

注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

$aws elasticache list-allowed-node-type-modifications --replication-group-id checkout-cache-test

{
  "ScaleUpModifications": [
    "cache.r4.16xlarge",
    "cache.r5.12xlarge",
    "cache.r5.24xlarge",
    "cache.r5.4xlarge"
  ],
  "ScaleDownModifications": [
    "cache.m3.2xlarge",
    "cache.m3.large",
    "cache.m3.medium",
    "cache.m3.xlarge",
    "cache.m4.2xlarge",
    "cache.m4.4xlarge",
    "cache.m4.large",
    "cache.m4.xlarge",
    "cache.r3.2xlarge",
    "cache.r3.large",
    "cache.r3.xlarge",
    "cache.r4.2xlarge",
    "cache.r4.large",
    "cache.r4.xlarge",
    "cache.t2.medium",
    "cache.t2.micro",
    "cache.t2.small",
    "cache.t3.medium",
    "cache.t3.micro",
    "cache.t3.small"
  ]
}

注: より小さなノードタイプにスケールするのにかかる時間は、ノードタイプと現在のキャッシュクラスターのデータ量によって異なります。


関連情報

予約メモリの管理

Redis キャッシュクラスターのスケールダウン (AWS CLI)

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ