単一ノード Redis クラスターのスケールダウン - Redis 用 Amazon ElastiCache

単一ノード Redis クラスターのスケールダウン

以下のセクションでは、単一ノード Redis クラスターをより小さいノードタイプにスケールダウンする方法について説明します。新しいより小さいノードタイプがデータと Redis オーバーヘッドのすべてのニーズを満たすのに十分な容量であることを確認するのは、新しいクラスターを長期にわたり適切に運用するために重要です。詳細については、「Redis スナップショットを作成するのに十分なメモリがあることの確認」を参照してください。

単一ノード Redis クラスターのスケールダウン(コンソール)

以下の手順では、ElastiCache コンソールを使用して単一ノード Redis クラスターをより小さいノードタイプにスケールダウンする方法について説明しています。

重要

パラメータグループが reserved-memory を使用して Redis のオーバーヘッド用のメモリを確保する場合、スケーリングを開始する前に、新しいノードタイプ用に適切な容量のメモリを確保するカスタムパラメータグループがあることを確認してください。または、reserved-memory-percent を使用するようにカスタムパラメータグループを変更し、新しいクラスターに対して、パラメータグループを使用することができます。

reserved-memory-percent を使用している場合、これを行う必要はありません。

詳細については、「予約メモリの管理」を参照してください。

単一ノード Redis クラスターをスケールダウンするには (console)

  1. より小さいノードタイプがデータとオーバーヘッドのニーズを満たしていることを確認します。

  2. パラメータグループが reserved-memory を使用して Redis のオーバーヘッド用のメモリを確保する場合、新しいノードタイプ用に適切な容量のメモリを確保するカスタムパラメータグループがあることを確認してください。

    または、reserved-memory-percent を使用するよう、カスタムパラメータグループを変更できます。詳細については、「予約メモリの管理」を参照してください。

  3. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/elasticache/ にある ElastiCache コンソールを開きます。

  4. クラスターのリストから、スケールダウンするクラスターを選択します。このクラスターは、Clustered Redis エンジンではなく Redis エンジンを実行している必要があります。

  5. [Modify] を選択します。

  6. [Modify Cluster] ウィザードで:

    1. [ノードのタイプ] リストから、スケールダウンするノードタイプを選択します。

    2. reserved-memory を使用してメモリを管理している場合、[Parameter Group] リストから新しいノードタイプのために適切な容量のメモリを確保するカスタムパラメータグループを選択します。

  7. スケールダウンプロセスをすぐに実行する場合は、[すぐに適用] チェックボックスをオンにします。[すぐに適用] チェックボックスを選択しないままにすると、スケールダウンプロセスはこのクラスターの次のメンテナンスウィンドウ中に実行されます。

  8. [Modify] を選択します。

  9. クラスターのステータスが [modifying] から [available] に変わると、クラスターは新しいノードタイプにスケーリングされます。アプリケーションでエンドポイントを更新する必要はありません。

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

次の手順では、AWS CLI を使用して単一ノード Redis キャッシュクラスターをスケールダウンする方法について説明します。

