Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
S3에서 ElastiCache 클러스터를 복원하려고 할 때 발생하는 “Create-failed” 또는 “Permission denied” 오류 문제를 해결하려면 어떻게 해야 하나요?
Amazon Simple Storage Service(Amazon S3)에서 Amazon ElastiCache 클러스터를 복원하려고 할 때 발생하는 “Create-failed” 또는 “Permission denied” 오류 문제를 해결하고 싶습니다.
간략한 설명
Amazon S3에서 ElastiCache 백업을 복원할 때 실패하는 일반적인 이유는 다음과 같습니다.
- 백업 제약 조건을 벗어난 백업을 복원하려고 했습니다.
- ElastiCache가 Amazon S3에서 파일을 검색할 수 없습니다.
- ElastiCache 백업 파일은 다른 AWS 리전의 Amazon S3 버킷에 있습니다.
- 여러 데이터베이스가 포함된 rdb 파일을 클러스터 모드가 켜진 ElastiCache 클러스터로 복원합니다.
해결 방법
백업 제한 조건을 벗어난 백업을 복원하려고 했습니다.
ElastiCache for Redis 백업을 복원할 때는 백업 제약 조건을 이해하고 있어야 합니다.
- 클러스터 모드가 켜져 있는 Redis 클러스터를 사용한 백업에서 클러스터 모드가 꺼진 Redis 클러스터로 복원할 수 없습니다.
- 클러스터 모드가 켜진 상태로 ElastiCache 클러스터에서 백업을 복원하면 ElastiCache 콘솔에서 클러스터 모드를 끌 수 없습니다. 클러스터 모드를 켜는 옵션만 사용할 수 있습니다.
- 클러스터 모드가 켜져 있는 ElastiCache 클러스터를 사용하여 백업을 Amazon S3로 내보내면 여러 rdb 파일이 생성됩니다. Amazon S3의 백업을 백업 rdb 파일 하나로 시드하면 샤드 키 하나만 클러스터에 시드됩니다. 와일드카드***rdb** 파일을 사용하여 이 문제를 해결하려고 하면 다음 오류가 나타납니다.
"Error: Object or bucket does not exist for S3 object: examplebucket/cluster-mode-enabled-*.rdb." - 데이터 계층화를 사용하는 클러스터에서는 백업을 복원할 수 없습니다. 예를 들어, r6gd 노드를 데이터 계층화를 사용하지 않는 클러스터로 복원할 수 없습니다.
- 데이터 계층화 백업은 Amazon S3로 내보낼 수 없습니다. 또한 Amazon S3에서는 ElastiCache 데이터 계층화 백업을 복원할 수 없습니다. 자세한 내용을 알아보려면 제한을 참조하세요.
- 여러 데이터베이스가 있는 rdb 파일의 경우 Redis(클러스터 모드 해제) 클러스터에서 Redis(클러스터 모드 켜짐) 클러스터로 복원할 수 없습니다. 이 작업을 시도하면 다음과 같은 오류가 나타납니다.
"Error: To restore a snapshot in cluster mode, all keys in the RDB file should reside in DB 0."
ElastiCache가 Amazon S3에서 파일을 검색할 수 없습니다.
ElastiCache에 Amazon S3 버킷에 저장된 ElastiCache 백업에 액세스하는 데 필요한 권한이 없는 경우 다음 오류가 나타납니다.
"Restore from snapshot failed for node group 0001 in replication group test. Failed to retrieve file from S3."
권한 문제를 확인하려면 ElastiCache 이벤트를 검토하세요. 오류의 원인을 식별할 때는 해당 리전이 다음 중 하나인지 확인하세요.
옵트인 리전의 경우, ElastiCache가 Amazon S3에서 백업 파일을 검색할 수 있도록 허용하는 버킷 정책이 있어야 합니다.
Amazon S3 버킷이 다음 리전 중 하나에 있는 경우 ElastiCache 서비스가 S3의 백업 파일에 액세스할 수 있도록 허용해야 합니다.
- 중국(베이징) 및 중국(닝샤)
- AWS GovCloud(미국 서부)
- 기본 리전
참고: 중국(베이징), 중국(닝샤) 및 AWS GovCloud(미국 서부) 리전의 표준 ID는 기본 AWS 리전과 다릅니다.
- 중국(베이징) 및 중국(닝샤) - b14d6a125bdf69854ed8ef2e71d8a20b7c490f252229b806e514966e490b8d83
- AWS GovCloud(미국-서부) - 40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
- AWS 기본 리전 - 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
표준 ID 또는 버킷 정책을 사용하여 ElastiCache에 rdb 백업 객체에 대한 액세스 권한을 부여하는 경우 Redis 클러스터를 복원하세요.
ElastiCache 백업 파일은 다른 리전의 Amazon S3 버킷에 있습니다.
다른 리전의 Amazon S3 버킷에 있는 ElastiCache 백업을 복원하려고 하면 다음 오류가 나타납니다.
"Permission denied to access S3 object. Please use the S3 object in the same region."
이 오류를 해결하려면 다음 단계를 따르세요.
참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.
-
다음 명령을 사용하여 Amazon S3 버킷에서 rdb 백업 파일을 복사합니다. Redis 클러스터를 복원할 리전의 백업이 버킷에 포함되어 있는지 확인하세요. 자세한 내용을 알아보려면 ElastiCache for Redis 클러스터를 마이그레이션하는 모범 사례는 무엇입니까?를 참조하세요.
참고: example-source-bucket, example-destination-bucket, example-backup, example-source-region 및 example destination-region을 적절한 이름 값으로 바꿉니다.
aws s3 cp s3://example-source-bucket/example-backup.rdb s3://example-destination-bucket/example-backup.rdb --acl bucket-owner-full-control --source-region example-source-region --region example-destination-region
-
rdb 백업 파일에 올바른 권한이 할당되었는지 확인합니다(표준 ID 또는 버킷 정책).
-
계속해서 클러스터를 복원합니다.
여러 데이터베이스가 포함된 rdb 파일을 클러스터 모드가 켜진 ElastiCache 클러스터로 복원합니다.
클러스터 모드가 켜진 상태에서 여러 데이터베이스가 포함된 rdb 파일을 ElastiCache 클러스터로 복원하면 다음 오류가 나타납니다.
"Restore from snapshot failed for node group 0001 in replication group test. To restore a snapshot in cluster mode, all keys in the RDB file should reside in DB 0. Snapshot ID: arn:aws:s3:::example-bucket/multidb.rdb"
복원 실패의 원인을 확인하려면 ElastiCache 이벤트를 검토하세요.
이 오류를 해결하려면 다음 단계를 따르세요.
- 모든 키가 단일 데이터베이스로 마이그레이션되었는지 확인하세요. 자세한 내용을 알아보려면 Redis 웹 사이트에서 마이그레이션을 참조하세요.
참고: 원본 데이터베이스가 ElastiCache Redis에 있는 경우 마이그레이션 명령은 지원되지 않습니다. 이 문제를 해결하려면 RIOT와 같은 다른 Redis 도구를 사용하세요. 자세한 내용을 알아보려면 Redis 웹 사이트에서 riot을 참조하세요. - Redis 데이터베이스의 로컬 백업을 생성합니다.
- 백업을 Amazon S3에 업로드합니다.
- 계속해서 ElastiCache(클러스터 모드가 켜진 상태) 클러스터로 복원합니다.

관련 콘텐츠
- 질문됨 2년 전lg...
- 질문됨 일 년 전lg...
- 질문됨 8달 전lg...
- 질문됨 21시간 전lg...
- AWS 공식업데이트됨 8달 전
- AWS 공식업데이트됨 일 년 전