ノードタイプの変更によるオンライン垂直スケーリング - Amazon ElastiCache

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ノードタイプの変更によるオンライン垂直スケーリング

Valkey バージョン 7.2 以降、Redis OSS バージョン 3.2.10 以降でオンラインの垂直スケーリングを使用すると、最小限のダウンタイムで Valkey または Redis OSS クラスターを動的にスケールできます。これにより、Valkey または Redis OSS クラスターはスケーリング中であってもリクエストを処理できます。

注記

データ階層化を使用するクラスター (r6gd ノードタイプを使用するクラスターなど) と、データ階層化を使用しないクラスター (r6g ノードタイプを使用するクラスターなど) 間のスケーリングはサポートされていません。詳細については、「ElastiCache のデータ階層化」を参照してください。

以下を行うことができます。

  • [スケールアップ] – より大きいノードタイプを使用するように Valkey または Redis OSS クラスターのノードタイプを調整することで、読み取りおよび書き込み容量を増やします。

    ElastiCache は、オンラインのままリクエストを処理しながら、クラスターのサイズを動的に変更します。

  • [スケールダウン] – より小さいノードを使用するようにノードタイプを調整することで、読み取りおよび書き込み容量を減らします。同様に、ElastiCache は、オンラインのままリクエストを処理しながら、クラスターのサイズを動的に変更します。この場合、ノードのサイズを小さくすることでコストを削減します。

注記

スケールアップおよびスケールダウンプロセスは、新しく選択されたノードタイプでクラスターを作成し、新しいノードを以前のノードと同期させることに依存します。スケールアップ/ダウンフローをスムーズにするには、以下の手順を実行します。

  • 十分な ENI (Elastic Network Interface) 容量があることを確認します。スケールダウンの場合は、ノードを小さくすることで予想されるトラフィックを吸収するのに十分なメモリがあることを確認します。

    メモリ管理のベストプラクティスについては、「Valkey および Redis OSS の予約済みメモリを管理する」を参照してください。

  • 垂直スケーリングプロセスは、完全にオンラインのままになるように設計されており、古いノードと新しいノードとの間でデータを同期させることに依存します。データトラフィックが最小になると予想される時間帯にスケールアップ/ダウンを開始することをお勧めします。

  • 可能であれば、ステージング環境でのスケーリング中にアプリケーションの動作をテストします。

オンラインスケールアップ

Valkey または Redis OSS クラスターのスケールアップ (コンソール)

以下の手順では、ElastiCache マネジメントコンソールを使用して、Valkey または Redis OSS クラスターをスケールアップする方法について説明しています。このプロセス中、クラスターは最小限のダウンタイムでリクエストを処理し続けます。

Valkey または Redis OSS クラスターをスケールアップするには (コンソール)
  1. にサインインAWS マネジメントコンソールし、https://console.aws.amazon.com/elasticache/ で ElastiCache コンソールを開きます。

  2. ナビゲーションペインで [Valkey クラスター] または [Redis OSS クラスター] を選択します。

  3. クラスターのリストから、クラスターを選択します。

  4. [Modify] (変更) を選択します。

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

    1. Node type リストから、スケーリングするノードタイプを選択します。スケールアップするには、既存のノードよりも大きいノードタイプを選択します。

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

  7. [Modify] (変更) を選択します。

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

Valkey または Redis OSS クラスターのスケールアップ (AWS CLI)

以下の手順では、AWS CLIを使用して Valkey または Redis OSS クラスターをスケールアップする方法について説明しています。このプロセス中、クラスターは最小限のダウンタイムでリクエストを処理し続けます。

