확장할 수 없는 Amazon ElastiCache가 자체 설계한 클러스터의 문제를 해결하고 싶습니다.
해결 방법
자체 설계한 클러스터를 축소할 수 없다면 다음을 확인하세요.
캐시 데이터 크기
모든 ElastiCache 노드에는 Redis 엔진용으로 예약된 전용 메모리가 있으며 새 노드 유형에는 캐시 데이터를 저장하기에 충분한 메모리가 없을 수 있습니다. 예를 들어, cache.m5.xlarge 노드 유형은 12.93GiB의 저장 공간을 가지고 있습니다. 기본적으로 ElastiCache는 전체 메모리의 25%를 fullsync 및 스냅샷 생성과 같은 관리 작업을 위해 예약합니다. 이 양을 변경하려면 reserved-memory-percent 파라미터를 업데이트하세요. 노드 유형 및 스토리지 용량 목록은 Amazon ElastiCache 요금을 참조하세요.
used_memory 및 maxmemory 노드 파라미터의 메모리 사용량을 확인하려면 info memory 명령을 사용하세요.
참고: info memory 명령은 메모리를 GB 단위로 표시합니다. Amazon ElastiCache 요금은 메모리를 GiB 단위로 표시합니다.
test.xm4oz6.ng.0001.use1.cache.amazonaws.com:6379> info memory
# Memory
used_memory:5579416
used_memory_human:5.32M
used_memory_rss:11218944
used_memory_rss_human:10.70M
used_memory_peak:5856480
used_memory_peak_human:5.59M
maxmemory:10418941287
maxmemory_human:9.70G
노드에서 사용 가능한 메모리 부족을 해결하려면 캐시 데이터를 줄이거나 용량이 더 큰 노드 유형을 선택하세요.
사용 가능한 노드 유형
참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.
확장하거나 축소할 때 현재 노드 유형에서 선택할 수 있는 노드 유형을 결정하려면 ListAllowedNodeTypeModifications API를 실행합니다.
Redis 자체 설계 클러스터에서 확장할 수 있는 사용 가능한 노드 유형을 보려면 ListAllowedNodeTypeModifications 명령을 실행하세요.
$aws elasticache list-allowed-node-type-modifications --replication-group-id checkout-cache-test
{
"ScaleUpModifications": [
"cache.r4.16xlarge",
"cache.r5.12xlarge",
"cache.r5.24xlarge",
"cache.r5.4xlarge"
],
"ScaleDownModifications": [
"cache.m3.2xlarge",
"cache.m3.large",
"cache.m3.medium",
"cache.m3.xlarge",
"cache.m4.2xlarge",
"cache.m4.4xlarge",
"cache.m4.large",
"cache.m4.xlarge",
"cache.r3.2xlarge",
"cache.r3.large",
"cache.r3.xlarge",
"cache.r4.2xlarge",
"cache.r4.large",
"cache.r4.xlarge",
"cache.t2.medium",
"cache.t2.micro",
"cache.t2.small",
"cache.t3.medium",
"cache.t3.micro",
"cache.t3.small"
]
}
참고: 더 작은 노드 유형으로 확장하는 데 걸리는 시간은 노드 유형과 현재 캐시 클러스터의 데이터 양에 따라 다릅니다.
관련 정보
예약 메모리 관리
Redis 캐시 클러스터 축소(AWS CLI)