스냅샷 내보내기 - Amazon MemoryDB for Redis

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

스냅샷 내보내기

MemoryDB for Redis에서는 Amazon Simple Storage Service(S3) 버킷에 MemoryDB 스냅샷 내보내기가 지원되므로 MemoryDB 외부에서 스냅샷에 액세스할 수 있습니다. 내보낸 MemoryDB 스냅샷은 오픈 소스 Redis와 완벽하게 호환되며 적절한 Redis 버전 또는 도구를 사용하여 로드할 수 있습니다. 메모리DB 콘솔 AWS CLI, 또는 메모리DB API를 사용하여 스냅샷을 내보낼 수 있습니다.

다른 지역에서 클러스터를 시작해야 하는 경우 스냅샷 내보내기가 유용할 수 있습니다. AWS 사용 중에 새 클러스터가 채워질 때까지 기다리지 않고 한 AWS AWS 지역의 데이터를 내보내고.rdb 파일을 새 지역에 복사한 다음 해당 .rdb 파일을 사용하여 새 클러스터를 시드할 수 있습니다. 새 클러스터 시드에 대한 자세한 내용은 외부에서 생성된 스냅샷으로 새 클러스터 시드 섹션을 참조하세요. 오프라인 처리를 위해 .rdb 파일을 사용하기 위해 클러스터의 데이터를 내보낼 수도 있습니다.

중요
  • MemoryDB 스냅샷과 이를 복사하려는 Amazon S3 버킷은 동일한 AWS 지역에 있어야 합니다.

    Amazon S3 버킷으로 복사된 스냅샷이 암호화되긴 하지만 스냅샷을 저장하려는 Amazon S3 버킷에 대한 액세스 권한을 다른 사람에게 부여하지 않는 것이 좋습니다.

  • 데이터 계층화를 사용하는 클러스터는 Amazon S3로 스냅샷 내보내기가 지원되지 않습니다. 자세한 정보는 데이터 계층화을 참조하세요.

스냅샷을 Amazon S3 버킷으로 내보내려면 먼저 스냅샷과 동일한 AWS 지역에 Amazon S3 버킷이 있어야 합니다. 버킷에 MemoryDB 액세스 권한을 부여합니다. 처음 두 단계에서는 이 작업을 수행할 방법을 보여줍니다.

주의

다음 시나리오에서는 사용자가 원하지 않을 수도 있는 방법으로 데이터를 노출합니다.

  • 스냅샷을 내보낸 Amazon S3 버킷에 대한 액세스 권한이 다른 사람에게 있는 경우.

    스냅샷에 대한 액세스를 제어하려면 데이터에 대한 액세스를 허용할 사람에게만 Amazon S3 버킷에 대한 액세스를 허용합니다. Amazon S3 버킷에 대한 액세스 관리에 대한 자세한 내용은 Amazon S3 개발자 안내서액세스 관리를 참조하세요.

  • 다른 사람이 CopySnapshot API 작업을 사용할 수 있는 권한을 가진 경우.

    CopySnapshot API 작업을 사용할 권한을 가진 사용자나 그룹이 자체 Amazon S3 버킷을 생성하고 스냅샷을 이 버킷에 복사할 수 있습니다. 스냅샷에 대한 액세스를 제어하려면 AWS Identity and Access Management (IAM) 정책을 사용하여 API를 사용할 수 있는 사용자를 제어하십시오. CopySnapshot IAM을 사용하여 MemoryDB API 작업 사용을 제어하는 방법에 대한 자세한 내용은 MemoryDB 사용 설명서MemoryDB for Redis의 보안 인증 및 액세스 관리 섹션을 참조하세요.

1단계: Amazon S3 버킷 생성

