외부에서 생성된 스냅샷으로 새 클러스터 시드 - Amazon MemoryDB for Redis

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

외부에서 생성된 스냅샷으로 새 클러스터 시드

새 MemoryDB 클러스터를 만들 때 Redis .rdb 스냅샷 파일의 데이터로 이 클러스터를 시드할 수 있습니다.

MemoryDB 스냅샷 또는 ElastiCache Redis 스냅샷에서 새 MemoryDB 클러스터를 시드하려면 을 참조하십시오. 스냅샷에서 복원

Redis .rdb 파일을 사용하여 새 MemoryDB 클러스터를 시드할 때 다음을 수행할 수 있습니다.

  • 새로운 클러스터의 샤드 수를 지정합니다. 이 숫자는 스냅샷 파일을 생성하는 데 사용된 클러스터의 샤드 수와 다를 수 있습니다.

  • 스냅샷을 만든 클러스터에 사용된 것보다 크거나 작은 새 클러스터의 다른 노드 유형을 지정합니다. 더 작은 노드 유형으로 조정하는 경우 새로운 노드 유형에 충분한 메모리가 있어 데이터와 Redis 오버헤드를 수용할 수 있어야 합니다.

중요
  • Redis 스냅샷 데이터가 노드의 리소스를 초과하지 않아야 합니다.

    스냅샷이 너무 크면 결과 클러스터의 상태는 restore-failed이(가) 됩니다. 이 경우 클러스터를 삭제하고 다시 시작해야 합니다.

    노드 유형 및 사양의 전체 목록은 MemoryDB 노드 유형별 파라미터을(를) 참조하세요.

  • Amazon S3 서버 측 암호화(SSE-S3)만으로 Redis .rdb 파일을 암호화할 수 있습니다. 자세한 내용은 서버 측 암호화를 사용하여 데이터 보호를 참조하세요.

1단계: 외부 클러스터에 redis 스냅샷 생성

MemoryDB 클러스터를 시드할 스냅샷을 만들려면
  1. 기존의 Redis 인스턴스에 연결합니다.

  2. Redis BGSAVE 또는 SAVE 작업을 실행하여 스냅샷을 생성합니다. .rdb 파일의 위치를 메모합니다.

    BGSAVE는 비동기식이며 처리하는 동안 다른 클라이언트를 차단하지 않습니다. 자세한 내용은 Redis 웹 사이트의 BGSAVE를 참조하세요.

    SAVE는 동기식이며 마칠 때까지 다른 프로세스를 차단합니다. 자세한 내용은 Redis 웹 사이트의 SAVE를 참조하세요.

스냅샷 생성에 대한 추가 정보는 Redis 웹 사이트의 Redis 지속성(Redis persistence)을 참조하세요.

2단계: Amazon S3 버킷 및 폴더 생성

스냅샷 파일을 만들었으면 Amazon S3 버킷에 있는 폴더에 업로드해야 합니다. 그러려면 먼저 Amazon S3 버킷과 버킷 내의 폴더가 있어야 합니다. 적절한 권한을 가진 Amazon S3 버킷과 폴더가 이미 있으면 3단계: Amazon S3에 스냅샷 업로드 섹션으로 건너뛸 수 있습니다.

Amazon S3 버킷을 생성하려면
  1. AWS Management Console 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 엽니다.

  2. Amazon Simple Storage Service 사용 설명서에서 버킷 생성의 Amazon S3 버킷 생성 지침을 따릅니다.

    Amazon S3 버킷의 이름은 DNS를 준수해야 합니다. 그렇지 않으면 MemoryDB가 스냅샷 파일에 액세스할 수 없습니다. DNS 준수 규칙은 다음과 같습니다.

    • 이름은 3자 이상, 63자 이하여야 합니다.

    • 이름은 마침표(.)로 구분된 일련의 레이블(1개 이상)이어야 합니다. 여기서 각 레이블은 다음과 같아야 합니다.

      • 소문자 또는 숫자로 시작합니다.

      • 소문자 또는 숫자로 끝납니다.

      • 소문자, 숫자 및 대시만 포함합니다.

    • 이름에는 IP 주소 형식(예: 192.0.2.0)을 사용할 수 없습니다.

    새 MemoryDB 클러스터와 동일한 AWS 지역에 Amazon S3 버킷을 생성하는 것이 좋습니다. 이 방법은 MemoryDB가 Amazon S3에서 .rdb 파일을 읽을 때 최고의 데이터 전송 속도를 경험할 수 있도록 합니다.

    참고

    데이터를 최대한 안전하게 유지하려면 Amazon S3 버킷에 대한 권한을 최대한 제한적으로 설정합니다. 또한 새 MemoryDB 클러스터를 시드하는 데 버킷과 버킷의 콘텐츠를 사용하기 위해 권한이 계속 필요합니다.

Amazon S3 버킷에 폴더를 추가하려면
  1. AWS Management Console 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 엽니다.

  2. .rdb 파일을 업로드할 버킷 이름을 선택합니다.

  3. 폴더 생성을 선택합니다.

  4. 새 폴더의 이름을 입력합니다.

  5. 저장을 선택합니다.

    버킷 이름과 폴더 이름을 모두 메모합니다.

3단계: Amazon S3에 스냅샷 업로드

이제 1단계: 외부 클러스터에 redis 스냅샷 생성에서 생성한 .rdb 파일을 업로드합니다. 2단계: Amazon S3 버킷 및 폴더 생성에서 생성한 Amazon S3 버킷과 폴더로 업로드합니다. 객체 업로드에 대한 자세한 내용은 Uploading objects 단원을 참조하세요. 2단계와 3단계 사이에 생성된 폴더 이름을 선택합니다.

