Elasticache에서 cluster간 데이터 이관 관련 문의입니다.

0

기존 사용하던 Elasticache 클러스터에 있는 데이터는 새로 만든 Elasticache클러스터로 데이터를 복사하고 싶습니다. 데이터 이관 전, 신규 클러스터를 만들어서 연결 테스트를 한 이후에 데이터를 이동시키고 싶은데, 혹시 이미 만들어진 Elasticache 클러스터에 데이터를 밀어넣는 방법이 따로 있을까요?

shaamy
질문됨 10달 전182회 조회
1개 답변
0

문의주신 내용에 대하여 결론부터 말씀드리자면, AWS 네이티브 수준에서 하나의 ElastiCache 클러스터에서 다른 ElastiCache 클러스터로 데이터를 복사하는 방법은 없습니다. 이 작업은 ElastiCache 서비스가 아닌 애플리케이션 수준에서 수행해야 하며, 이를 위해 Third-party 솔루션을 사용할 수 있습니다. 그 중 하나인 RIOT를 소개해드립니다. [+] https://developer.redis.com/riot/

++++++++++++++ 절차 +++++++++++++++++++++++

1단계: Riot-Redis를 설치하려면 EC2 인스턴스를 시작하십시오. 이 인스턴스를 RIOT-Redis 호스트라고 부르겠습니다.

Riot-Redis는 Java가 필요하며 먼저 설치해야 합니다. 여기에서 우분투 인스턴스를 사용하고 있다고 가정해 봅시다.

a.) sudo apt update //패키지 인덱스 업데이트

b.) $ java -version //Java가 이미 설치되어 있는지 확인하고, 그렇지 않으면 다음 명령을 실행합니다.

c.) $ sudo apt install default-jre

d.) $ java -version // Open JDK 11를 사용해야 합니다.

RIOT-Redis git 리포지토리를 복제하십시오:

$ git clone https://github.com/redis-developer/riot.git

복제하신 바이너리는 다음 명령어를 통해 찾을 수 있습니다.

$ cd riot/bin

2 단계: Riot-Redis 호스트가 포트 6379에서 소스와 목적지 모두에 도달 할 수 있는지 확인하십시오. 소스 및 대상은 온프레미스 또는 모든 클라우드 Redis 데이터베이스일 수 있습니다.

참고: 온프레미스 Redis를 사용하는 경우 Redis의 설정을 다음과 같이 수정하여 통신이 가능하도록 하셔야 합니다. '/etc/redis/redis.conf' 파일을 편집하신 이후 Redis 서비스를 다시 시작하십시오.

bind 0.0.0.0
protected-mode no

3단계: 복제 (Riot-Redis 호스트에서 명령 실행)

a.) ElastiCache에서 ElastiCache로 (클러스터 모드가 비활성화된 경우).복제하려면 아래 명령을 사용하십시오.

   $ ./riot-redis -h <source_EC_endpoint> -p 6379 replicate -h <Destination_EC_endpoint> -p 6379 --mode snapshot

b.) ElastiCache에서 ElastiCache로 (클러스터 모드가 활성화된 경우).복제하려면 아래 명령을 사용하십시오.

$ /riot-redis -h <source_EC_endpoint> -p 6379 -c replicate -h <Destination_EC_endpoint> -p 6379 -c --mode snapshot

복제 모드:

--mode snapshot

키 스캔을 사용한 초기 복제

--mode liveonly

키스페이스 알림을 사용한 연속 복제 (변경된 키만 복제됨)

--mode live

키 스캔과 키스페이스 알림을 동시에 사용하는 초기 및 연속 복제

참고: "live" 모드를 사용하려면 Redis에서 키스페이스 알림을 활성화해야 합니다.

Onprem - "CONFIG SET 알림-키스페이스-이벤트 KEA" Elasticache - Blog

라이브 복제 메커니즘은 데이터 일관성을 보장하지 않습니다. Redis는 게시/구독을 통한 키스페이스 알림 전송이 보장되지 않습니다. 예를 들어 네트워크 장애가 발생하는 경우 Riot-Redis가 일부 알림을 놓칠 수 있습니다. 따라서 안정성을 위해 스냅샷 모드를 사용하는 것이 좋습니다.

ayush_t
답변함 10달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인