Azure Managed Redis의 가져오기 및 내보내기 기능을 데이터 관리 작업으로 사용합니다. RDB(Redis Database) 스냅샷을 사용하여 캐시 인스턴스로 데이터를 가져오거나 캐시 인스턴스에서 데이터를 내보냅니다. 스냅샷은 Azure Storage 계정의 Blob을 사용하여 가져오거나 내보냅니다.
- 내보내기 - Azure Managed Redis RDB 스냅샷을 블록 Blob으로 내보낼 수 있습니다.
- 가져오기 - Azure Managed Redis RDB 스냅샷을 페이지 Blob 또는 블록 Blob에서 가져올 수 있습니다.
가져오기/내보내기를 사용하여 다른 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).
- Premium 계층 Azure Cache for Redis 인스턴스의 RDB 파일은 Azure Managed Redis로 가져올 수 있지만, 그 반대의 경우는 불가능합니다.
- Enterprise 또는 Enterprise Flash 계층 Azure Cache for Redis 인스턴스의 RDB 파일을 Azure Managed Redis로 가져올 수 있습니다. Azure Managed Redis의 RDB 파일은 엔터프라이즈 계층 캐시가 동일한 Redis 버전(예: Redis 7.2)을 실행 중인 경우 해당 계층으로 다시 가져올 수 있습니다.
요구 사항
- 가져오기 작업을 시작하기 전에 RDB(Redis 데이터베이스) 파일이 Azure Managed Redis 인스턴스와 동일한 지역 및 구독에 있는 Azure 스토리지의 페이지 Blob 또는 블록 Blob에 업로드되었는지 확인합니다. 인증을 위해 관리 ID를 사용하는 경우 스토리지 계정은 다른 구독에 있을 수 있습니다. 자세한 내용은 Azure Blob Storage 시작을 참조하세요. 내보내기 기능을 사용하여 RDB 파일을 내보낸 경우 RDB 파일은 이미 블록 Blob에 저장되어 있으며 가져올 준비가 된 것입니다.
수입
가져오기를 사용하여 Linux/Windows에서 실행되는 Redis 또는 Amazon Web Services 등과 같은 클라우드 공급자를 포함하여 환경 또는 클라우드에서 실행되는 모든 Redis 서버에서 Redis 호환 RDB 파일을 가져옵니다. 데이터 가져오기는 미리 채워진 데이터로 캐시를 만드는 손쉬운 방법입니다. 가져오기 프로세스 중에 Azure Managed Redis는 Azure Storage의 RDB 파일을 메모리로 로드한 다음, 키를 캐시에 삽입합니다.
내보낸 캐시 Blob을 하나 이상 가져오려면 Azure Portal에서 캐시로 이동하여 리소스 메뉴에서 데이터 가져오기를 선택합니다. 작업 창에 RDB 파일을 찾을 수 있는 Blob 선택이 표시됩니다.
Blob 선택을 선택하고 가져올 데이터를 포함하는 스토리지 계정을 선택합니다.
가져올 데이터를 포함하는 컨테이너를 선택합니다.
Blob 이름의 왼쪽 영역을 선택하여 가져올 Blob을 하나 이상 선택한 다음, 선택을 선택합니다.
가져오기를 선택하여 가져오기 프로세스를 시작합니다.
중요합니다
가져오기 프로세스가 진행되는 동안 캐시 클라이언트는 캐시에 액세스할 수 없으며, 캐시에 있는 기존 데이터는 삭제됩니다.
Azure Portal의 알림에 따르거나 활동 로그의 이벤트를 확인하여 가져오기 작업의 진행 상황을 모니터링할 수 있습니다.
중요합니다
활동 로그 지원은 Azure Managed Redis에서 사용할 수 없습니다.
수출
내보내기를 사용하면 Azure Managed Redis에 저장된 데이터를 내보낼 수 있습니다. 이 기능을 사용해 한 Azure Managed Redis 인스턴스에서 다른 인스턴스 또는 다른 Redis 서버로 데이터를 이동할 수 있습니다. 내보내기 프로세스 중에 Azure Managed Redis 서버 인스턴스를 호스트하는 VM에 임시 파일이 만들어집니다. 그런 다음, 선택한 스토리지 계정에 파일이 업로드됩니다. 성공 또는 실패 상태로 내보내기 작업이 완료되면, 임시 파일은 삭제됩니다.
캐시의 현재 내용을 스토리지로 내보내려면 Azure Portal에서 캐시로 이동하여 리소스 메뉴에서 데이터 내보내기를 선택합니다. 작업 창에 스토리지 컨테이너 선택이 표시됩니다.
스토리지 컨테이너 선택을 선택하고 사용 가능한 스토리지 계정 목록을 표시합니다. 원하는 스토리지 계정을 선택합니다. 스토리지 계정은 캐시와 동일한 지역에 있어야 합니다. 인증을 위해 관리 ID를 사용하는 경우 스토리지 계정은 다른 구독에 있을 수 있습니다. 그렇지 않으면 스토리지 계정이 캐시와 동일한 구독에 있어야 합니다.
내보내기를 보관할 스토리지 컨테이너를 선택한 다음 선택합니다. 새 컨테이너가 필요한 경우 컨테이너 추가를 선택하여 먼저 추가한 다음, 목록에서 선택합니다.
Blob 이름 접두사를 입력하고 내보내기를 선택하여 내보내기 프로세스를 시작합니다. Blob 이름 접두사는 내보내기 작업에 의해 생성되는 파일의 이름에 접두사를 붙이는 데 사용됩니다.
Azure Portal의 알림에 따르거나 감사 로그에서 이벤트를 확인하여 내보내기 작업의 진행 상황을 모니터링할 수 있습니다.
내보내기 프로세스를 진행하는 동안 캐시는 사용할 수 있는 상태로 유지됩니다.
가져오기/내보내기 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)가 포함됩니다. 이 데이터를 가져오려면 Azure Storage 계정의 페이지 또는 블록 Blob에 원하는 Redis 서버의 RDB 파일을 업로드하세요. 그리고 Azure Managed Redis 인스턴스로 가져오세요.
예를 들어, 다음을 수행하고자 할 수도 있습니다.
프로덕션 캐시에서 데이터를 내보냅니다.
그런 후 테스트 또는 마이그레이션을 위한 스테이징 환경의 일부로 사용되는 캐시로 가져올 수 있습니다.
중요합니다
페이지 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 계정 개요를 참조하세요. 액세스 키를 사용하여 스토리지 계정을 인증하는 경우 스토리지 계정에 방화벽 예외가 있으면 가져오기/내보내기 프로세스가 실패할 수 있습니다.
방화벽 또는 프라이빗 링크를 사용하도록 설정하는 스토리지 계정이 지원되는가요?
아니요, 스토리지 계정에서 이러한 설정은 지원되지 않습니다.
내 캐시와 다른 구독의 스토리지 계정에서 데이터를 가져오거나 내보낼 수 있나요?
캐시와 다른 구독의 스토리지 계정에서 데이터를 가져오고 내보낼 수 있지만 관리 ID를 인증 방법으로 사용해야 합니다. 가져오기 또는 내보내기를 구성할 때 스토리지 계정을 보유하는 선택한 구독을 선택해야 합니다.
내보내기를 허용하려면 스토리지 계정 컨테이너 SAS(공유 액세스 서명) 토큰에 어떤 권한을 부여해야 하나요?
성공적으로 작동하려면 Azure Storage 계정으로 내보내려면 SAS(공유 액세스 서명) 토큰 에 다음 권한이 있어야 합니다.
readaddcreatewritedeletetagmove
가져오기를 허용하려면 스토리지 계정 컨테이너 SAS(공유 액세스 서명) 토큰에 어떤 권한을 부여해야 합니까?
성공적인 가져오기 작업의 경우 스토리지 컨테이너에 대한 SAS(공유 액세스 서명) 토큰에는 다음 권한이 있습니다.
readaddcreatelist