복제본을 사용하여 Redis OSS 클러스터를 확장합니다. - 아마존 ElastiCache (레디 스OSS)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

복제본을 사용하여 Redis OSS 클러스터를 확장합니다.

ElastiCache Amazon은 Redis OSS (클러스터 모드 비활성화) 복제 그룹을 확장하기 위한 콘솔, CLI 및 API 지원을 제공합니다.

확장 프로세스가 시작되면 다음을 수행합니다. ElastiCache

  1. 새 노드 유형을 사용하여 복제 그룹을 시작합니다.

  2. 현재 기본 노드에서 새 기본 노드로 모든 데이터를 복사합니다.

  3. 새 읽기 전용 복제본을 새 기본 노드와 동기화합니다.

  4. DNS 항목이 새 노드를 가리키도록 해당 항목을 업데이트합니다. 따라서 애플리케이션의 엔드포인트를 업데이트할 필요가 없습니다. Redis OSS 5.0.5 이상의 경우 클러스터가 온라인 상태를 유지하고 들어오는 요청을 처리하면서 자동 장애 조치가 활성화된 클러스터를 확장할 수 있습니다. 버전 4.0.10 이하의 경우, DNS 항목이 업데이트되는 동안 프라이머리 노드에서 이전 버전에 대한 읽기 및 쓰기가 잠깐 중단될 수 있습니다.

  5. 이전 노드(CLI/API: 복제 그룹)를 삭제합니다. 이전 노드에 대한 연결이 끊어지기 때문에 이전 노드의 읽기 및 쓰기가 잠깐(몇 초) 중단될 수 있습니다.

이 프로세스의 기간은 노드 유형 및 클러스터에 있는 데이터의 양에 따라 달라집니다.

다음 표에 표시된 것처럼 클러스터의 다음 유지 관리 기간에 엔진 업그레이드가 예정되어 있는 경우 Redis OSS 확장 작업이 차단됩니다.

차단된 Redis OSS 작업
대기 중 작업 차단된 작업
스케일 업 즉시 엔진 업그레이드
엔진 업그레이드 즉시 스케일 업
스케일 업 및 엔진 업그레이드 즉시 스케일 업
즉시 엔진 업그레이드

사용자를 차단하는 대기 중 작업이 있는 경우 다음 중 하나를 수행할 수 있습니다.

  • 즉시 적용 확인란 (CLI 사용:, API 사용:) 을 선택 취소하여 다음 유지 관리 기간을 위해 Redis OSS 스케일 업 작업을 예약합니다. --no-apply-immediately ApplyImmediately=false

  • 다음 유지 관리 기간 (또는 그 이후) 까지 기다렸다가 Redis OSS 스케일 업 작업을 수행하십시오.

  • 즉시 적용 확인란을 선택하여 이 캐시 클러스터 수정에 Redis OSS 엔진 업그레이드를 추가합니다 (CLI 사용:--apply-immediately, API 사용:). ApplyImmediately=true 이렇게 하면 스케일 업 작업의 차단이 해제되어 엔진 업그레이드가 즉시 수행됩니다.

다음 섹션에서는 ElastiCache 콘솔, 및 API를 사용하여 복제본으로 Redis OSS 클러스터를 확장하는 방법을 설명합니다. AWS CLI ElastiCache

중요

파라미터 그룹에서 Redis OSS 오버헤드를 위한 메모리를 따로 설정하는 reserved-memory 데 사용하는 경우 확장을 시작하기 전에 새 노드 유형에 맞는 메모리 양을 예약하는 사용자 지정 파라미터 그룹이 있는지 확인하십시오. 또는 reserved-memory-percent를 사용하고 새 클러스터에 대해 해당 파라미터 그룹을 사용하도록 사용자 지정 파라미터 그룹을 수정할 수 있습니다.

reserved-memory-percent를 사용할 경우에는 이렇게 하지 않아도 됩니다.

자세한 정보는 예약된 메모리 관리을 참조하세요.

