백업 내보내기 - 아마존 포 ElastiCache 레디스용

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

백업 내보내기

Amazon은 ElastiCache Redis용 백업을 Amazon Simple S3 (Amazon Simple Storage Service) 버킷으로 내보내는 것을 ElastiCache 지원하며, 이를 통해 외부에서도 액세스할 수 있습니다. ElastiCache ElastiCache 콘솔 AWS CLI, 또는 ElastiCache API를 사용하여 백업을 내보낼 수 있습니다.

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

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

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

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

  • Redis가 자체 설계한 클러스터, 서버리스 Redis 및 서버리스 Memcached에서 백업 내보내기를 사용할 수 있습니다. 자체 설계된 Memcached 클러스터의 경우 백업 내보내기를 사용할 수 없습니다.

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

1단계: Amazon S3 버킷 생성

다음 단계는 Amazon S3 콘솔을 사용하여 ElastiCache 백업을 내보내고 저장하는 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 버킷의 이름을 입력합니다.

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

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

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

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

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

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

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

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

    3. 생성을 선택합니다.

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

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

스냅샷을 Amazon S3 버킷에 복사하려면 버킷에 대한 ElastiCache ElastiCache 액세스 권한을 부여하도록 버킷 정책을 업데이트해야 합니다.

주의

Amazon S3 버킷으로 복사된 백업이 암호화되더라도 Amazon S3 버킷에 대한 액세스 권한이 있는 사람이 데이터에 액세스할 수 있습니다. 따라서 이 Amazon S3 버킷에 대한 무단 액세스를 방지하도록 IAM 정책을 설정하는 것이 좋습니다. 자세한 정보는 Amazon S3 사용 설명서액세스 관리를 참조하세요.

Amazon S3 버킷에 대한 적절한 권한을 생성하려면 다음 단계를 수행합니다.

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

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

  3. 권한(Permissions) 탭을 선택하고 권한(Permissions)에서 ACL(액세스 제어 목록)(Access control list (ACL))을 선택한 다음 편집(Edit)을 선택합니다.

  4. 다음 옵션을 사용하여 피부여자 정식 ID 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353을 추가합니다.

    • 객체: 나열, 쓰기(Objects: List, Write)

    • 버킷 ACL: 읽기, 쓰기(Bucket ACL: Read, Write)

      참고
      • PDT GovCloud 지역의 경우 표준 ID는 입니다. 40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6

      • OSU GovCloud 지역의 경우 표준 ID는 입니다. c54286759d2a83da9c480405349819c993557275cf37d820d514b42da6893f5c

  5. 저장을 선택합니다.

3단계: 백업 내보내기 ElastiCache

이제 S3 버킷을 생성하고 액세스 ElastiCache 권한을 부여했습니다. 그런 다음 ElastiCache 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 스냅샷을 해당 콘솔로 내보낼 수 있습니다. 다음 예제에서는 IAM 함수 호출자에 다음 추가 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:::*" }] }

옵트인 리전의 경우, 업데이트된 S3 버킷 정책은 다음 예와 유사합니다. (이 예에서는 아시아 태평양(홍콩) 리전을 사용합니다.)

{ "Version": "2012-10-17", "Id": "Policy15397346", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "elasticache.amazonaws.com" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::hkg-elasticache-backup", "arn:aws:s3:::hkg-elasticache-backup/*" ] }, { "Sid": "Stmt15399484", "Effect": "Allow", "Principal": { "Service": "ap-east-1.elasticache-snapshot.amazonaws.com" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::hkg-elasticache-backup", "arn:aws:s3:::hkg-elasticache-backup/*" ] } ] }

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

ElastiCache 백업을 Amazon S3 버킷으로 내보내려면
  1. https://console.aws.amazon.com/elasticache/ 에서 AWS Management Console 로그인하고 ElastiCache 콘솔을 엽니다.

  2. 백업 목록을 표시하려면 왼쪽 탐색 창에서 [Backups]를 선택합니다.

  3. 백업 목록에서 내보낼 백업의 이름 왼쪽에 있는 상자를 선택합니다.

  4. 복사를 선택합니다.

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

    1. [New backup name] 상자에 새 백업의 이름을 입력합니다.

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

      ElastiCache 여기에 .rdb 입력하는 값에 인스턴스 식별자와 를 추가합니다. 예를 들어 my-exported-backup을 입력하면 ElastiCache 에서 my-exported-backup-0001.rdb를 생성합니다.

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

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

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

      • 권한 액세스 - 읽기.

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

    3. 복사를 선택합니다.

참고

S3 버킷에 백업을 내보내는 ElastiCache 데 필요한 권한이 없는 경우 다음 오류 메시지 중 하나가 표시됩니다. 2단계: Amazon S3 버킷에 ElastiCache 대한 액세스 권한 부여로 돌아가 지정한 권한을 추가하고 백업 내보내기를 다시 시도하세요.

  • ElastiCache S3 버킷에 대한 읽기 권한 %s이 (가) 부여되지 않았습니다.

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

  • ElastiCache S3 버킷에 대한 쓰기 권한 %s이 (가) 부여되지 않았습니다.

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

  • ElastiCache S3 버킷에 대한 READ_ACP 권한 %s이 (가) 부여되지 않았습니다.

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

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

서버리스 캐시 백업 내보내기

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

파라미터
  • --serverless-cache-snapshot-name - 복사할 백업의 이름입니다.

  • --s3-bucket-name - 백업을 내보낼 Amazon S3 버킷의 이름입니다. 지정한 버킷에 백업 복사본이 생성됩니다.

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

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

    • 권한 액세스 - 읽기.

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

Linux, macOS, Unix의 경우:

aws elasticache export-serverless-cache-snapshot \ --serverless-cache-snapshot-name automatic.my-redis-2023-11-27 \ --s3-bucket-name my-s3-bucket

Windows의 경우:

aws elasticache export-serverless-cache-snapshot ^ --serverless-cache-snapshot-name automatic.my-redis-2023-11-27 ^ --s3-bucket-name my-s3-bucket

자체 설계된 클러스터 백업 내보내기

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

파라미터
  • --source-snapshot-name - 복사할 백업의 이름입니다.

  • --target-snapshot-name - 백업 복사본의 이름입니다.

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

    ElastiCache 여기에 입력한 값에 인스턴스 식별자와 .rdb 를 추가합니다. 예를 들어 my-exported-backup을 입력하면 ElastiCache 에서 my-exported-backup-0001.rdb를 생성합니다.

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

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

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

    • 권한 액세스 - 읽기.

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

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

Linux, macOS, Unix의 경우:

aws elasticache copy-snapshot \ --source-snapshot-name automatic.my-redis-primary-2016-06-27-03-15 \ --target-snapshot-name my-exported-backup \ --target-bucket my-s3-bucket

Windows의 경우:

aws elasticache copy-snapshot ^ --source-snapshot-name automatic.my-redis-primary-2016-06-27-03-15 ^ --target-snapshot-name my-exported-backup ^ --target-bucket my-s3-bucket