Azure Managed Redis에서 데이터 가져오기 및 내보내기(미리 보기)
Azure Managed Redis(미리 보기)의 가져오기 및 내보내기 기능을 데이터 관리 작업으로 사용합니다. 데이터를 캐시 인스턴스로 가져오거나 RDB(Redis Database) 스냅샷을 사용하여 캐시 인스턴스에서 데이터를 내보냅니다. 스냅샷은 Azure Storage 계정의 Blob을 사용하여 가져오거나 내보냅니다.
- 내보내기 - Azure Managed Redis RDB 스냅샷을 블록 Blob으로 내보낼 수 있습니다.
- 가져오기 - 페이지 Blob 또는 블록 Blob에서 Azure Managed Redis RDB 스냅샷을 가져올 수 있습니다.
Import/Export를 사용하여 서로 다른 Azure Managed Redis 인스턴스 간에 마이그레이션하거나 사용하기 전에 캐시를 데이터로 채울 수 있습니다. 이전 Azure Cache for Redis 인스턴스에서 데이터를 내보내 데이터를 Azure Managed Redis 인스턴스로 마이그레이션할 수도 있습니다.
이 문서에서는 Azure Managed Redis를 사용하여 데이터를 가져오고 내보내는 가이드를 제공하고 일반적으로 묻는 질문에 대한 답변을 제공합니다.
가용성 범위
서비스 계층 | 메모리 최적화, 분산, 컴퓨팅 최적화 | 플래시 최적화 |
---|---|---|
사용 가능 | 예 | 예 |
호환성
- 데이터는 .gz 블록 Blob으로 내보내집니다.
- Redis 7.2를 실행하는 인스턴스는 RDB 버전 11 이하를 지원합니다.
- 최신 버전의 Redis에서 내보낸 백업(예: Redis 7.2)은 이전 버전의 Redis(예: Redis 6.0)로 가져올 수 없습니다.
- 프리미엄 계층 Azure Cache for Redis 인스턴스의 RDB 파일을 Azure Managed Redis로 가져올 수 있지만 그 반대의 경우도 마찬가지입니다.
- Enterprise 또는 Enterprise Flash 계층 Azure Cache for Redis 인스턴스의 RDB 파일을 Azure Managed Redis로 가져올 수 있습니다. 엔터프라이즈 계층 캐시가 동일한 Redis 버전(예: Redis 7.2)을 실행하는 경우 Azure Managed Redis의 RDB 파일을 이러한 계층으로 다시 가져올 수 있습니다.
가져오기
가져오기를 사용하여 Linux/Windows에서 실행되는 Redis 또는 Amazon Web Services 등과 같은 클라우드 공급자를 포함하여 환경 또는 클라우드에서 실행되는 모든 Redis 서버에서 Redis 호환 RDB 파일을 가져옵니다. 데이터 가져오기는 미리 채워진 데이터로 캐시를 만드는 손쉬운 방법입니다. 가져오기 프로세스 중에 Azure Managed Redis는 Azure Storage의 RDB 파일을 메모리로 로드한 다음 캐시에 키를 삽입합니다.
참고 항목
가져오기 작업을 시작하기 전에 RdB(Redis Database) 파일 또는 파일이 Azure Managed Redis 인스턴스와 동일한 지역 및 구독에 있는 Azure Storage의 페이지 또는 블록 Blob에 업로드되었는지 확인합니다. 인증을 위해 관리 ID를 사용하는 경우 스토리지 계정은 다른 구독에 있을 수 있습니다. 자세한 내용은 Azure Blob Storage 시작을 참조하세요. Azure Cache for Redis 내보내기 기능을 사용하여 RDB 파일을 내보 낸 경우 RDB 파일은 이미 블록 Blob에 저장되어 있으며 가져올 준비가 된 것입니다.
내보낸 캐시 Blob을 하나 이상 가져오려면 Azure Portal에서 캐시로 이동하여 리소스 메뉴에서 데이터 가져오기를 선택합니다. 작업 창에 RDB 파일을 찾을 수 있는 Blob 선택이 표시됩니다.
Blob 선택을 선택하고 가져올 데이터를 포함하는 스토리지 계정을 선택합니다.
가져올 데이터를 포함하는 컨테이너를 선택합니다.
Blob 이름의 왼쪽 영역을 선택하여 가져올 Blob을 하나 이상 선택한 다음, 선택을 선택합니다.
가져오기를 선택하여 가져오기 프로세스를 시작합니다.
Important
가져오기 프로세스가 진행되는 동안 캐시 클라이언트는 캐시에 액세스할 수 없으며, 캐시에 있는 기존 데이터는 삭제됩니다.
Azure Portal의 알림에 따르거나 활동 로그의 이벤트를 확인하여 가져오기 작업의 진행 상황을 모니터링할 수 있습니다.
Important
활동 로그 지원은 Azure Managed Redis에서 아직 사용할 수 없습니다.
내보내기
내보내기를 사용하면 Azure Managed Redis에 저장된 데이터를 내보낼 수 있습니다. 이 기능을 사용하여 한 Azure Managed Redis 인스턴스에서 다른 Redis 서버로 또는 다른 Redis 서버로 데이터를 이동할 수 있습니다. 내보내기 프로세스 중에 Azure Managed Redis 서버 인스턴스를 호스트하는 VM에 임시 파일이 만들어집니다. 그런 다음, 선택한 스토리지 계정에 파일이 업로드됩니다. 성공 또는 실패 상태로 내보내기 작업이 완료되면, 임시 파일은 삭제됩니다.
캐시의 현재 내용을 스토리지로 내보내려면 Azure Portal에서 캐시로 이동하여 리소스 메뉴에서 데이터 내보내기를 선택합니다. 작업 창에 스토리지 컨테이너 선택이 표시됩니다.
스토리지 컨테이너 선택을 선택하고 사용 가능한 스토리지 계정 목록을 표시합니다. 원하는 스토리지 계정을 선택합니다. 스토리지 계정은 캐시와 동일한 지역에 있어야 합니다. 인증을 위해 관리 ID를 사용하는 경우 스토리지 계정은 다른 구독에 있을 수 있습니다. 그렇지 않으면 스토리지 계정이 캐시와 동일한 구독에 있어야 합니다.
Important
- 내보내기는 페이지 Blob에서 사용할 수 있고, 클래식 및 Resource Manager 스토리지 계정 양쪽 모두에서 지원됩니다.
- Azure Managed Redis는 ADLS Gen2 스토리지 계정으로의 내보내기를 지원하지 않습니다.
- 방화벽 사용 스토리지 계정으로 캐시 데이터 내보내기가 실패하는 경우 내 스토리지 계정에서 방화벽을 사용하는 경우에는 어떡하나요?를 참조하세요.
자세한 내용은 Azure Storage 계정 개요를 참조하세요.
내보내기를 보관할 스토리지 컨테이너를 선택한 다음 선택합니다. 새 컨테이너가 필요한 경우 컨테이너 추가를 선택하여 먼저 추가한 다음, 목록에서 선택합니다.
Blob 이름 접두사를 입력하고 내보내기를 선택하여 내보내기 프로세스를 시작합니다. Blob 이름 접두사는 내보내기 작업에 의해 생성되는 파일의 이름에 접두사를 붙이는 데 사용됩니다.
Azure Portal의 알림에 따르거나 감사 로그에서 이벤트를 확인하여 내보내기 작업의 진행 상황을 모니터링할 수 있습니다.
내보내기 프로세스를 진행하는 동안 캐시는 사용할 수 있는 상태로 유지됩니다.
Import/Export FAQ
이 섹션은 Import/Export 기능에 대한 질문과 대답을 포함합니다.
- Import/Export를 지원하는 계층은 무엇인가요?
- Redis 서버에서 데이터를 가져올 수 있나요?
- 가져올 수 있는 RDB 버전은 무엇인가요?
- Import/Export 작업을 진행하는 동안 내 캐시를 사용할 수 있나요?
- Import/Export가 Redis 지속성과 어떻게 다른가요?
- PowerShell, CLI, 또는 다른 관리 클라이언트를 사용하여 Import/Export를 자동화할 수 있나요?
- Import/Export 작업을 진행하는 동안 시간 초과 오류가 발생했습니다. 무엇을 의미하나요?
- Azure Blob Storage로 데이터를 내보내다가 오류가 발생했습니다. 무슨 일이 일어났나요?
- 내 스토리지 계정에서 방화벽을 사용하는 경우에는 어떡하나요?
- 내 캐시가 아닌 다른 구독의 스토리지 계정에서 데이터를 가져오거나 내보낼 수 있나요?
- 내보내기를 허용하려면 스토리지 계정 컨테이너 SAS(공유 액세스 서명) 토큰에 어떤 권한을 부여해야 하나요?
Import/Export를 지원하는 계층은 무엇인가요?
가져오기 및 내보내기 기능은 Azure Managed Redis의 모든 계층에서 사용할 수 있습니다.
Redis 서버에서 데이터를 가져올 수 있나요?
예, Azure Managed Redis 인스턴스 또는 모든 클라우드 또는 환경에서 실행되는 Redis 서버에서 내보낸 데이터를 가져올 수 있습니다. 환경에는 Linux, Windows 또는 클라우드 공급자(예: Amazon Web Services)가 포함됩니다. 이 데이터를 가져오려면 원하는 Redis 서버에서 Azure Storage 계정의 페이지 또는 블록 Blob에 RDB 파일을 업로드합니다. 그런 다음 Azure Managed Redis 인스턴스로 가져옵니다.
예를 들어, 다음을 수행합니다.
프로덕션 캐시에서 데이터를 내보냅니다.
그런 후 테스트 또는 마이그레이션을 위한 스테이징 환경의 일부로 사용되는 캐시로 가져올 수 있습니다.
Important
페이지 Blob을 사용할 때 Azure Managed Redis 이외의 Redis 서버에서 내보낸 데이터를 성공적으로 가져오려면 페이지 Blob 크기를 512바이트 경계에 맞춰야 합니다. 필요한 바이트 패딩을 수행하는 샘플 코드는 샘플 페이지 Blob 업로드를 참조하세요.
가져올 수 있는 RDB 버전은 무엇인가요?
가져오기와 함께 사용되는 지원되는 RDB 버전에 대한 자세한 내용은 호환성 섹션을 참조하세요.
Import/Export 작업을 진행하는 동안 내 캐시를 사용할 수 있나요?
- 내보내기 - 캐시는 사용 가능한 상태로 유지되며, 내보내기 작업을 진행하는 동안 캐시를 계속 사용할 수 있습니다.
- 가져오기 - 캐시는 가져오기 작업이 시작되면 사용할 수 없게 되고, 가져오기 작업이 완료되면 사용할 수 있게 됩니다.
Import/Export가 Redis 지속성과 어떻게 다른가요?
Azure Managed Redis 지속성 기능은 주로 데이터 내구성 기능입니다. 반대로 ‘가져오기/내보내기’ 기능은 특정 시점 복구를 위해 주기적인 데이터 백업을 만드는 방법으로 설계되었습니다.
‘지속성’이 구성된 경우 구성 가능한 백업 주기에 따라, 캐시는 데이터의 스냅샷을 디스크에 지속적으로 유지합니다. 이 지속성 파일은 사용자가 액세스할 수 없습니다. 주 캐시 및 복제본 캐시의 기능을 무력화하는 재해가 발생하면, 캐시 데이터는 최신 스냅샷을 사용하여 자동으로 복원됩니다.
데이터 지속성은 재해 복구를 위해 설계되었습니다. 특정 시점 복구 메커니즘으로 의도된 것은 아닙니다.
특정 시점 복구를 위해 주기적인 데이터 백업을 만들려면 ‘가져오기/내보내기’ 기능을 사용하는 것이 좋습니다. 자세한 내용은 Azure Managed Redis에 대한 데이터 지속성을 구성하는 방법을 참조 하세요.
PowerShell, CLI, 또는 다른 관리 클라이언트를 사용하여 Import/Export를 자동화할 수 있나요?
예, 다음 지침을 참조하세요.
- Redis 데이터 가져오기 및 Redis 데이터 내보내기에 대한 PowerShell 명령
- Redis 데이터 가져오기 및 Redis 데이터 내보내기에 대한 Azure CLI 명령
Import/Export 작업을 진행하는 동안 시간 초과 오류가 발생했습니다. 무엇을 의미하나요?
작업을 시작하기 전에 15분 이상 데이터 가져오기 또는 내보내기 데이터를 계속 사용하는 경우 다음 예제와 유사한 오류 메시지가 표시됩니다.
The request to import data into cache 'contoso55' failed with status 'error' and error 'One of the SAS URIs provided could not be used for the following reason: The SAS token end time (se) must be at least 1 hour from now and the start time (st), if given, must be at least 15 minutes in the past.
이를 해결하려면, 15분이 지나기 전에 가져오기 또는 내보내기 작업을 시작하세요.
Azure Blob Storage로 데이터를 내보내다가 오류가 발생했습니다. 무슨 일이 일어났나요?
내보내는 블록 Blob으로 저장된 RDB 파일에서만 작동합니다. 다른 Blob 형식은 현재 지원되지 않습니다. 자세한 내용은 Azure Storage 계정 개요를 참조하세요. 액세스 키를 사용하여 스토리지 계정을 인증하는 경우 스토리지 계정에 방화벽 예외가 있으면 가져오기/내보내기 프로세스가 실패할 수 있습니다.
내 스토리지 계정에서 방화벽을 사용하는 경우에는 어떡하나요?
스토리지 계정 설정에서 "신뢰할 수 있는 서비스 목록의 Azure 서비스가 이 스토리지 계정에 액세스하도록 허용"을 확인해야 합니다. 그런 다음 관리 ID(시스템 또는 사용자 할당)를 사용하고 해당 개체 ID에 대한 Storage Blob 데이터 기여자 RBAC 역할을 프로비전합니다.
자세히 알아보려면 스토리지 계정의 관리 ID - Azure Cache for Redis를 참조하세요.
내 캐시와 다른 구독의 스토리지 계정에서 데이터를 가져오거나 내보낼 수 있나요?
캐시와 다른 구독의 스토리지 계정에서 데이터를 가져오고 내보낼 수 있지만 관리 ID를 인증 방법으로 사용해야 합니다. 가져오기 또는 내보내기를 구성할 때 스토리지 계정을 보유하는 선택한 구독을 선택해야 합니다.
내보내기를 허용하려면 스토리지 계정 컨테이너 SAS(공유 액세스 서명) 토큰에 어떤 권한을 부여해야 하나요?
Azure Storage 계정으로 내보내기가 성공적으로 작동하려면 SAS(공유 액세스 서명) 토큰 에 다음 권한이 있어야 합니다.
read
add
create
write
delete
tag
move