대형 노드 유형으로 스케일 업하는 데 걸리는 시간은 노드 유형 및 현재 클러스터에 있는 데이터의 양에 따라 달라집니다.

다음 프로세스는 콘솔을 사용하여 복제본이 있는 클러스터를 현재 노드 유형에서 더 큰 새 노드 유형으로 확장합니다. ElastiCache 이 프로세스 중 DNS 항목이 업데이트되는 동안 프라이머리 노드에서 다른 버전에 대한 읽기 및 쓰기가 잠깐 중단될 수 있습니다. 5.0.6 이상 버전에서 실행 중인 노드의 경우 1초 미만, 이전 버전의 경우 몇 초 동안 가동 중지가 발생할 수 있습니다.

복제본을 사용하여 Redis OSS 클러스터를 확장하려면 (콘솔)
  1. https://console.aws.amazon.com/elasticache/ 에서 AWS Management Console 로그인하고 ElastiCache 콘솔을 엽니다.

  2. 탐색 창에서 Redis OSS 클러스터를 선택합니다.

  3. 클러스터 목록에서 스케일 업할 클러스터를 선택합니다. 이 클러스터는 클러스터형 Redis OSS 엔진이 아닌 Redis OSS 엔진을 실행해야 합니다.

  4. 수정을 선택합니다.

  5. [Modify Cluster] 마법사에서 다음을 수행합니다.

    1. [Node type] 목록에서 조정할 노드 유형을 선택합니다. 모든 노드 유형을 축소할 수 있는 것은 아닙니다.

    2. reserved-memory를 사용하여 메모리를 관리할 경우 [Parameter Group] 목록에서 새 노드 유형에 대해 올바른 메모리 양을 예약하는 사용자 지정 파라미터 그룹을 선택합니다.

  6. 스케일 업 프로세스를 즉시 수행하려면 [Apply immediately] 확인란을 선택합니다. [Apply immediately] 확인란을 선택하지 않고 비워 두면 이 클러스터의 다음 유지 관리 기간 중 스케일 업 프로세스가 수행됩니다.

  7. 수정을 선택합니다.

  8. 클러스터의 상태가 수정 중에서 사용 가능으로 변경되면 클러스터가 새 노드 유형으로 조정된 것입니다. 애플리케이션에서 엔드포인트를 업데이트할 필요가 없습니다.

다음 절차는 AWS CLI를 사용하여 복제 그룹을 현재 노드 유형에서 새롭고 더 큰 노드 유형으로 조정합니다. 이 과정에서 ElastiCache (Redis OSS) 는 새 노드를 가리키도록 DNS 항목을 업데이트합니다. 따라서 애플리케이션의 엔드포인트를 업데이트할 필요가 없습니다. Redis OSS 5.0.5 이상의 경우 클러스터가 온라인 상태를 유지하고 들어오는 요청을 처리하면서 자동 장애 조치가 활성화된 클러스터를 확장할 수 있습니다. 버전 4.0.10 이하의 경우, DNS 항목이 업데이트되는 동안 프라이머리 노드에서 이전 버전에 대한 읽기 및 쓰기가 잠깐 중단될 수 있습니다.

대형 노드 유형으로 스케일 업하는 데 걸리는 시간은 노드 유형 및 현재 캐시 클러스터에 있는 데이터의 양에 따라 달라집니다.

