メニュー
Amazon ElastiCache
ユーザーガイド (API Version 2015-02-02)

単一ノード Redis のクラスターのスケールアップ

単一ノード Redis クラスターをスケールアップするとき、ElastiCache コンソール、AWS CLI、ElastiCache API のいずれを使用する場合でも、ElastiCache によって以下のプロセスが実行されます。

  1. キャッシュクラスターに対する読み取りと書き込みはブロックされます。

  2. 新しいノードタイプの新しいキャッシュクラスターは既存のキャッシュクラスターと同じアベイラビリティーゾーンでスピンアップされます。

  3. 既存のキャッシュクラスターのキャッシュデータは新しいキャッシュクラスターにコピーされます。このプロセスの所要時間はノードタイプとキャッシュクラスターのデータ量によって異なります。

  4. 読み取りと書き込みは、新しいキャッシュクラスターを使用して再開されます。新しいキャッシュクラスターのエンドポイントは、古いキャッシュクラスターのものと同じなので、アプリケーションのエンドポイントを更新する必要はありません。

  5. ElastiCache によって古いキャッシュクラスターが削除されます。

キャッシュクラスターに対する書き込みと読み取りはスケールアッププロセスの実行中はブロックされるため、スケールアップはキャッシュクラスターの需要の少ない時間にスケジュールする必要があります。

以下の表に示しているように、次のメンテナンス期間にエンジンのアップグレードがスケジュールされている場合、Redis のスケールアップオペレーションはブロックされます。メンテナンス期間の詳細については、「メンテナンス時間」を参照してください。

ブロックされた Redis オペレーション

保留中のオペレーション ブロックされたオペレーション
スケールアップ 即時のエンジンのアップグレード
エンジンのアップグレード 即時のスケールアップ

スケールアップとエンジンのアップグレード

即時のスケールアップ
即時のエンジンのアップグレード

保留中のオペレーションによってブロックされている場合は、以下のいずれかを行うことができます。

  • 次のメンテナンス期間に Redis スケールアップオペレーションをスケジュールします。そのためには、[Apply immediately] チェックボックスをオフにします (CLI では --no-apply-immediately、API では ApplyImmediately=false を使用)。

  • Redis のスケールアップオペレーションを実行する次のメンテナンス期間 (またはその後) まで待ちます。

  • [Apply Immediately] チェックボックスをオンにして、このキャッシュクラスターの変更に Redis エンジンのアップグレードを追加します (CLI では --apply-immediately、API では ApplyImmediately=true を使用)。これにより、エンジンのアップグレードがすぐに実行されて、スケールアップオペレーションのブロックが解除されます。

ElastiCache コンソール、AWS CLI、または ElastiCache API を使用して、単一ノード Redis (クラスターモードが無効) クラスターをスケールアップできます。

重要

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

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

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

単一ノード Redis のクラスターのスケールアップ ((コンソール))

以下の手順では、ElastiCache マネジメントコンソールを使用して、単一ノード Redis クラスターをスケールアップする方法について説明しています。

単一ノード Redis クラスターをスケールアップするには ((console))

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

  2. 左のナビゲーションペインから、[Redis] を選択します。

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

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

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

    1. [Node type] リストから、スケーリングするノードタイプを選択します。

      このリストには、スケールアップできるすべてのノードタイプが示されています。

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

  6. スケールアッププロセスをすぐに実行する場合は、[Apply immediately] ボックスを選択します。[Apply immediately] ボックスを選択していない場合、スケールアッププロセスはこのクラスターの次のメンテナンス期間中に実行されます。

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

    前の手順で [Apply immediately] を選択した場合、クラスターのステータスは [modifying] に変わります。ステータスが [available] に変わると、変更は完了し、新しいクラスターの使用を開始できます。

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

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

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

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

    • --cache-cluster-id - スケールアップする単一ノード Redis キャッシュクラスターの名前。

    Linux, macOS, or Unix 用:

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

    Windows の場合:

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

    上のコマンドによる出力は次のようになります。

    {
        "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"
        ]
    }

    詳細については、『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 用:

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

    Windows の場合:

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

    上のコマンドによる出力は次のようになります。

    {
        "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 のキャッシュクラスターの名前。すべてのキャッシュクラスターではなく特定のキャッシュクラスターの定義を表示するには、このパラメータを使用します。

    Copy
    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 キャッシュクラスターの名前。

    Copy
    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 パラメーターを使用します。

    Copy
    https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyCacheCluster &ApplyImmediately=true &CacheClusterId=MyRedisCacheCluster &CacheNodeType=cache.m2.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 のキャッシュクラスターの名前。すべてのキャッシュクラスターではなく特定のキャッシュクラスターの定義を表示するには、このパラメータを使用します。

    Copy
    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」を参照してください。