如何将适用于 Redis 备份的 ElastiCache 导出到 Amazon S3?

1 分钟阅读
0

我想要将适用于 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 桶的访问权限

  1. 打开 Amazon S3 控制台
  2. 选择要将备份复制到的 Amazon S3 桶的名称。
  3. 选择权限选项卡。
  4. 访问控制列表(ACL)下,选择编辑
  5. 选择添加被授权者并输入以下规范 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

  1. 打开 ElastiCache 控制台
  2. 在导航窗格中的资源下,选择备份
  3. 从备份列表中,选择您想要导出的备份,然后选择复制
  4. 在新备份名称中输入备份的名称。Amazon ElastiCache 会将实例标识符和 .rdb 添加到您在此处输入的值中。例如,如果您输入 my-exported-backup,则 Amazon ElastiCache 将创建 my-exported-backup-0001.rdb
  5. 目标 S3 位置列表中,选择要将备份导出到的 Amazon S3 桶的名称。
  6. 选择复制

相关信息

导出备份

使用外部创建的备份新建一个新的集群

AWS 官方
AWS 官方已更新 7 个月前