Redis OSS 복제 그룹을 확장하려면 ()AWS CLI
  1. 다음 파라미터와 함께 AWS CLI list-allowed-node-type-modifications 명령을 실행하여 확장할 수 있는 노드 유형을 결정합니다.

    • --replication-group-id - 복제 그룹의 이름입니다. 모든 복제 그룹 대신 특정 복제 그룹을 설명하려면 이 파라미터를 사용하세요.

    Linux, macOS, Unix의 경우:

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

    Windows의 경우:

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

    이 작업의 출력은 다음과 같습니다(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" ] }

    자세한 내용은 AWS CLI 참조의 list-allowed-node-type-modifications 섹션을 참조하세요.

  2. 다음 파라미터와 함께 AWS CLI modify-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-repl-group \ --cache-node-type cache.m3.xlarge \ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

    Windows의 경우:

    aws elasticache modify-replication-group ^ --replication-group-id my-repl-group ^ --cache-node-type cache.m3.xlarge ^ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

    이 명령의 출력은 다음과 같습니다(JSON 형식).

    { "ReplicationGroup": { "Status": "available", "Description": "Some description", "NodeGroups": [{ "Status": "available", "NodeGroupMembers": [{ "CurrentRole": "primary", "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-001.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-001" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-002.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-002" } ], "NodeGroupId": "0001", "PrimaryEndpoint": { "Port": 6379, "Address": "my-repl-group.8fdx4s.ng.0001.usw2.cache.amazonaws.com" } }], "ReplicationGroupId": "my-repl-group", "SnapshotRetentionLimit": 1, "AutomaticFailover": "disabled", "SnapshotWindow": "12:00-13:00", "SnapshottingClusterId": "my-repl-group-002", "MemberClusters": [ "my-repl-group-001", "my-repl-group-002" ], "PendingModifiedValues": {} } }

    자세한 내용은 AWS CLI 참조의 modify-replication-group 섹션을 참조하세요.

  3. 매개 변수를 사용한 경우 다음 --apply-immediately 매개 변수와 함께 AWS CLI describe-replication-group 명령을 사용하여 복제 그룹의 상태를 모니터링하십시오. 상태가 계속 수정 중이면 5.0.6 이상 버전에서 실행 중인 노드의 경우 1초 미만의 가동 중지가 발생할 수 있고, DNS 항목이 업데이트되는 동안 프라이머리 노드에서 이전 버전에 대한 읽기 및 쓰기가 잠깐 중단될 수 있습니다.

    • --replication-group-id - 복제 그룹의 이름입니다. 모든 복제 그룹 대신 특정 복제 그룹을 설명하려면 이 파라미터를 사용하세요.

    Linux, macOS, Unix의 경우:

    aws elasticache describe-replication-groups \ --replication-group-id my-replication-group

    Windows의 경우:

    aws elasticache describe-replication-groups ^ --replication-group-id my-replication-group

    자세한 내용은 describe-replication-groups AWS CLI참조를 참조하십시오.

다음 프로세스는 API를 사용하여 복제 그룹을 현재 노드 유형에서 더 큰 새 노드 유형으로 확장합니다 ElastiCache . Redis OSS 5.0.5 이상의 경우 클러스터가 온라인 상태를 유지하고 들어오는 요청을 처리하면서 자동 장애 조치가 활성화된 클러스터를 확장할 수 있습니다. 버전 4.0.10 이하의 경우, DNS 항목이 업데이트되는 동안 프라이머리 노드에서 이전 버전에 대한 읽기 및 쓰기가 잠깐 중단될 수 있습니다.

대형 노드 유형으로 스케일 업하는 데 걸리는 시간은 노드 유형 및 현재 캐시 클러스터에 있는 데이터의 양에 따라 달라집니다.

Redis OSS 복제 그룹 (API) 을 확장하려면 ElastiCache
  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. ModifyRedplicationGroup ElastiCache API 작업을 사용하고 다음 파라미터를 사용하여 현재 복제 그룹을 새 노드 유형으로 확장하십시오.

    • ReplicationGroupId - 복제 그룹의 이름입니다.

    • CacheNodeType - 이 복제 그룹에 있는 캐시 클러스터의 새로운 대형 노드 유형입니다. 이 값은 1단계의 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 작업을 사용하여 복제 그룹의 상태를 모니터링하십시오. 상태가 수정 중에서 사용 가능으로 변경되면 스케일 업된 새 복제 그룹에 쓰기를 시작할 수 있습니다.

    • 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.