기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
MemoryDB의 온라인 리샤딩
온라인 리샤딩을 사용하고 MemoryDB 와 함께 사용하면 다운타임 없이 MemoryDB를 동적으로 확장할 수 있습니다. 이러한 접근 방식은 조정 또는 재분배 진행 중에도 클러스터에서 계속해서 요청을 처리할 수 있음을 의미합니다.
다음을 수행할 수 있습니다.
-
스케일 아웃 - MemoryDB 클러스터에 샤드를 추가하여 읽기 및 쓰기 용량을 늘립니다.
클러스터에 샤드를 하나 이상 추가하는 경우, 각 샤드의 노드 수는 기존의 가장 작은 샤드에 있는 노드 수와 동일합니다.
-
스케일 인 – MemoryDB 클러스터에서 샤드를 제거해 읽기 및 쓰기 용량을 줄여 비용을 절감합니다.
현재, MemoryDB 온라인 리샤딩에는 다음 제한 사항이 적용됩니다.
-
슬롯 또는 키스페이스와 대용량 항목에 대한 제한 사항이 있습니다.
샤드의 키에 큰 항목이 포함된 경우 를 스케일 아웃할 때 해당 키가 새 샤드로 마이그레이션되지 않습니다. 이 기능으로 인해 불균형 샤드가 발생할 수 있습니다.
샤드 내 키에 대용량 항목(직렬화 후 256MB보다 큰 항목)이 포함되어 있으면 축소 시 해당 샤드는 삭제되지 않습니다. 이 기능으로 인해 일부 샤드가 삭제되지 않을 수 있습니다.
-
스케일 아웃 시 새 샤드의 노드 수는 기존 샤드의 노드 수와 같습니다.
자세한 내용은 모범 사례: 온라인 클러스터 크기 조정 단원을 참조하십시오.
AWS Management Console, 및 MemoryDB 를 사용하여 MemoryDB 클러스터를 수평으로 확장 AWS CLI할 수 있습니다API.
온라인 리샤딩을 사용하여 샤드 추가
AWS Management Console AWS CLI, 또는 MemoryDB 를 사용하여 MemoryDB 클러스터에 샤드를 추가할 수 있습니다API.
를 사용하여 MemoryDB 클러스터 AWS Management Console 에 샤드를 하나 이상 추가할 수 있습니다. 다음 절차에서는 이러한 프로세스를 설명합니다.
-
에 로그인 AWS Management Console 하고 에서 MemoryDB 콘솔을 엽니다https://console.aws.amazon.com/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를 참조하세요.
MemoryDB를 사용하여 UpdateCluster
작업을 사용하여 온라인으로 MemoryDB 클러스터의 샤드를 API 재구성할 수 있습니다.
UpdateCluster
에 다음 파라미터를 사용합니다.
파라미터
-
ClusterName
- 필수입니다. 샤드 재구성 작업을 수행할 클러스터를 지정합니다. -
ShardConfiguration
- 필수입니다. 샤드 수를 설정할 수 있습니다.-
ShardCount
- 이 속성을 설정하여 원하는 샤드 수를 지정합니다.
-
자세한 내용은 UpdateCluster를 참조하세요.
온라인 리샤딩을 사용하여 샤드 제거
AWS Management Console AWS CLI, 또는 MemoryDB 를 사용하여 MemoryDB 클러스터에서 샤드를 제거할 수 있습니다API.
다음 프로세스에서는 AWS Management Console을(를) 사용해 샤드를 제거하여 MemoryDB 클러스터에서 샤드를 재구성하는 방법을 설명합니다.
중요
클러스터에서 샤드를 제거하기 전에 MemoryDB에서는 모든 데이터가 나머지 샤드에 맞는지 확인합니다. 데이터가 맞으면 요청에 따라 샤드가 클러스터에서 삭제됩니다. 데이터가 나머지 샤드에 맞지 않으면 프로세스가 종료되고 클러스터는 요청이 작성되기 전과 동일한 샤드 구성으로 남습니다.
AWS Management Console 를 사용하여 MemoryDB 클러스터에서 하나 이상의 샤드를 제거할 수 있습니다. 클러스터의 모든 샤드를 제거할 수는 없습니다. 대신 클러스터를 삭제해야 합니다. 자세한 내용은 5단계: 클러스터 삭제 단원을 참조하십시오. 다음 절차는 샤드를 하나 이상 삭제하는 프로세스를 설명합니다.
-
에 로그인 AWS Management Console 하고 에서 MemoryDB 콘솔을 엽니다https://console.aws.amazon.com/memorydb/
. -
클러스터 목록에서 샤드를 제거할 클러스터 이름을 선택합니다.
샤드 및 노드 탭에서 샤드 추가/삭제를 선택합니다.
-
새 샤드 수에 원하는 샤드 수(최소 1개)를 입력합니다.
-
변경 내용을 저장하려면 확인을 선택하고, 취소하려면 취소를선택합니다.
다음 프로세스에서는 AWS CLI을(를) 사용해 샤드를 제거하여 MemoryDB 클러스터에서 샤드를 재구성하는 방법을 설명합니다.
중요
클러스터에서 샤드를 제거하기 전에 MemoryDB에서는 모든 데이터가 나머지 샤드에 맞는지 확인합니다. 데이터가 맞으면 요청된 대로 샤드가 클러스터에서 삭제되고 해당 샤드의 키스페이스가 나머지 샤드로 매핑됩니다. 데이터가 나머지 샤드에 맞지 않으면 프로세스가 종료되고 클러스터는 요청이 작성되기 전과 동일한 샤드 구성으로 남습니다.
AWS CLI 를 사용하여 MemoryDB 클러스터에서 하나 이상의 샤드를 제거할 수 있습니다. 클러스터의 모든 샤드를 제거할 수는 없습니다. 대신 클러스터를 삭제해야 합니다. 자세한 내용은 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를 참조하세요.
MemoryDB를 사용하여 UpdateCluster
작업을 사용하여 온라인으로 MemoryDB 클러스터의 샤드를 API 재구성할 수 있습니다.
다음 프로세스에서는 MemoryDB 를 사용하여 샤드를 제거하여 MemoryDB 클러스터의 샤드를 재구성하는 방법을 설명합니다API.
중요
클러스터에서 샤드를 제거하기 전에 MemoryDB에서는 모든 데이터가 나머지 샤드에 맞는지 확인합니다. 데이터가 맞으면 요청된 대로 샤드가 클러스터에서 삭제되고 해당 샤드의 키스페이스가 나머지 샤드로 매핑됩니다. 데이터가 나머지 샤드에 맞지 않으면 프로세스가 종료되고 클러스터는 요청이 작성되기 전과 동일한 샤드 구성으로 남습니다.
MemoryDB를 사용하여 MemoryDB 클러스터에서 하나 이상의 샤드를 API 제거할 수 있습니다. 클러스터의 모든 샤드를 제거할 수는 없습니다. 대신 클러스터를 삭제해야 합니다. 자세한 내용은 5단계: 클러스터 삭제 단원을 참조하십시오.
UpdateCluster
에 다음 파라미터를 사용합니다.
파라미터
-
ClusterName
- 필수입니다. 샤드 재구성 작업을 수행할 클러스터를 지정합니다. -
ShardConfiguration
- 필수입니다.ShardCount
속성을 사용하여 샤드 수를 설정할 수 있습니다.ShardCount
- 이 속성을 설정하여 원하는 샤드 수를 지정합니다.