백업 내보내기 - Amazon ElastiCache

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

백업 내보내기

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

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

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

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

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

  • 백업 내보내기는 Valkey 및 Redis OSS 자체 설계 클러스터, Serverless Valkey 및 RedisOSS, Serverless Memcached에 사용할 수 있습니다. 자체 설계된 Memcached 클러스터에는 백업 내보내기를 사용할 수 없습니다.

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

Amazon S3 버킷 생성

다음 단계에서는 Amazon S3 콘솔을 사용하여 ElastiCache 백업을 내보내고 저장할 Amazon S3 버킷을 생성합니다.

Amazon S3 버킷을 생성하려면
  1. 에 로그인 AWS Management Console 하고 에서 Amazon S3 콘솔을 엽니다https://console.aws.amazon.com/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. 생성(Create)을 선택합니다.

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

Amazon S3 버킷에 대한 ElastiCache 액세스 권한 부여

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

주의

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

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

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

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

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

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

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

    • 버킷ACL: 읽기, 쓰기

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

      • OSU GovCloud 리전의 경우 표준 ID는 입니다c54286759d2a83da9c480405349819c993557275cf37d820d514b42da6893f5c.

  5. 저장(Save)을 선택합니다.

ElastiCache 백업 내보내기

이제 S3 버킷을 생성하고 액세스할 수 있는 ElastiCache 권한을 부여했습니다. 다음으로 ElastiCache 콘솔, AWS CLI또는 ElastiCache API 를 사용하여 스냅샷을 내보낼 수 있습니다. 다음 예제에서는 호출자의 IAM ID에 다음과 같은 추가 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 리전에 있어야 합니다.

Amazon S3 버킷으로 ElastiCache 백업을 내보내려면
  1. 에 로그인 AWS Management Console 하고 https://console.aws.amazon.com/elasticache/에서 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 버킷(Amazon S3 버킷 생성에서 생성한 버킷)을 선택합니다.

      내보내기 프로세스가 성공하려면 대상 S3 위치가 백업 AWS 리전의 Amazon S3 버킷이어야 합니다.

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

      • 권한 액세스 - 읽기.

      자세한 내용은 Amazon S3 버킷에 대한 ElastiCache 액세스 권한 부여 단원을 참조하십시오.

    3. 복사를 선택합니다.

참고

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

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

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

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

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

  • 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 합니다.

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

    • 권한 액세스 - 읽기.

    자세한 내용은 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