Azure Cache for Redis에서 Azure Managed Redis로 이동(미리 보기)
이 문서에서는 Azure Cache for Redis 인스턴스에서 Azure Managed Redis(미리 보기) 인스턴스로 마이그레이션하는 방법을 알아봅니다.
Important
Azure Managed Redis는 현재 미리 보기로 제공됩니다. 베타, 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 약관은 Microsoft Azure 미리 보기에 대한 추가 사용 약관을 참조하세요.
필수 조건
- Azure 구독 - 체험 구독 만들기
- Azure Cache for Redis의 인스턴스
Azure Cache for Redis와 Azure Managed Redis 간의 기능 비교(미리 보기)
기능 설명 | Basic | Standard | Premium | 균형(미리 보기) | 메모리 최적화(미리 보기) | 컴퓨팅 최적화(미리 보기) |
---|---|---|---|---|---|---|
가용성 | 해당 없음 | 99.9% | 99.9% | 해당 없음 | 해당 없음 | 해당 없음 |
전송 중 암호화 | 예 | 예 | 예 | 예 | 예 | 예 |
네트워크 격리 | 예 | 예 | 예 | 예 | 예 | 예 |
확장/확장 | 예 | 예 | 예 | 예 | 예 | 예 |
규모 축소/축소 | 예 | 예 | 예 | 아니요 | 아니요 | 아니요 |
OSS 클러스터링 | 아니요 | 아니요 | 예 | 예 | 예 | 예 |
데이터 지속성 | 아니요 | 아니요 | 예 | 예 | 예 | 예 |
영역 중복 | 아니요 | 예(미리 보기) | 예 | 예 | 예 | 예 |
지역에서 복제 | 아니요 | 아니요 | 예(수동) | 예(활성) | 예(활성) | 예(활성) |
연결 감사 로그 | 아니요 | 아니요 | 예 | 예(이벤트 기반) | 예(이벤트 기반) | 예(이벤트 기반) |
Redis 모듈 | 아니요 | 아니요 | 아니요 | 예 | 예 | 예 |
Import/Export | 아니요 | 아니요 | 예 | 예 | 예 | 예 |
Reboot | 예 | 예 | 예 | 아니요 | 아니요 | 아니요 |
예약된 업데이트 | 예 | 예 | 예 | 아니요 | 아니요 | 아니요 |
Microsoft Entra ID 인증 | 예 | 예 | 예 | 예 | 예 | 예 |
Microsoft Entra ID RBAC | 예 | 예 | 예 | 아니요 | 아니요 | 아니요 |
키스페이스 알림 | 예 | 예 | 예 | 아니요 | 아니요 | 아니요 |
비고가용성 | 해당 없음 | 아니오 | 아니요 | 예 | 예 | 예 |
다음은 이전 매핑에서 다루지 않는 몇 가지 다른 차이점입니다. 다음과 같은 클라이언트 애플리케이션 변경 사항을 고려합니다.
기능 설명 | Azure Cache for Redis | Azure Managed Redis(미리 보기) |
---|---|---|
DNS 접미사(PROD 클라우드에만 해당) | .redis.cache.windows.net |
<region>.redis.azure.net |
TLS 포트 | 6380 | 10000 |
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의 모든 지역에서 지원됩니다. 영업 담당자와 협력하여 지원이 필요한 지역에 대한 요청을 제기합니다.
아메리카 | 유럽 | 중동 | 아프리카 | 아시아 태평양 |
---|---|---|---|---|
브라질 남부 | 독일 중서부 | 동아시아 | ||
미국 중서부 | 영국 남부 | 오스트레일리아 동부 | ||
미국 중북부 | 서유럽 | 일본 동부 | ||
미국 서부 3 | 스웨덴 중부 | 남부 동아시아 | ||
미국 동부 2 | 인도 중부 | |||
미국 중남부 | ||||
미국 서부 2 | ||||
미국 동부 | ||||
미국 서부 | ||||
미국 중부 | ||||
캐나다 중부 |
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 인스턴스를 만듭니다.
- 새 캐시의 데이터를 플러시하여 캐시를 비웁니다. 복사 도구 자체는 대상 캐시의 기존 키를 덮어쓰지 않기 때문에 이 단계가 필수입니다. 중요: 원본 캐시에서 플러시하지 않도록 합니다.
- 앞에서 언급한 오픈 소스 도구와 같은 애플리케이션을 사용하여 원본 캐시에서 대상으로 데이터 복사를 자동화합니다. 데이터 세트의 크기에 따라 복사 프로세스가 완료될 때까지 다소 시간이 걸릴 수 있습니다.