다음 절차에서는 Amazon S3 콘솔을 사용하여 MemoryDB 스냅샷을 내보내고 저장할 Amazon S3 버킷을 생성합니다.

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

  2. 버킷 생성을 선택합니다.

  3. [Create a Bucket - Select a Bucket Name and Region]에서 다음을 수행합니다.

    1. 버킷 이름에서 Amazon S3 버킷의 이름을 입력합니다.

    2. 지역 목록에서 Amazon S3 버킷의 AWS 지역을 선택합니다. 이 AWS 지역은 내보내려는 MemoryDB 스냅샷과 동일한 AWS 지역이어야 합니다.

    3. 생성을 선택합니다.

Amazon S3 버킷 생성에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서버킷 생성을 참조하세요.

2단계: Amazon S3 버킷에 대한 MemoryDB 액세스 권한 부여

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

특정 지역의 S3 버킷에 MemoryDB 액세스 권한을 부여하십시오. AWS

AWS 지역의 Amazon S3 버킷에 적절한 권한을 생성하려면 다음 단계를 수행하십시오.

S3 bucket 버킷에 MemoryDB 액세스 권한을 부여하려면
  1. AWS Management Console 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 엽니다.

  2. 스냅샷을 복사할 Amazon S3 버킷 이름을 선택합니다. 1단계: Amazon S3 버킷 생성에서 생성한 S3 버킷이어야 합니다.

  3. 권한 탭을 선택한 후 권한에서 버킷 정책을 선택합니다.

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

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

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

      • "s3:PutObject"

      • "s3:GetObject"

      • "s3:ListBucket"

      • "s3:GetBucketAcl"

      • "s3:ListMultipartUploadParts"

      • "s3:ListBucketMultipartUploads"

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

    { "Version": "2012-10-17", "Id": "Policy15397346", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "aws-region.memorydb-snapshot.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/*" ] } ] }

3단계: MemoryDB 스냅샷 내보내기

이제 S3 버킷을 생성하고 MemoryDB에 액세스할 수 있는 권한을 부여했습니다. S3 객체 소유권을 ACL이 활성화 - 버킷 소유자 우대로 변경합니다. 다음으로 메모리DB 콘솔, AWS CLI 또는 메모리DB API를 사용하여 스냅샷을 이 콘솔로 내보낼 수 있습니다. 다음 예제에서는 아래의 추가 S3 관련 IAM 권한이 있다고 가정합니다.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" }] }

다음 프로세스에서는 MemoryDB 외부에서 액세스할 수 있도록 MemoryDB 콘솔을 사용하여 Amazon S3 버킷에 스냅샷을 내보냅니다. Amazon S3 버킷은 MemoryDB AWS 스냅샷과 동일한 지역에 있어야 합니다.

Amazon S3 버킷으로 MemoryDB 스냅샷 내보내기
  1. AWS Management Console 로그인하고 https://console.aws.amazon.com/memorydb/ 에서 Redis용 MemoryDB 콘솔을 엽니다.

  2. 스냅샷 목록을 표시하려면 왼쪽 탐색 창에서 Snapshots을 선택합니다.

  3. 스냅샷 목록에서 내보내려는 스냅샷 이름의 왼쪽에 있는 라디오 버튼을 선택합니다.

  4. 복사를 선택합니다.

  5. 백업 복사본을 생성에서 다음 작업을 수행하세요.

    1. 새로운 스냅샷 이름 상자에 새로운 스냅샷 이름을 입력합니다.

      이름은 1~1,000자여야 하며 UTF-8 인코딩일 수 있습니다.

      MemoryDB에서는 여기에 입력하는 값에 샤드 식별자 및 .rdb을(를) 추가합니다. 예를 들어 my-exported-snapshot을(를) 입력하면 MemoryDB에서 my-exported-snapshot-0001.rdb을(를) 생성합니다.

    2. 대상 S3 위치 목록에서 스냅샷을 복사할 Amazon S3 버킷(1단계: Amazon S3 버킷 생성에서 생성한 버킷)을 선택합니다.

      내보내기 프로세스가 성공하려면 대상 S3 위치가 다음 권한을 가진 스냅샷 AWS 지역의 Amazon S3 버킷이어야 합니다.

      • 객체 액세스 - 읽기쓰기.

      • 권한 액세스 - 읽기.

      자세한 정보는 2단계: Amazon S3 버킷에 대한 MemoryDB 액세스 권한 부여을 참조하세요.

    3. 복사를 선택합니다.

