클러스터에서 노드 제거 - Amazon ElastiCache

클러스터에서 노드 제거

Memcached 클러스터의 노드 수를 변경할 때마다 키스페이스의 일부라도 다시 매핑해야 정확한 노드에 매핑됩니다. Memcached 클러스터의 로드 밸런싱에 대한 자세한 내용은 효율적인 로드 밸런싱을 위해 ElastiCache 클라이언트 구성 섹션을 참조하세요.

AWS Management Console, AWS CLI 또는 ElastiCache API를 사용하여 클러스터에서 노드를 삭제할 수 있습니다.

클러스터 에서 노드를 제거하려면(콘솔)
  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/elasticache/에서 ElastiCache 콘솔을 엽니다.

  2. 상단 오른쪽 모서리의 목록에서 노드를 제거할 클러스터의 AWS 리전을 선택합니다.

  3. 노드를 제거하려는 클러스터에서 실행 중인 엔진을 탐색 창에서 선택합니다.

    선택한 엔진을 실행하는 클러스터 목록이 표시됩니다.

  4. 클러스터 목록에서 노드를 제거할 클러스터 이름을 선택합니다.

    클러스터의 노드 목록이 나타납니다.

  5. 제거할 노드의 노드 ID 왼쪽에 있는 상자를 선택합니다. ElastiCache 콘솔을 사용하면 노드를 한 번에 하나만 삭제할 수 있으므로 노드를 여러 개 선택하면 노드 삭제 버튼을 사용할 수 없습니다.

    노드 삭제 페이지가 나타납니다.

  6. 노드를 삭제하려면 노드 삭제 페이지를 완료하고 노드 삭제를 선택합니다. 노드를 유지하려면 취소를 선택합니다.

신규 추가 및 제거 요청이 대기 중 요청에 미치는 영향
시나리오 대기 중 작업 신규 요청 결과

시나리오 1

Delete

Delete

신규 삭제 요청(대기 중 또는 즉시)은 대기 중 삭제 요청을 대체합니다.

예를 들어 노드 0001, 0003 및 0007에서 삭제 요청이 대기 중일 때 노드 0002 및 0004를 삭제하는 신규 요청이 생성될 경우 노드 0002 및 0004만 삭제됩니다. 노드 0001, 0003 및 0007은 삭제되지 않습니다.

시나리오 2

Delete

생성

신규 생성 요청(대기 중 또는 즉시)은 대기 중 삭제 요청을 대체합니다.

예를 들어 노드 0001, 0003 및 0007에서 삭제 요청이 대기 중일 때 노드를 생성하는 신규 요청이 생성될 경우 새 노드가 생성되고 노드 0001, 0003 및 0007은 삭제되지 않습니다.

시나리오 3

생성

Delete

신규 삭제 요청(대기 중 또는 즉시)은 대기 중 생성 요청을 대체합니다.

예를 들어 노드 2개를 생성하는 요청이 대기 중일 때 노드 0003을 삭제하는 요청이 생성될 경우 새 노드는 생성되지 않고 노드 0003이 삭제됩니다.

시나리오 4

생성

생성

신규 생성 요청은 대기 중 생성 요청에 추가됩니다.

예를 들어 노드 2개를 생성하는 요청이 대기 중일 때 노드 3개를 생성하는 신규 요청이 생성될 경우 신규 요청이 대기 중 요청에 추가되어 노드 5개가 생성됩니다.

중요

신규 생성 요청이 Apply Immediately - Yes(즉시 적용 - 예)로 설정된 경우 모든 생성 요청이 즉시 실행됩니다. 신규 생성 요청이 Apply Immediately - No(즉시 적용 - 아니요)로 설정된 경우 모든 생성 요청은 대기 중 작업입니다.

