翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
MemoryDB でオンラインリシャーディングを使用して、ダウンタイムなしで MemoryDB を動的にスケールできます。このアプローチでは、クラスターはスケーリングや再分散が処理中でもリクエストに対応し続けることができます。
以下の操作を行うことができます。
-
スケールアウト — MemoryDB クラスターにシャードを追加して、読み取りと書き込みの容量を増やします。
クラスターに 1 つ以上のシャードを追加する場合、新しい各シャードのノード数は既存の最小のシャードのノード数と同じになります。
-
スケールイン読み込みおよび書き込みキャパシティーを減らして、MemoryDB クラスターからシャードを削除することでコストを削減します。
現在、MemoryDB のオンラインリシャーディングには、次の制限が適用されます。
-
スロットまたはキースペース、および大きなアイテムには制限があります。
シャード内のキーのいずれかに大きなアイテムが含まれる場合、スケールアウトの際にそのキーは新しいシャードに移行されません。この機能により、アンバランスなシャードになる可能性があります。
シャード内のキーのいずれかに大きなアイテム (シリアル化後 256 MB より大きいアイテム) が含まれる場合、シャードはスケールイン時に削除されません。この機能により、一部のシャードは削除されない可能性があります。
-
スケールアウトの際、新しいシャードのノード数は、既存のシャードのノード数と等しくなります。
詳細については、「ベストプラクティス: オンラインクラスターのサイズ変更」を参照してください。
AWS Management Console、AWS CLI、MemoryDB API を使用して、MemoryDB クラスターを水平にスケールできます。
オンラインリシャーディングによるシャードの追加
AWS Management Console、AWS CLI、または MemoryDB API を使用して、MemoryDB クラスターにシャードを追加できます。
AWS Management Console を使用して、MemoryDB クラスターに 1 つ以上のシャードを追加できます。以下の手順では、このプロセスについて説明します。
-
AWS Management Console にサインインして、https://console.aws.amazon.com/memorydb/
で MemoryDB のコンソールを開きます。 -
クラスターの一覧から、シャードを追加するクラスターの名前を選択します。
[シャードとノード] タブで、[シャードの追加/削除] を選択します
-
[新しいシャード数] に、必要なシャードの数を入力します。
-
[確認] を選択して変更を保存するか、[キャンセル] を選択して破棄します。
以下のプロセスでは、AWS CLI を使用してシャードを追加し、MemoryDB クラスターでシャードの再構成を行う方法について説明します。
update-cluster
を使って以下のパラメータを使用します。
パラメータ
-
--cluster-name
– 必須。シャードの再構成オペレーションを実行するクラスター (クラスター) を指定します。 -
--shard-configuration
– 必須。シャードの数を設定できます。-
ShardCount
– このプロパティを設定して、必要なシャードの数を指定します。
-
次の例では、my-cluster
クラスター内のシャードの数を 2 に変更しています。
Linux、macOS、Unix の場合:
aws memorydb update-cluster \ --cluster-name my-cluster \ --shard-configuration \ ShardCount=2
Windows の場合:
aws memorydb update-cluster ^ --cluster-name my-cluster ^ --shard-configuration ^ ShardCount=2
以下の JSON コードを返します。
{ "Cluster": { "Name": "my-cluster", "Status": "updating", "NumberOfShards": 2, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Address":
"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN":"arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster"
, "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }
クラスターのステータスが更新中から利用可能に変わったら、更新されたクラスターの詳細を表示するには、次のコマンドを使用します:
Linux、macOS、Unix の場合:
aws memorydb describe-clusters \ --cluster-name my-cluster --show-shard-details
Windows の場合:
aws memorydb describe-clusters ^ --cluster-name my-cluster --show-shard-details
以下のようなJSONレスポンスが返される:
{ "Clusters": [ { "Name": "my-cluster", "Status": "available", "NumberOfShards": 2, "Shards": [ { "Name": "0001", "Status": "available", "Slots": "0-8191", "Nodes": [ { "Name": "my-cluster-0001-001", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address":
"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 } }, { "Name": "my-cluster-0001-002", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address":"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 } } ], "NumberOfNodes": 2 }, { "Name": "0002", "Status": "available", "Slots": "8192-16383", "Nodes": [ { "Name": "my-cluster-0002-001", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-22T14:26:18.693000-07:00", "Endpoint": { "Address":"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 } }, { "Name": "my-cluster-0002-002", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-22T14:26:18.765000-07:00", "Endpoint": { "Address":"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 } } ], "NumberOfNodes": 2 } ], "ClusterEndpoint": { "Address":"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN":"arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster"
, "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } ] }
詳細については、「AWS CLI コマンドリファレンス」の「update-cluster」を参照してください。
UpdateCluster
オペレーションを使うことで、MemoryDB API を使用して MemoryDB クラスターのシャードをオンラインで再構成できます。
UpdateCluster
を使って以下のパラメータを使用します。
パラメータ
-
ClusterName
– 必須。シャードの再構成オペレーションを実行するクラスターを指定します。 -
ShardConfiguration
– 必須。シャードの数を設定できます。-
ShardCount
– このプロパティを設定して、必要なシャードの数を指定します。
-
詳細については、「クラスターの更新」を参照してください。
オンラインリシャーディングによるシャードの削除
AWS Management Console、AWS CLI、または MemoryDB API を使用して、MemoryDB クラスターからシャードを削除できます。
以下のプロセスでは、AWS Management Console を使用してシャードを削除し、MemoryDB クラスターでシャードの再構成を行う方法について説明します。
重要
クラスターからシャードを削除する前に、MemoryDB はすべてのデータが残りのシャードに収まるようにします。データが収まる場合、シャードは要求に応じてクラスターから削除されます。データが残りのシャードに収まらない場合、プロセスは終了し、クラスターはリクエスト前と同じシャード設定のままになります。
AWS Management Console を使用して、MemoryDB クラスターから 1 つ以上のシャードを削除できます。クラスター内のシャードをすべて削除することはできません。代わりに、クラスターを削除する必要があります。詳細については、「ステップ 5: クラスターを削除する」を参照してください。次の手順では、1 つ以上のシャードを削除する手順を説明します。
-
AWS Management Console にサインインして、https://console.aws.amazon.com/memorydb/
で MemoryDB のコンソールを開きます。 -
クラスターの一覧から、シャードを削除するクラスターの名前を選択します。
[シャードとノード] タブで、[シャードの追加/削除] を選択します
-
[新しいシャード数] に、必要なシャードの数を入力します (最低 1 つ)。
-
[確認] を選択して変更を保存するか、[キャンセル] を選択して破棄します。
以下のプロセスでは、AWS CLI を使用してシャードを削除し、MemoryDB クラスターでシャードの再構成を行う方法について説明します。
重要
クラスターからシャードを削除する前に、MemoryDB はすべてのデータが残りのシャードに収まるようにします。データが収まる場合、指定されたシャードはリクエストに応じてクラスターから削除され、キースペースは残りのシャードにマッピングされます。データが残りのシャードに収まらない場合、プロセスは終了し、クラスターはリクエスト前と同じシャード設定のままになります。
AWS CLI を使用して、MemoryDB クラスターから 1 つ以上のシャードを削除できます。クラスター内のシャードをすべて削除することはできません。代わりに、クラスターを削除する必要があります。詳細については、「ステップ 5: クラスターを削除する」を参照してください。
update-cluster
を使って以下のパラメータを使用します。
パラメータ
-
--cluster-name
– 必須。シャードの再構成オペレーションを実行するクラスター (クラスター) を指定します。 -
--shard-configuration
– 必須。ShardCount
プロパティを使用してシャードの数を設定できます。ShardCount
– このプロパティを設定して、必要なシャードの数を指定します。
次の例では、my-cluster
クラスター内のシャードの数を 2 に変更しています。
Linux、macOS、Unix の場合:
aws memorydb update-cluster \ --cluster-name my-cluster \ --shard-configuration \ ShardCount=2
Windows の場合:
aws memorydb update-cluster ^ --cluster-name my-cluster ^ --shard-configuration ^ ShardCount=2
以下の JSON コードを返します。
{ "Cluster": { "Name": "my-cluster", "Status": "updating", "NumberOfShards": 2, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Address":
"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN":"arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster"
, "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }
クラスターのステータスが更新中から利用可能に変わったら、更新されたクラスターの詳細を表示するには、次のコマンドを使用します:
Linux、macOS、Unix の場合:
aws memorydb describe-clusters \ --cluster-name my-cluster --show-shard-details
Windows の場合:
aws memorydb describe-clusters ^ --cluster-name my-cluster --show-shard-details
以下のようなJSONレスポンスが返される:
{ "Clusters": [ { "Name": "my-cluster", "Status": "available", "NumberOfShards": 2, "Shards": [ { "Name": "0001", "Status": "available", "Slots": "0-8191", "Nodes": [ { "Name": "my-cluster-0001-001", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address":
"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 } }, { "Name": "my-cluster-0001-002", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address":"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 } } ], "NumberOfNodes": 2 }, { "Name": "0002", "Status": "available", "Slots": "8192-16383", "Nodes": [ { "Name": "my-cluster-0002-001", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-22T14:26:18.693000-07:00", "Endpoint": { "Address":"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 } }, { "Name": "my-cluster-0002-002", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-22T14:26:18.765000-07:00", "Endpoint": { "Address":"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 } } ], "NumberOfNodes": 2 } ], "ClusterEndpoint": { "Address":"clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com"
, "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN":"arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster"
, "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } ] }
詳細については、「AWS CLI コマンドリファレンス」の「update-cluster」を参照してください。
UpdateCluster
オペレーションを使うことで、MemoryDB API を使用して MemoryDB クラスターのシャードをオンラインで再構成できます。
以下のプロセスでは、MemoryDB API を使用してシャードを削除し、 MemoryDBクラスターでシャードの再構成を行う方法について説明します。
重要
クラスターからシャードを削除する前に、MemoryDB はすべてのデータが残りのシャードに収まるようにします。データが収まる場合、指定されたシャードはリクエストに応じてクラスターから削除され、キースペースは残りのシャードにマッピングされます。データが残りのシャードに収まらない場合、プロセスは終了し、クラスターはリクエスト前と同じシャード設定のままになります。
MemoryDB API を使用して、MemoryDB クラスターから 1 つ以上のシャードを削除できます。クラスター内のシャードをすべて削除することはできません。代わりに、クラスターを削除する必要があります。詳細については、「ステップ 5: クラスターを削除する」を参照してください。
UpdateCluster
を使って以下のパラメータを使用します。
パラメータ
-
ClusterName
– 必須。シャードの再構成オペレーションを実行するクラスター (クラスター) を指定します。 -
ShardConfiguration
– 必須。ShardCount
プロパティを使用してシャードの数を設定できます。ShardCount
– このプロパティを設定して、必要なシャードの数を指定します。