참고

MemoryDB에서 스냅샷을 내보내는 데 필요한 권한이 S3 버킷에 없으면 다음 오류 메시지 중 하나를 받습니다. 2단계: Amazon S3 버킷에 대한 MemoryDB 액세스 권한 부여로 돌아가 지정한 권한을 추가하고 스냅샷 내보내기를 다시 시도하세요.

  • S3 버킷에 대한 READ 권한이 MemoryDB에 부여되지 않았습니다.

    해결 방법: 버킷에 대한 읽기 권한을 추가합니다.

  • S3 버킷에 대한 WRITE 권한이 MemoryDB에 부여되지 않았습니다.

    해결 방법: 버킷에 대한 쓰기 권한을 추가합니다.

  • S3 버킷에 대한 READ_ACP 권한이 MemoryDB에 부여되지 않았습니다.

    해결 방법: 버킷에 대한 권한 액세스로 [Read]를 추가합니다.

스냅샷을 다른 AWS 지역에 복사하려면 Amazon S3를 사용하여 복사하십시오. 자세한 내용은 Amazon Simple Storage Service 사용 설명서객체 복사를 참조하세요.

다음 파라미터와 함께 copy-snapshot CLI 작업을 사용하여 Amazon S3 버킷에 스냅샷을 내보냅니다.

파라미터
  • --source-snapshot-name – 복사할 스냅샷의 이름입니다.

  • --target-snapshot-name — 스냅샷 복사본의 이름입니다.

    이름은 1~1,000자여야 하며 UTF-8 인코딩일 수 있습니다.

    MemoryDB에서는 여기에 입력하는 값에 샤드 식별자 및 .rdb을(를) 추가합니다. 예를 들어 my-exported-snapshot을(를) 입력하면 MemoryDB에서 my-exported-snapshot-0001.rdb을(를) 생성합니다.

  • --target-bucket - 스냅샷을 내보낼 Amazon S3 버킷의 이름입니다. 지정한 버킷에 스냅샷 복사본이 생성됩니다.

    내보내기 프로세스가 성공하려면 다음 권한을 가진 스냅샷 AWS 지역의 Amazon S3 --target-bucket 버킷이어야 합니다.

    • 객체 액세스 - 읽기쓰기.

    • 권한 액세스 - 읽기.

    자세한 정보는 2단계: Amazon S3 버킷에 대한 MemoryDB 액세스 권한 부여을 참조하세요.

다음 작업은 my-s3-bucket에 스냅샷을 복사합니다.

Linux, macOS, Unix의 경우:

aws memorydb copy-snapshot \ --source-snapshot-name automatic.my-primary-2021-06-27-03-15 \ --target-snapshot-name my-exported-snapshot \ --target-bucket my-s3-bucket

Windows의 경우:

aws memorydb copy-snapshot ^ --source-snapshot-name automatic.my-primary-2021-06-27-03-15 ^ --target-snapshot-name my-exported-snapshot ^ --target-bucket my-s3-bucket
참고

MemoryDB에서 스냅샷을 내보내는 데 필요한 권한이 S3 버킷에 없으면 다음 오류 메시지 중 하나를 받습니다. 2단계: Amazon S3 버킷에 대한 MemoryDB 액세스 권한 부여로 돌아가 지정한 권한을 추가하고 스냅샷 내보내기를 다시 시도하세요.

  • S3 버킷에 대한 READ 권한이 MemoryDB에 부여되지 않았습니다.

    해결 방법: 버킷에 대한 읽기 권한을 추가합니다.

  • S3 버킷에 대한 WRITE 권한이 MemoryDB에 부여되지 않았습니다.

    해결 방법: 버킷에 대한 쓰기 권한을 추가합니다.

  • S3 버킷에 대한 READ_ACP 권한이 MemoryDB에 부여되지 않았습니다.

    해결 방법: 버킷에 대한 권한 액세스로 [Read]를 추가합니다.