Valkey または Redis OSS クラスターをスケールアップするには (AWS CLI)
  1. 次のパラメータを指定して list-allowed-node-type-modifications コマンドを実行してAWS CLI、スケールアップできるノードタイプを決定します。

    Linux、macOS、Unix の場合:

    aws elasticache list-allowed-node-type-modifications \ --replication-group-id my-replication-group-id

    Windows の場合:

    aws elasticache list-allowed-node-type-modifications ^ --replication-group-id my-replication-group-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 CLImodify-replication-group、レプリケーショングループを変更して新しいより大きなノードタイプにスケールアップします。

    • --replication-group-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、Unix の場合:

    aws elasticache modify-replication-group \ --replication-group-id my-redis-cluster \ --cache-node-type cache.m3.xlarge \ --apply-immediately

    Windows の場合:

    aws elasticache modify-replication-group ^ --replication-group-id my-redis-cluster ^ --cache-node-type cache.m3.xlarge ^ --apply-immediately

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

    { "ReplicationGroup": { "Status": "modifying", "Description": "my-redis-cluster", "NodeGroups": [ { "Status": "modifying", "Slots": "0-16383", "NodeGroupId": "0001", "NodeGroupMembers": [ { "PreferredAvailabilityZone": "us-east-1f", "CacheNodeId": "0001", "CacheClusterId": "my-redis-cluster-0001-001" }, { "PreferredAvailabilityZone": "us-east-1d", "CacheNodeId": "0001", "CacheClusterId": "my-redis-cluster-0001-002" } ] } ], "ConfigurationEndpoint": { "Port": 6379, "Address": "my-redis-cluster.r7gdfi.clustercfg.use1.cache.amazonaws.com" }, "ClusterEnabled": true, "ReplicationGroupId": "my-redis-cluster", "SnapshotRetentionLimit": 1, "AutomaticFailover": "enabled", "SnapshotWindow": "07:30-08:30", "MemberClusters": [ "my-redis-cluster-0001-001", "my-redis-cluster-0001-002" ], "CacheNodeType": "cache.m3.xlarge", "DataTiering": "disabled" "PendingModifiedValues": {} } }

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

  3. を使用した場合は--apply-immediately、次のパラメータを指定して コマンドを使用してAWS CLIdescribe-cache-clustersクラスターのステータスを確認します。ステータスが available に変わると、新しい、より大きいクラスターノードの使用を開始できます。

Valkey または Redis OSS クラスターのスケールアップ (ElastiCache API)

以下のプロセスでは、ElastiCache API を使用して、クラスターを現在のノードタイプから新しい、より大きいノードタイプにスケールします。このプロセスでは、ElastiCache は新しいノードを参照するように DNS エントリを更新します。このため、アプリケーションのエンドポイントを更新する必要はありません。Valkey 7.2 以降、Redis OSS 5.0.5 以降では、クラスターがオンラインのままで受信リクエストを処理している間に、自動フェイルオーバーが有効なクラスターをスケールできます。Redis OSS バージョン 4.0.10 以前では、DNS エントリが更新されている間、以前のバージョンのプライマリノードからの読み取りと書き込みが短時間中断することがあります。

より大きいノードタイプへのスケールアップにかかる時間はノードタイプと現在のクラスターのデータ量によって異なります。

Valkey または Redis OSS キャッシュクラスターをスケールアップするには (ElastiCache API)
  1. 以下のパラメータを指定して ElastiCache API ListAllowedNodeTypeModifications アクションを使用することで、スケールアップできるノードタイプを調べます。

    • ReplicationGroupId – レプリケーショングループの名前。すべてのレプリケーショングループではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。

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

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

  2. 以下のパラメータを指定して ModifyReplicationGroup ElastiCache API アクションを使用することで、現在のレプリケーショングループを新しいノードタイプにスケールアップします。

    • ReplicationGroupId – レプリケーショングループの名前。

    • CacheNodeType – このレプリケーショングループのクラスターの新しい、より大きいノードタイプ。この値は、前の手順で ListAllowedNodeTypeModifications アクションによって返されるインスタンスタイプのいずれかである必要があります。

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

    • ApplyImmediately – スケールアッププロセスがすぐに適用されるようにするには、true に設定します。スケールアッププロセスを次のメンテナンス期間に延期するには、ApplyImmediately=false を使用します。

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyReplicationGroup &ApplyImmediately=true &CacheNodeType=cache.m3.2xlarge &CacheParameterGroupName=redis32-m3-2xl &ReplicationGroupId=myReplGroup &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &Version=2014-12-01 &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>

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

  3. ApplyImmediately=true を使用した場合、以下のパラメータを指定して ElastiCache API DescribeReplicationGroups アクションを使用することで、レプリケーショングループのステータスをモニタリングします。ステータスが [modifying] から [available] に変わると、スケールアップした新しいレプリケーショングループへの書き込みを開始できます。

    • ReplicationGroupId – レプリケーショングループの名前。すべてのレプリケーショングループではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。

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

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

オンラインスケールダウン

Valkey または Redis OSS クラスターのスケールダウン (コンソール)

以下の手順では、ElastiCache マネジメントコンソールを使用して、Valkey または Redis OSS クラスターをスケールダウンする方法について説明しています。このプロセス中、Valkey または Redis OSS クラスターは最小限のダウンタイムでリクエストを処理し続けます。

