我想要将适用于 Redis 备份的 Amazon ElastiCache 导出到 Amazon Simple Storage Service(Amazon S3)。
解决方法
创建或使用与 ElastiCache 集群位于同一 AWS 区域的 Amazon S3 存储桶
要将 ElastiCache 快照(.rdb 文件)复制到 S3 存储桶,请在与 ElastiCache 集群相同的区域中使用现有存储桶或创建存储桶。
授予 ElastiCache 对 Amazon S3 存储桶的访问权限
完成以下步骤:
- 打开 Amazon S3 控制台。
- 选择要将备份复制到的 S3 存储桶的名称。
- 选择 Permissions(权限)。
- 在 Access control list (ACL)(访问控制列表(ACL))下,选择 Edit(编辑)。
- 选择添加被授权者并输入以下规范 ID: 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353。
- 选择以下选项:
在对象中,选择列出和写入。
在桶 ACL中,请选择读取和写入。
- 选择保存。
**注意:**AWS GovCloud(美国)区域使用以下 ID: 40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6。
授予与 Amazon S3 存储桶交互所需的权限
要导出备份,AWS Identity and Access Management 用户必须具有必要的权限。
以下是 IAM 策略示例,其中包含访问 S3 存储桶和复制 .rdb 文件所需的权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets",
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::*"
}
]
}
**注意:**在前面的示例中,IAM 策略允许访问所有 S3 存储桶。您也可以将权限限制为特定存储桶。
如果缺少 IAM 策略或 IAM 策略拒绝所需的权限,则导出会返回以下错误: “经过身份验证的用户没有足够的权限来执行所需的活动。”
将 ElastiCache for Redis 备份导出到 Amazon S3 存储桶
完成以下步骤:
- 打开 ElastiCache 控制台。
- 在导航窗格中的 Resources(资源)下,选择 Backups(备份)。
- 从备份列表中,选择要导出的备份,然后选择 Export(导出)。
- 在 New backup name(新备份名称)中输入备份的名称。ElastiCache 会将实例标识符和 .rdb 文件扩展名添加到您输入的值中。例如,如果您输入 my-exported-backup,则 ElastiCache 将创建 my-exported-backup-0001.rdb。
- 从 Target S3 location(目标 S3 位置)下拉列表中,选择要将备份导出到的 S3 存储桶的名称。
- 选择 Export(导出)。
相关信息
Exporting a backup
Seeding a new self-designed cluster with an externally created backup