자세한 내용은 AWS CLI 명령 레퍼런스copy-snapshot 섹션을 참조하세요.

스냅샷을 다른 AWS 지역에 복사하려면 Amazon S3 복사본을 사용하십시오. 자세한 내용은 Amazon Simple Storage Service 사용 설명서객체 복사를 참조하세요.

이러한 파라미터와 함께 CopySnapshot API 작업을 사용하여 Amazon S3 버킷에 스냅샷을 내보냅니다.

파라미터
  • SourceSnapshotName – 복사할 스냅샷의 이름입니다.

  • TargetSnapshotName — 스냅샷 복사본의 이름입니다.

    이름은 1~1,000자여야 하며 UTF-8 인코딩일 수 있습니다.

    MemoryDB에서는 여기에 입력하는 값에 샤드 식별자 및 .rdb을(를) 추가합니다. 예를 들어 my-exported-snapshot을 입력하면 my-exported-snapshot-0001.rdb가 생깁니다.

  • TargetBucket - 스냅샷을 내보낼 Amazon S3 버킷의 이름입니다. 지정한 버킷에 스냅샷 복사본이 생성됩니다.

    내보내기 프로세스가 성공하려면 다음 권한을 가진 스냅샷 AWS 지역의 Amazon S3 TargetBucket 버킷이어야 합니다.

    • 객체 액세스 - 읽기쓰기.

    • 권한 액세스 - 읽기.

    자세한 정보는 2단계: Amazon S3 버킷에 대한 MemoryDB 액세스 권한 부여을 참조하세요.

다음 예제에서는 Amazon S3 버킷 my-s3-bucket에 자동 스냅샷 복사본을 만듭니다.

https://memory-db.us-east-1.amazonaws.com/ ?Action=CopySnapshot &SourceSnapshotName=automatic.my-primary-2021-06-27-03-15 &TargetBucket=my-s3-bucket &TargetSnapshotName=my-snapshot-copy &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210801T220302Z &Version=2021-01-01 &X-Amz-Algorithm=Amazon4-HMAC-SHA256 &X-Amz-Date=20210801T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20210801T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
참고

MemoryDB에서 스냅샷을 내보내는 데 필요한 권한이 S3 버킷에 없으면 다음 오류 메시지 중 하나를 받습니다. 2단계: Amazon S3 버킷에 대한 MemoryDB 액세스 권한 부여로 돌아가 지정한 권한을 추가하고 스냅샷 내보내기를 다시 시도하세요.

  • S3 버킷에 대한 READ 권한이 MemoryDB에 부여되지 않았습니다.

    해결 방법: 버킷에 대한 읽기 권한을 추가합니다.

  • S3 버킷에 대한 WRITE 권한이 MemoryDB에 부여되지 않았습니다.

    해결 방법: 버킷에 대한 쓰기 권한을 추가합니다.

  • S3 버킷에 대한 READ_ACP 권한이 MemoryDB에 부여되지 않았습니다.

    해결 방법: 버킷에 대한 권한 액세스로 [Read]를 추가합니다.

자세한 내용은 을 참조하십시오 CopySnapshot.

스냅샷을 다른 AWS 지역에 복사하려면 Amazon S3 copy를 사용하여 내보낸 스냅샷을 다른 AWS 지역의 Amazon S3 버킷에 복사하십시오. 자세한 내용은 Amazon Simple Storage Service 사용 설명서객체 복사를 참조하세요.