単一ノード Redis キャッシュクラスターをスケールダウンするには (AWS CLI)

  1. 以下のパラメータを指定して AWS CLI list-allowed-node-type-modifications コマンドを実行することで、スケールダウンできるノードタイプを調べます。

    • --cache-cluster-id

    Linux, macOS, or Unix 用:

    aws elasticache list-allowed-node-type-modifications \ --cache-cluster-id my-cache-cluster-id

    Windows の場合:

    aws elasticache list-allowed-node-type-modifications ^ --cache-cluster-id my-cache-cluster-id

    上のコマンドによる出力は以下のような JSON 形式になります。

    { "ScaleUpModifications": [ "cache.m3.2xlarge", "cache.m3.large", "cache.m3.xlarge", "cache.m4.10xlarge", "cache.m4.2xlarge", "cache.m4.4xlarge", "cache.m4.large", "cache.m4.xlarge", "cache.r3.2xlarge", "cache.r3.4xlarge", "cache.r3.8xlarge", "cache.r3.large", "cache.r3.xlarge" ] "ScaleDownModifications": [ "cache.t2.micro", "cache.t2.small ", "cache.t2.medium ", "cache.t1.small ", ], }

    詳細については、AWS CLI リファレンスの「list-allowed-node-type-modifications」を参照してください。

  2. AWS CLI modify-cache-cluster コマンドで以下のパラメータを使用して、スケールダウンするキャッシュクラスターと新しいより小さいノードタイプを指定することで、既存のキャッシュクラスターを変更します。

    • --cache-cluster-id – スケールダウンするキャッシュクラスターの名前。

    • --cache-node-type – キャッシュクラスターのスケーリング後の新しいノードタイプ。この値は、ステップ 1 で list-allowed-node-type-modifications コマンドによって返されるノードタイプのいずれかであることが必要です。

    • --cache-parameter-group-name – (オプション) reserved-memory を使用してクラスターの予約メモリを管理する場合は、このパラメーターを使用します。新しいノードタイプ用の適切な容量のメモリを確保するカスタムキャッシュパラメータグループを指定します。reserved-memory-percent を使用している場合は、このパラメータを省略できます。

    • --apply-immediately – スケールダウンプロセスをすぐに適用します。スケールアッププロセスをクラスターの次のメンテナンス期間に延期するには、--no-apply-immediately パラメーターを使用します。

    Linux, macOS, or Unix 用:

    aws elasticache modify-cache-cluster \ --cache-cluster-id my-redis-cache-cluster \ --cache-node-type cache.m3.xlarge \ --cache-parameter-group-name redis32-m2-xl \ --apply-immediately

    Windows の場合:

    aws elasticache modify-cache-cluster ^ --cache-cluster-id my-redis-cache-cluster ^ --cache-node-type cache.m3.xlarge ^ --cache-parameter-group-name redis32-m2-xl ^ --apply-immediately

    上のコマンドによる出力は以下のような JSON 形式になります。

    { "CacheCluster": { "Engine": "redis", "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.redis3.2", "ParameterApplyStatus": "in-sync" }, "SnapshotRetentionLimit": 1, "CacheClusterId": "my-redis-cache-cluster", "CacheSecurityGroups": [], "NumCacheNodes": 1, "SnapshotWindow": "00:00-01:00", "CacheClusterCreateTime": "2017-02-21T22:34:09.645Z", "AutoMinorVersionUpgrade": true, "CacheClusterStatus": "modifying", "PreferredAvailabilityZone": "us-west-2a", "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheSubnetGroupName": "default", "EngineVersion": "3.2.4", "PendingModifiedValues": { "CacheNodeType": "cache.m3.2xlarge" }, "PreferredMaintenanceWindow": "tue:11:30-tue:12:30", "CacheNodeType": "cache.m3.medium" } }

    詳細については、AWS CLI リファレンスの「modify-cache-cluster」を参照してください。

  3. --apply-immediately を使用した場合は、以下のパラメーターを指定して AWS CLI describe-cache-clusters コマンドを使用することで、新しいキャッシュクラスターのステータスを確認します。ステータスが [available] に変わると、新しいより大きいキャッシュクラスターの使用を開始できます。

    • --cache-cache cluster-id – 単一ノード Redis のキャッシュクラスターの名前。すべてのキャッシュクラスターではなく特定のキャッシュクラスターの定義を表示するには、このパラメータを使用します。

    aws elasticache describe-cache-clusters --cache-cluster-id my-redis-cache-cluster

    詳細については、AWS CLI リファレンスの「describe-cache-clusters」を参照してください。

単一ノード Redis キャッシュクラスターのスケールダウン (ElastiCache API)

次の手順では、ElastiCache API を使用して単一ノード Redis キャッシュクラスターをスケールダウンする方法について説明します。

単一ノード Redis キャッシュクラスターをスケールダウンするには (ElastiCache API)

  1. 以下のパラメータを使用して ElastiCache API ListAllowedNodeTypeModifications アクションを実行することで、スケールダウンできるノードタイプを確認します。

    • CacheClusterId – スケールダウンする単一ノード Redis キャッシュクラスターの名前。

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ListAllowedNodeTypeModifications &CacheClusterId=MyRedisCacheCluster &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

    詳細については、Amazon ElastiCache API リファレンスの「ListAllowedNodeTypeModifications」を参照してください。

  2. ModifyCacheCluster ElastiCache API アクションと以下のパラメータを使用して、スケールアップするキャッシュクラスターと新しいより大きいノードタイプを指定することで、既存のキャッシュクラスターを変更します。

    • CacheClusterId – スケールダウンするキャッシュクラスターの名前。

    • CacheNodeType – キャッシュクラスターのスケールダウン後の新しいより小さいノードタイプ。この値は、手順 1 で ListAllowedNodeTypeModifications アクションによって返されるノードタイプのいずれかであることが必要です。

    • CacheParameterGroupName – (オプション) reserved-memory を使用してクラスターの予約メモリを管理する場合は、このパラメーターを使用します。新しいノードタイプ用の適切な容量のメモリを確保するカスタムキャッシュパラメータグループを指定します。reserved-memory-percent を使用している場合は、このパラメータを省略できます。

    • ApplyImmediately – スケールダウンプロセスがすぐに実行するには、true に設定します。スケールアッププロセスをクラスターの次のメンテナンス期間に延期するには、ApplyImmediately=false パラメーターを使用します。

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyCacheCluster &ApplyImmediately=true &CacheClusterId=MyRedisCacheCluster &CacheNodeType=cache.m3.xlarge &CacheParameterGroupName redis32-m2-xl &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

    詳細については、Amazon ElastiCache API リファレンスの「ModifyCacheCluster」を参照してください。

  3. ApplyImmediately=true を使用した場合は、以下のパラメータを指定して ElastiCache API DescribeCacheClusters アクションを使用することで、新しいキャッシュクラスターのステータスを確認します。ステータスが available に変わると、新しいより小さいキャッシュクラスターノードの使用を開始できます。

    • CacheClusterId – 単一ノード Redis のキャッシュクラスターの名前。すべてのキャッシュクラスターではなく特定のキャッシュクラスターの定義を表示するには、このパラメータを使用します。

    https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeCacheClusters &CacheClusterId=MyRedisCacheCluster &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

    詳細については、Amazon ElastiCache API リファレンスの「DescribeCacheClusters」を参照してください。