2014-03-12 6 views
9

현재 Elasticache를 통해 Redis를 사용하는 사이트를 운영하고 있습니다. 우리는 현재 인스턴스 유형에서 약 70 % 가량 차지하고 있기 때문에 RAM이 많은 더 큰 인스턴스로 이동하려고합니다.Elasticache 인스턴스 확장?

RDS 인스턴스를 확장 할 수있는 것과 같은 방법으로 Elasticache 인스턴스를 확장 할 수 있습니까?

대신 복제본 그룹을 만들고 더 큰 인스턴스를 추가하려고합니다. 그런 다음 복제되고 실행되면 새 인스턴스를 마스터로 승격합니다. 복제본은 기본 노드와 동일한 인스턴스 유형으로 생성되기 때문에 AWS 콘솔을 통해 불가능합니다.

내가 누락되었거나 달성 할 수없는 유스 케이스일까요? 나는 더 큰 인스턴스를 시작하고 수동으로 복제를 처리 한 후 새로운 서버를 사용하도록 웹 서버를 통해 이동하지만,이 때문에 DNS 마이그레이션에 약간의 다운 타임을 필요로 할 수 있음을 이해 등

감사합니다! 앨런

답변

9

Elasticache는 memcached라는 단어의 의미에서 캐시 솔루션과 비슷하다고 느껴집니다. 즉, 확장하려면 클러스터를 새로 가동하고 응용 프로그램을이 클러스터로 전환해야합니다. 캐시가 다시 작성되어야하기 때문에 성능이 잠시 저하됩니다.

많은 사람들에게 (내가 포함 된 것으로 생각됩니다) 그러나 Redis는 데이터 손실이 용납 될 수없는 NoSQL 데이터베이스 솔루션입니다. Amazon은 읽기 복제본을 해당 문제에 대한 "솔루션"으로 제공하지만 여전히 약간의 문제가 있습니다. 물론 데이터 손실의 위험을 줄이기 위해 복제 기능을 제공하지만 Redis 데이터베이스의 RDS처럼 생산 안정성이있는 (또는 성숙한) 곳은 아직 없습니다 (캐시와는 대조적으로 매우 완벽합니다). 백업 및 복원 절차는 물론 잘 구조화 된 변경 관리를 통해 확장을 지원합니다. 내 지식에 따라 ElastiCache는 이 아니며은 실행중인 클러스터의 인스턴스 유형을 변경하도록 지원하지 않습니다. 이는 재부팅시 모든 데이터를 잃어 버리는 메모리 내 솔루션 일뿐입니다.

데이터 손실이 우려된다면 단순히 ElastiCache를 사용하는 대신 자동 롤백 솔루션을 살펴 봐야한다고 말하고 싶습니다. 조금만 실행하면 비용이 저렴할뿐 아니라 다른 EC2 인스턴스 에서처럼 인스턴스 유형을 변경할 수 있습니다 (물론 중지 한 후). 또한 RDB 또는 AOF 지속성을 사용할 수 있습니다. ElastiCache는 보존하는 반면

+0

감사합니다. Redis를 준 데이터베이스 솔루션으로 사용하는 것이 맞습니다. 실제로는 Redis 서버가 2 개 (데이터베이스 앞의 기존 캐시처럼 작동) 계획하고 있습니다. 그것은 우리가 염려하는 업 스케일링을 통해 데이터를 보관해야하는 두 번째 서버입니다. 이제 Scalr.com을 사용하여 Redis 서버가 읽기 복제본을 제공하고 매우 빠른 장애 조치가 나타나는 것처럼 관리하고 있습니다. 장점은 우리가 원하는 AWS 인스턴스 유형까지 확장 할 수 있다는 것입니다. 감사합니다., Alan – aclelland

+0

ElastiCache Redis는 RDB 스냅 샷과 AOF를 허용합니다. "Redis 슬레이브는 필요에 따라 RDB 스냅 샷 및/또는 AOF 추가 로그를 생성하는 데 사용할 수 있으며 이러한 파일을 S3에 전송하여 내구성을 높일 수 있습니다 . " From https://aws.amazon.com/elasticache/faqs/#redis-features – cldwalker

+0

예, 물론, 제가 너무 먼 걸음을 내디뎠을 수도 있습니다. 인스턴스를 떼어 내고 스냅 샷을 기반으로 다른 인스턴스를 만드는 방식으로 확장하는 것은 물론 당면한 문제를 해결했습니다. 그러나, 나는 내가 말한대로 서있다 : ElastiCache를 데이터베이스로 사용하는 것을 권장하지 않는다. 아마존 자체도 의심 스럽습니다. –

1

이제 더 큰 노드 유형까지 확장 할 수 있습니다

https://aws.amazon.com/blogs/aws/elasticache-for-redis-update-upgrade-engines-and-scale-up/

+0

이것은 이론적으로 질문에 대답 할 수 있지만 여기서 대답의 핵심 부분을 포함하고 참조 용 링크를 제공하는 것이 바람직합니다 (// meta.stackoverflow.com/q/8259). – manetsus

+1

이 기능은 Redis 클러스터에서만 작동하지만 memcached에서는 작동하지 않습니다. – Screatch

1

예, 당신은 즉시 더 큰 크기로 실행 Elasticache 인스턴스의 형식을 확장 할 수 있습니다. 나는 그것을 테스트했고 실제로 다운 타임을 거의 경험하지 못했습니다. (처음에는 몇 초가 걸렸지 만 온라인에서는 매우 빨리 돌아 왔습니다. 콘솔에서 프로세스를 완료하는 데 대략 몇 분이 걸릴 것입니다.) 나는 t2 문제가없는 m3.medium으로.

관련 문제