Valkey または Redis OSS クラスターをスケールダウンするには (コンソール)
  1. にサインインAWS マネジメントコンソールし、https://console.aws.amazon.com/elasticache/ で ElastiCache コンソールを開きます。

  2. ナビゲーションペインで [Valkey クラスター] または [Redis OSS クラスター] を選択します。

  3. クラスターのリストから、希望するクラスターを選択します。

  4. [Modify] (変更) を選択します。

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

    1. Node type リストから、スケーリングするノードタイプを選択します。スケールダウンするには、既存のノードより小さいノードタイプを選択します。すべてのノードタイプがスケールダウンできるわけではないことに注意してください。

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

  7. [Modify] (変更) を選択します。

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

Valkey または Redis OSS クラスターのスケールダウン (AWS CLI)

以下の手順では、AWS CLIを使用して Valkey または Redis OSS クラスターをスケールダウンする方法について説明しています。このプロセス中、クラスターは最小限のダウンタイムでリクエストを処理し続けます。

Valkey または Redis OSS クラスターをスケールダウンするには (AWS CLI)
  1. 次のパラメータを指定して list-allowed-node-type-modifications コマンドを実行してAWS CLI、スケールダウンできるノードタイプを決定します。

    Linux、macOS、Unix の場合:

    aws elasticache list-allowed-node-type-modifications \ --replication-group-id my-replication-group-id

    Windows の場合:

    aws elasticache list-allowed-node-type-modifications ^ --replication-group-id my-replication-group-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 CLImodify-replication-group、レプリケーショングループを変更して、新しい小さなノードタイプにスケールダウンします。

    • --replication-group-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、Unix の場合:

    aws elasticache modify-replication-group \ --replication-group-id my-redis-cluster \ --cache-node-type cache.t2.micro \ --apply-immediately

    Windows の場合:

    aws elasticache modify-replication-group ^ --replication-group-id my-redis-cluster ^ --cache-node-type cache.t2.micro ^ --apply-immediately

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

    { "ReplicationGroup": { "Status": "modifying", "Description": "my-redis-cluster", "NodeGroups": [ { "Status": "modifying", "Slots": "0-16383", "NodeGroupId": "0001", "NodeGroupMembers": [ { "PreferredAvailabilityZone": "us-east-1f", "CacheNodeId": "0001", "CacheClusterId": "my-redis-cluster-0001-001" }, { "PreferredAvailabilityZone": "us-east-1d", "CacheNodeId": "0001", "CacheClusterId": "my-redis-cluster-0001-002" } ] } ], "ConfigurationEndpoint": { "Port": 6379, "Address": "my-redis-cluster.r7gdfi.clustercfg.use1.cache.amazonaws.com" }, "ClusterEnabled": true, "ReplicationGroupId": "my-redis-cluster", "SnapshotRetentionLimit": 1, "AutomaticFailover": "enabled", "SnapshotWindow": "07:30-08:30", "MemberClusters": [ "my-redis-cluster-0001-001", "my-redis-cluster-0001-002" ], "CacheNodeType": "cache.t2.micro", "DataTiering": "disabled" "PendingModifiedValues": {} } }

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

  3. を使用した場合は--apply-immediately、次のパラメータを指定して コマンドを使用してAWS CLIdescribe-cache-clustersクラスターのステータスを確認します。ステータスが available に変わると、新しい、より小さいクラスターノードの使用を開始できます。

Valkey または Redis OSS クラスターのスケールダウン (ElastiCache API)

以下のプロセスでは、ElastiCache API を使用して、レプリケーショングループをその現在のノードタイプから新しいより小さいノードタイプにスケーリングします。このプロセス中、Valkey または Redis OSS クラスターは最小限のダウンタイムでリクエストを処理し続けます。

より小さいノードタイプへのスケールダウンにかかる時間はノードタイプと現在のクラスターのデータ量によって異なります。

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

    • ReplicationGroupId – レプリケーショングループの名前。すべてのレプリケーショングループではなく特定のレプリケーショングループの定義を表示するには、このパラメータを使用します。

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

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

  2. 以下のパラメータを指定して ModifyReplicationGroup ElastiCache API アクションを使用することで、現在のレプリケーショングループを新しいノードタイプにスケールダウンします。

    • ReplicationGroupId – レプリケーショングループの名前。

    • CacheNodeType – このレプリケーショングループのクラスターの新しい、より小さいノードタイプ。この値は、前の手順で ListAllowedNodeTypeModifications アクションによって返されるインスタンスタイプのいずれかである必要があります。

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

    • ApplyImmediately – スケールダウンプロセスがすぐに適用されるようにするには、true に設定します。スケールダウンプロセスを次のメンテナンスウィンドウに延期するには、ApplyImmediately=false を使用します。

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyReplicationGroup &ApplyImmediately=true &CacheNodeType=cache.t2.micro &CacheParameterGroupName=redis32-m3-2xl &ReplicationGroupId=myReplGroup &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &Version=2014-12-01 &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>

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