.rdb 파일을 Amazon S3 폴더에 업로드하려면
  1. AWS Management Console 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 엽니다.

  2. 2단계에서 만든 Amazon S3 버킷 이름을 선택합니다.

  3. 2단계에서 만든 폴더 이름을 선택합니다.

  4. 업로드를 선택합니다.

  5. [Add Files]를 선택합니다.

  6. 업로드할 파일을 찾아 선택합니다. 파일을 여러 개 선택하려면 Ctrl 키를 누른 상태로 각 파일 이름을 선택합니다.

  7. Open을 선택합니다.

  8. Upload 페이지에서 정확한 파일 이름이 표시되는지 확인하고 Upload를 선택합니다.

.rdb 파일에 대한 경로를 기록합니다. 예를 들어 버킷 이름이 myBucket이고 경로가 myFolder/redis.rdb이면 myBucket/myFolder/redis.rdb를 입력합니다. 이 스냅샷의 데이터로 새 클러스터를 시드하려면 이 경로가 필요합니다.

자세한 내용은 Amazon Simple Storage Service 사용 설명서버킷 이름 지정 규칙을 참조하세요.

4단계: MemoryDB에 .rdb 파일에 대한 읽기 액세스 부여

AWS 2019년 3월 20일 이전에 도입된 지역은 기본적으로 활성화되어 있습니다. 이러한 AWS 지역에서 즉시 작업을 시작할 수 있습니다. 2019년 3월 20일 이후에 도입된 리전은 기본적으로 비활성 상태입니다. 사용하려면 먼저 AWS 리전 관리에 설명된 대로 리전을 활성화하거나 옵트인해야 합니다.

4단계: MemoryDB에 .rdb 파일에 대한 읽기 액세스 부여

MemoryDB에 스냅샷 파일에 대한 읽기 액세스 권한 부여
  1. AWS Management Console 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 엽니다.

  2. .rdb 파일이 포함된 S3 버킷 이름을 선택합니다.

  3. .rdb 파일이 포함된 폴더 이름을 선택합니다.

  4. .rdb 스냅샷 파일 이름을 선택합니다. 선택한 파일 이름은 페이지 맨 위의 탭 위에 나타납니다.

  5. 권한 탭을 선택합니다.

  6. 권한(Permissions)에서 버킷 정책(Bucket policy)을 선택한 다음 편집(Edit)을 선택합니다.

  7. 정책을 업데이트하여 MemoryDB에 작업을 수행하는 데 필요한 권한을 부여합니다.

    • [ "Service" : "region-full-name.memorydb-snapshot.amazonaws.com" ]Principal에 추가합니다.

    • Amazon S3 버킷으로 스냅샷을 내보내는 데 필요한 다음 권한을 추가합니다.

      • "s3:GetObject"

      • "s3:ListBucket"

      • "s3:GetBucketAcl"

    다음은 업데이트된 정책의 예입니다.

    { "Version": "2012-10-17", "Id": "Policy15397346", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "us-east-1.memorydb-snapshot.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/snapshot1.rdb", "arn:aws:s3:::example-bucket/snapshot2.rdb" ] } ] }
  8. 저장을 선택합니다.

5단계: .rdb 파일 데이터로 MemoryDB 클러스터 시드

이제 MemoryDB 클러스터를 생성하고 .rdb 파일의 데이터로 클러스터를 시드할 수 있습니다. 클러스터를 생성하려면 MemoryDB 클러스터 생성의 지시를 따릅니다.

Amazon S3에 업로드한 Redis 스냅샷의 위치를 MemoryDB에 알리는 데 사용하는 방법은 클러스터 생성에 사용한 방법에 따라 결정됩니다.

5단계: .rdb 파일 데이터로 MemoryDB 클러스터 시드
  • MemoryDB 콘솔 사용

    Redis 엔진을 선택한 후 고급 Redis 설정 섹션을 확장하고 클러스터로 데이터 가져오기를 찾습니다. RDB 파일 시드 S3 위치 상자에 파일의 Amazon S3 경로를 입력합니다. .rdb 파일이 여러 개 있으면 쉼표로 구분된 목록에 각 파일의 경로를 입력합니다. Amazon S3 경로는 myBucket/myFolder/myBackupFilename.rdb처럼 표시될 수 있습니다.

  • 사용: AWS CLI

    create-cluster 또는 create-cluster 작업을 사용하는 경우 --snapshot-arns 파라미터를 사용하여 각 .rdb 파일의 정규화된 ARN을 지정합니다. 예를 들어 arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb입니다. ARN은 Amazon S3에 저장한 스냅샷 파일로 확인되어야 합니다.

  • MemoryDB API 사용

    CreateCluster 또는 CreateCluster MemoryDB API 작업을 사용하는 경우, 파라미터 를 사용하여 각 .rdb 파일의 정규화된 ARN을 지정합니다. 예를 들어 arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb입니다. ARN은 Amazon S3에 저장한 스냅샷 파일로 확인되어야 합니다.

클러스터 생성 프로세스 중에 스냅샷의 데이터가 클러스터에 쓰여집니다. MemoryDB 이벤트 메시지를 보면서 프로세스를 모니터링할 수 있습니다. 그러려면 MemoryDB 콘솔 화면에서 Events(이벤트)를 선택합니다. 또한 AWS MemoryDB 명령줄 인터페이스 또는 MemoryDB API를 사용하여 이벤트 메시지를 가져올 수 있습니다.