이 문서에서는 Azure Cache for Redis 인스턴스에서 Azure Managed Redis 인스턴스로 마이그레이션하는 방법을 알아봅니다.
필수 조건
- Azure 구독 - 체험 구독 만들기
- Azure Cache for Redis의 인스턴스
Azure Cache for Redis와 Azure Managed Redis 간의 기능 비교
기능 설명 | 기초 | 스탠다드 | 프리미엄 | 균형 잡힌 | 메모리 최적화 | 최적화된 컴퓨팅 |
---|---|---|---|---|---|---|
가용도 | 해당 없음(N/A) | 99.9% | 99.9% | 해당 없음(N/A) | 해당 없음(N/A) | 해당 없음(N/A) |
전송 중 암호화 | 예 | 예 | 예 | 예 | 예 | 예 |
네트워크 격리 | 예 | 예 | 예 | 예 | 예 | 예 |
확장/확장 | 예 | 예 | 예 | 예 | 예 | 예 |
규모 축소/축소 | 예 | 예 | 예 | 아니오 | 아니오 | 아니오 |
OSS 클러스터링 | 아니오 | 아니오 | 예 | 예 | 예 | 예 |
데이터 지속성 | 아니오 | 아니오 | 예 | 예 | 예 | 예 |
영역 중복성 | 아니오 | 예(미리 보기) | 예 | 예 | 예 | 예 |
지리적 복제 | 아니오 | 아니오 | 예(수동) | 예(활성) | 예(활성) | 예(활성) |
연결 감사 로그 | 아니오 | 아니오 | 예 | 예(이벤트 기반) | 예(이벤트 기반) | 예(이벤트 기반) |
Redis 모듈 | 아니오 | 아니오 | 아니오 | 예 | 예 | 예 |
가져오기/내보내기 | 아니오 | 아니오 | 예 | 예 | 예 | 예 |
재부팅 | 예 | 예 | 예 | 아니오 | 아니오 | 아니오 |
예약된 업데이트 | 예 | 예 | 예 | 아니오 | 아니오 | 아니오 |
Microsoft Entra ID 인증 | 예 | 예 | 예 | 예 | 예 | 예 |
Microsoft Entra ID RBAC | 예 | 예 | 예 | 아니오 | 아니오 | 아니오 |
키스페이스 알림 | 예 | 예 | 예 | 아니오 | 아니오 | 아니오 |
비고가용성 | 해당 없음(N/A) | 아니오 | 아니오 | 예 | 예 | 예 |
다음은 이전 매핑에서 다루지 않는 몇 가지 다른 차이점입니다. 다음과 같은 클라이언트 애플리케이션 변경 사항을 고려합니다.
기능 설명 | Azure Cache for Redis (아주어 캐시 포 레디스) | Azure Managed Redis |
---|---|---|
DNS 접미사(PROD 클라우드에만 해당) | .redis.cache.windows.net |
<region>.redis.azure.net |
TLS 포트 | 6380 | 1만 |
TLS가 아닌 포트 | 6379 | 지원되지 않음 |
개별 노드 TLS 포트 | 130XX | 85xx |
개별 노드 비 TLS 포트 | 150XX | 지원되지 않음 |
클러스터링 지원 | OSS 클러스터링 모드 | OSS 및 엔터프라이즈 클러스터 모드 |
지원되지 않는 명령 | 지원되지 않는 명령 | 다중 키 명령 |
지역별 가용성 | 모든 Azure 지역 | * 이 섹션 뒤의 지역 목록을 참조하세요. |
Redis 버전 | 6 | 7.4 |
지원되는 TLS 버전 | 1.2 및 1.3 | 1.2 및 1.3 |
Azure Managed Redis의 지역별 가용성
Azure Managed Redis는 현재 다음 지역에서 지원됩니다. 이 목록은 정기적으로 업데이트됩니다. 결국 Azure Managed Redis는 Azure의 모든 지역에서 지원됩니다. 영업 담당자와 협력하여 지원이 필요한 지역에 대한 요청을 제기합니다.
아메리카
- 브라질 남부
- 브라질 남동부
- 캐나다 중부
- 캐나다 동부
- 미국 중부
- 미국 동부
- 미국 동부 2
- 멕시코 중부
- 미국 중북부
- 미국 중남부
- 미국 중서부
- 미국 서부
- 미국 서부 2
- 미국 서부 3
유럽
- 프랑스 남부
- 독일 북부
- 독일 중서부
- 이탈리아 북부
- 노르웨이 동부
- 노르웨이 서부
- 스페인 중부
- 스웨덴 중부
- 스웨덴 남부
- 스위스 북부
- 스위스 서부
- 영국 남부
- 영국 서부
- 서유럽
중동
- 이스라엘 중부
- 아랍에미리트 중부
- 아랍에미리트 북부
아프리카
- 남아프리카 북부
- 남아프리카 공화국 서부
아시아 태평양
- 오스트레일리아 중부
- 오스트레일리아 중부 2
- 오스트레일리아 동부
- 오스트레일리아 남동부
- 인도 중부
- 동아시아
- 인도네시아 중부
- 일본 동부
- 일본 서부
- Jio 인도 중부
- Jio 인도 서부
- 한국 중부
- 한국 남부
- 동남 아시아
- 인도 남부
- 대만 북부
- 대만 북서부
Azure Cache for Redis 인스턴스를 Azure Managed Redis로 마이그레이션
비고
캐시를 사용하기 위해 필요에 따라 나머지 애플리케이션 및 관련 Azure 리소스를 업데이트해야 합니다.
Azure Portal에서 이동할 캐시 선택
Azure Cache for Redis Basic /Standard/Premium 비클러스터형
비고
기본 SKU 마이그레이션을 위해 Azure Managed Redis의 비고가용성 옵션 사용
Azure Cache for Redis (아주어 캐시 포 레디스) | Azure Managed Redis | 추가 메모리(%) |
---|---|---|
기본/표준 - C0 | 잔액 - B0 | 50 |
기본/표준 - C1 | 잔액 - B1 | 0 |
기본/표준 - C2 | 잔액 - B3 | 17 |
기본/표준 - C3 | 잔액 - B5 | 0 |
기본/표준 - C4 | 메모리 최적화 – M10* | -8 |
기본/표준 – C4 | 메모리 최적화 – M20** | 46 |
기본/표준 - C5 | 메모리 최적화 – M20* | -8 |
기본/표준 – C5 | 메모리 최적화 – M50** | 57 |
기본/표준 - C6 | 메모리 최적화 - M50 | 12 |
프리미엄 - P1 | 잔액 - B5 | 0 |
프리미엄 - P2 | 잔액 - B10* | -8 |
프리미엄 - P2 | 잔액 - B20** | 46 |
프리미엄 - P3 | 잔액 - B20* | -8 |
프리미엄 - P3 | 잔액 - B50** | 57 |
프리미엄 - P4 | 잔액 - B50 | 12 |
프리미엄 - P5 | 잔액 - B100 | 0 |
- *이 옵션은 비용 효율성을 위한 것입니다. 지난 달에 사용된 총 메모리의 최대값이 이 옵션을 선택하는 제안된 Azure Managed Redis 메모리보다 작은지 확인합니다.
- ** 이 옵션은 풍부한 메모리 소비를 위한 것입니다.
Azure Cache for Redis Premium 클러스터형
- 분할된 클러스터의 경우 동등한 총 메모리가 있는 메모리 최적화 계층을 선택합니다.
- 읽기 복제본이 두 개 이상 있는 클러스터의 경우 주 복제본과 동일한 총 메모리가 있는 컴퓨팅 최적화 계층을 선택합니다.
마이그레이션 옵션
클라이언트 애플리케이션은 클러스터링 모드 및 엔드포인트가 다른 Azure Managed Redis 인스턴스를 사용할 수 있어야 합니다. Azure Cache for Redis 및 Azure Managed Redis는 호환되므로 대부분의 시나리오에서는 연결 구성 이외의 애플리케이션 코드 변경이 필요하지 않습니다.
자세한 내용은 다음을 참조하세요.
Azure Cache for Redis를 Azure Managed Redis로 마이그레이션하기 위한 옵션
옵션 | 장점 | 단점 |
---|---|---|
새 캐시 만들기 | 가장 간단하게 구현할 수 있습니다. | 데이터를 새 캐시로 다시 채워야 하므로, 많은 애플리케이션에서 이 방법이 작동하지 않을 수 있습니다. |
RDB 파일을 통해 데이터 내보내기 및 가져오기 | 일반적으로 Redis 캐시와 호환됩니다. | RDB 파일이 생성된 후 데이터가 기존 캐시에 기록되는 경우 일부 데이터가 손실될 수 있습니다. |
2개의 캐시에 데이터 이중 쓰기 | 데이터 손실 또는 가동 중지 시간 없음 기존 캐시의 작업 중단이 없습니다. 새 캐시를 간편하게 테스트할 수 있습니다. | 긴 시간 동안 2개의 캐시가 필요합니다. |
프로그래밍 방식으로 데이터 마이그레이션 | 데이터 이동 방법을 완벽하게 제어할 수 있습니다. | 사용자 지정 코드가 필요합니다. |
새 Azure Cache for Redis 만들기
이 방법은 엄밀히 따지면 마이그레이션이 아닙니다. 데이터 손실이 문제가 되지 않는 경우 Azure Managed Redis 계층으로 이동하는 가장 쉬운 방법은 새 캐시 인스턴스를 만들고 애플리케이션을 연결하는 것입니다. 예를 들어 Redis를 데이터베이스 레코드의 조회 캐시로 사용하는 경우 간단하게 캐시를 처음부터 다시 작성할 수 있습니다. 이 옵션을 구현하는 일반적인 단계는 다음과 같습니다.
- 새 Azure Managed Redis 인스턴스를 만듭니다.
- 새 인스턴스를 사용하도록 애플리케이션을 업데이트합니다.
- 이전 Azure Cache for Redis 인스턴스를 삭제합니다.
RDB 파일로 데이터 내보내기 및 Azure Managed Redis로 가져오기
이 옵션은 프리미엄 계층 캐시에만 적용됩니다. 오픈 소스 Redis는 캐시의 메모리 내 데이터 세트 스냅샷을 만들어서 파일에 저장하는 표준 메커니즘을 정의합니다. 다른 Redis 캐시는 내보낸 RDB 파일을 읽을 수 있습니다. Azure Cache for Redis 프리미엄 계층 은 RDB 파일을 통해 캐시 인스턴스에서 데이터를 내보낼 수 있습니다. RDB 파일을 사용하여 기존 Azure Cache for Redis 인스턴스에서 Azure Managed Redis 인스턴스로 데이터를 전송할 수 있습니다.
이 옵션을 구현하는 일반적인 단계는 다음과 같습니다.
- 기존 Azure Cache for Redis 인스턴스와 크기가 같거나 더 큰 새 Azure Managed Redis 인스턴스를 만듭니다.
- 이러한 내보내기 지침 또는 PowerShell 내보내기 cmdlet을 사용하여 기존 Azure Cache for Redis 인스턴스에서 RDB 파일 내보내기
- 이러한 가져오기 지침 또는 PowerShell 가져오기 cmdlet을 사용하여 RDB 파일을 새 Azure Managed Redis 인스턴스로 가져옵니다.
- 새 Azure Managed Redis 인스턴스 연결 문자열 사용하도록 애플리케이션을 업데이트합니다.
데이터 내보내기:
az redis export --resource-group <ResourceGroupName> --name <Azure Cache for Redis instance name> --prefix <BlobPrefix> --container <ContainerName> --file-format <FileFormat>
데이터 가져오기:
az redis import --resource-group <ResourceGroupName> --name <Azure Managed Redis instance name> --files <BlobUris>
ResourceGroupName, CacheName, BlobPrefix, ContainerName 및 FileFormat을 특정 값으로 대체합니다. --file-format_ RDB 또는 AOF일 수 있습니다.
마이그레이션 기간 동안 동시에 2개의 Redis 캐시에 쓰기
캐시 간에 직접 데이터를 이동하는 대신, 애플리케이션을 사용하여 기존 캐시 및 설정 중인 새 캐시에 데이터를 쓸 수 있습니다. 애플리케이션은 여전히 처음에 기존 캐시에서 데이터를 읽습니다. 새 캐시에 필요한 데이터가 생기면 애플리케이션을 해당 캐시로 전환하고 이전 캐시를 사용 중지합니다. 예를 들어 Redis를 세션 저장소로 사용하며, 애플리케이션 세션은 7일 동안 유효하다고 가정해 보겠습니다. 1주일 동안 두 캐시에 쓴 후 새 캐시에 비어 있지 않은 모든 세션 정보가 포함되어 있는지 확인할 수 있습니다. 해당 시점부터 데이터 손실에 대한 걱정 없이 안전하게 새 캐시를 사용할 수 있습니다.
이 옵션을 구현하는 일반적인 단계는 다음과 같습니다.
- 기존 Azure Cache for Redis 인스턴스와 크기가 같거나 더 큰 새 Azure Managed Redis 인스턴스를 만듭니다.
- 새 인스턴스와 원래 인스턴스 모두에 쓰도록 애플리케이션 코드를 수정합니다.
- 새 인스턴스에 데이터가 충분히 채워질 때까지 계속해서 원래 인스턴스에서 데이터를 읽습니다.
- 새 인스턴스에서만 데이터를 읽고 쓰도록 애플리케이션 코드를 업데이트합니다.
- 원래 인스턴스를 삭제합니다.
프로그래밍 방식으로 마이그레이션
기존 Azure Cache for Redis 인스턴스에서 데이터를 프로그래밍 방식으로 읽고 Azure Managed Redis 인스턴스에 기록하여 사용자 지정 마이그레이션 프로세스를 만듭니다. 두 가지 오픈 소스 도구를 사용해 볼 수 있습니다.
-
Redis-copy
- 이 오픈 소스 도구를 사용하여 한 Azure Cache for Redis 인스턴스에서 다른 인스턴스로 데이터를 복사할 수 있습니다. 이 도구는 서로 다른 Azure 캐시 지역에 있는 캐시 인스턴스 간에 데이터를 이동하는 데 유용합니다. 컴파일된 버전도 사용할 수 있습니다. 또한 소스 코드가 사용자 고유의 마이그레이션 도구를 작성하는 데 유용한 가이드라는 것을 알 수 있습니다.
-
폭동
- RIOT는 Redis 커뮤니티에서 테스트한 또 다른 인기 있는 마이그레이션 도구입니다. Redis에서 데이터를 가져올 수 있도록 설계된 명령줄 유틸리티입니다.
비고
이 도구는 Microsoft에서 공식적으로 지원하는 도구가 아닙니다.
이 옵션을 구현하는 일반적인 단계는 다음과 같습니다.
- 기존 캐시가 있는 지역에 VM을 만듭니다. 데이터 세트가 크면 비교적 강력한 VM을 선택하여 복사 시간을 줄입니다.
- 새 Azure Managed Redis 인스턴스를 만듭니다.
- 새 캐시의 데이터를 플러시하여 캐시를 비웁니다. 복사 도구 자체는 대상 캐시의 기존 키를 덮어쓰지 않기 때문에 이 단계가 필수입니다. 중요: 원본 캐시에서 플러시하지 않도록 합니다.
- 앞에서 언급한 오픈 소스 도구와 같은 애플리케이션을 사용하여 원본 캐시에서 대상으로 데이터 복사를 자동화합니다. 데이터 세트의 크기에 따라 복사 프로세스가 완료될 때까지 다소 시간이 걸릴 수 있습니다.