跳至内容

如何将 ElastiCache for Redis 备份导出到 Amazon S3?

1 分钟阅读
0

我想要将适用于 Redis 备份的 Amazon ElastiCache 导出到 Amazon Simple Storage Service(Amazon S3)。

解决方法

创建或使用与 ElastiCache 集群位于同一 AWS 区域的 Amazon S3 存储桶

要将 ElastiCache 快照(.rdb 文件)复制到 S3 存储桶,请在与 ElastiCache 集群相同的区域中使用现有存储桶或创建存储桶

授予 ElastiCache 对 Amazon S3 存储桶的访问权限

完成以下步骤:

  1. 打开 Amazon S3 控制台
  2. 选择要将备份复制到的 S3 存储桶的名称。
  3. 选择 Permissions(权限)。
  4. Access control list (ACL)(访问控制列表(ACL))下,选择 Edit(编辑)。
  5. 选择添加被授权者并输入以下规范 ID: 540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
  6. 选择以下选项:
    对象中,选择列出写入
    桶 ACL中,请选择读取写入
  7. 选择保存

**注意:**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 存储桶

完成以下步骤:

  1. 打开 ElastiCache 控制台
  2. 在导航窗格中的 Resources(资源)下,选择 Backups(备份)。
  3. 从备份列表中,选择要导出的备份,然后选择 Export(导出)。
  4. New backup name(新备份名称)中输入备份的名称。ElastiCache 会将实例标识符和 .rdb 文件扩展名添加到您输入的值中。例如,如果您输入 my-exported-backup,则 ElastiCache 将创建 my-exported-backup-0001.rdb
  5. Target S3 location(目标 S3 位置)下拉列表中,选择要将备份导出到的 S3 存储桶的名称。
  6. 选择 Export(导出)。

相关信息

Exporting a backup

Seeding a new self-designed cluster with an externally created backup

AWS 官方已更新 2 年前