我想要将适用于 Redis 备份的 Amazon ElastiCache 导出到 Amazon Simple Storage Service(Amazon S3)。
解决方法
创建或识别要导出到与 ElastiCache 集群相同的 AWS 区域内的 Amazon S3 桶
若要将 ElastiCache 快照(rdb 文件)复制到 S3 桶,请确保该桶与 ElastiCache 集群位于相同的 AWS 区域。您可以创建 Amazon S3 桶,将其导出到与 ElastiCache 集群相同的 AWS 区域内。或者,您可以使用现有的 Amazon S3 桶。
授予 Amazon ElastiCache 对 S3 桶的访问权限
- 打开 Amazon S3 控制台。
- 选择要将备份复制到的 Amazon S3 桶的名称。
- 选择权限选项卡。
- 在访问控制列表(ACL)下,选择编辑。
- 选择添加被授权者并输入以下规范 ID: 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353。然后,选择以下选项:
在对象中,选择列出和写入。
在桶 ACL中,请选择读取和写入。然后,选择保存。
**注意:**AWS GovCloud 区域使用不同的 ID: 40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
授予与桶交互的正确权限
负责导出备份的用户必须具备与桶交互的正确权限。若要访问 S3 桶并复制.rdb 文件,Amazon ElastiCache 需要桶策略中的权限。此外,必须设置用户的 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 桶。您也可以将权限限制为特定的桶。
将适用于 Redis 的 ElastiCache 备份导出到 S3
- 打开 ElastiCache 控制台。
- 在导航窗格中的资源下,选择备份。
- 从备份列表中,选择您想要导出的备份,然后选择复制。
- 在新备份名称中输入备份的名称。Amazon ElastiCache 会将实例标识符和 .rdb 添加到您在此处输入的值中。例如,如果您输入 my-exported-backup,则 Amazon ElastiCache 将创建 my-exported-backup-0001.rdb。
- 从目标 S3 位置列表中,选择要将备份导出到的 Amazon S3 桶的名称。
- 选择复制。
相关信息
导出备份
使用外部创建的备份新建一个新的集群