어떤 작업이 대기 중인지 알아보려면 설명 탭을 선택하여 대기 중 생성 또는 삭제 작업이 몇 개인지 확인합니다. 대기 중 생성 작업과 대기 중 삭제 작업이 동시에 있을 수는 없습니다.

  1. 제거할 노드의 ID를 확인합니다. 자세한 내용은 클러스터 세부 정보 보기 섹션을 참조하세요.

  2. 다음 예제와 같이 제거할 노드 목록과 함께 modify-cache-cluster CLI 작업을 사용하세요.

    명령줄 인터페이스를 사용하여 클러스터에서 노드를 제거하려면 다음 파라미터와 함께 modify-cache-cluster 명령을 사용하세요.

    • --cache-cluster-id 노드를 제거할 캐시 클러스터의 ID입니다.

    • --num-cache-nodes --num-cache-nodes 파라미터는 수정이 적용된 후 이 클러스터에 포함할 노드 수를 지정합니다.

    • --cache-node-ids-to-remove 이 클러스터에서 제거할 노드 ID 목록입니다.

    • --apply-immediately 또는 --no-apply-immediately 이 노드를 즉시 제거할지 아니면 다음 번 유지 관리 기간에 제거할지 지정합니다.

    • --region 노드를 제거할 클러스터의 AWS 리전을 지정합니다.

    다음 예제에서는 my-cluster 클러스터에서 노드 0001을 즉시 제거합니다.

    Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

    aws elasticache modify-cache-cluster \ --cache-cluster-id my-cluster \ --num-cache-nodes 2 \ --cache-node-ids-to-remove 0001 \ --region us-east-2 \ --apply-immediately

    Windows의 경우:

    aws elasticache modify-cache-cluster ^ --cache-cluster-id my-cluster ^ --num-cache-nodes 2 ^ --cache-node-ids-to-remove 0001 ^ --region us-east-2 ^ --apply-immediately

    이 작업은 다음과 유사한 출력을 생성합니다(JSON 형식).

    { "CacheCluster": { "Engine": "memcached", "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.memcached1.4", "ParameterApplyStatus": "in-sync" }, "CacheClusterId": "my-cluster", "PreferredAvailabilityZone": "us-east-2b", "ConfigurationEndpoint": { "Port": 11211, "Address": "rlh-mem000.7ef-example.cfg.usw2.cache.amazonaws.com" }, "CacheSecurityGroups": [], "CacheClusterCreateTime": "2016-09-21T16:28:28.973Z", 9dcv5r "AutoMinorVersionUpgrade": true, "CacheClusterStatus": "modifying", "NumCacheNodes": 3, "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "SecurityGroups": [ { "Status": "active", "SecurityGroupId": "sg-dbe93fa2" } ], "CacheSubnetGroupName": "default", "EngineVersion": "1.4.24", "PendingModifiedValues": { "NumCacheNodes": 2, "CacheNodeIdsToRemove": [ "0001" ] }, "PreferredMaintenanceWindow": "sat:09:00-sat:10:00", "CacheNodeType": "cache.m3.medium", } }

자세한 내용은 AWS CLI 항목 describe-cache-clustermodify-cache-cluster를 참조하세요.

ElastiCache API를 사용하여 노드를 제거하려면 다음과 같이 캐시 클러스터 ID 및 제거할 노드 목록과 함께 ModifyCacheCluster API 작업을 호출하세요.

  • CacheClusterId 노드를 제거할 캐시 클러스터의 ID입니다.

  • NumCacheNodes NumCacheNodes 파라미터는 수정이 적용된 후 이 클러스터에 포함할 노드 수를 지정합니다.

  • CacheNodeIdsToRemove.member.n 클러스터에서 제거할 노드 ID 목록입니다.

    • CacheNodeIdsToRemove.member.1=0004

    • CacheNodeIdsToRemove.member.1=0005

  • ApplyImmediately 이 노드를 즉시 제거할지 아니면 다음 번 유지 관리 기간에 제거할지 지정합니다.

  • Region 노드를 제거할 클러스터의 AWS 리전을 지정합니다.

다음 예제에서는 my-cluster 클러스터에서 노드 0004 및 0005를 즉시 제거합니다.

https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyCacheCluster &CacheClusterId=my-cluster &ApplyImmediately=true &CacheNodeIdsToRemove.member.1=0004 &CacheNodeIdsToRemove.member.2=0005 &NumCacheNodes=3 &Region us-east-2 &Version=2014-12-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &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>

자세한 내용은 ElastiCache API 항목 ModifyCacheCluster를 참조하세요.