如何解决将 Amazon Aurora 快照导出到 Amazon S3 时出现的问题?

1 分钟阅读
0

我尝试将快照从 Amazon Aurora MySQL 兼容版实例导出到 Amazon Simple Storage Service(Amazon S3)时,遇到错误。

简短描述

由于以下原因,将 Aurora 数据库集群快照的数据导出到 Amazon S3 可能会失败:

  • AWS Identity and Access Management(AWS IAM)角色和策略配置不正确。
  • IAM 角色不存在。
  • AWS Key Management Service(AWS KMS)密钥检查失败。
  • 导出任务卡在正在启动状态。

解决方法

初始故障排除步骤

1.    查看与您数据库实例关联的 IAM 角色,检查其是否已分配所需的策略:

"s3:PutObject*",
                "s3:ListBucket",
                "s3:GetObject*",
                "s3:DeleteObject*",
                "s3:GetBucketLocation"

2.    检查您是否已配置使用 AWS KMS 所需的权限:

"kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:CreateGrant",
        "kms:DescribeKey",
        "kms:RetireGrant"

3.    导出快照时,您可能会遇到类似于下面内容的错误消息:

The principal export.rds.amazonaws.com isn't allowed to assume the IAM
role arn:aws:iam::160966736689:role/rds-s3-export-role or the IAM role
arn:aws:iam::123456789:role/rds-s3-export-role doesn't exist.

您的数据库实例尝试行使相关 IAM 角色但失败时,会出现此错误。确保 IAM 策略中的信任关系要求 export.rds.amazonaws.com,而不是 rds.amazonaws.com。请参阅以下示例:

{
  "Version": "2012-10-17",
  "Statement": [
  {
    "Effect": "Allow",
    "Principal": {
    "Service": "export.rds.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {}
  }
  ]
}

导出任务卡在“正在启动”状态

您将兼容 Aurora MySQL 的数据库快照导出到 Amazon S3 时,导出任务耗时可能偏长。导出快照的具体耗时取决于数据库的大小和类型。导出任务会恢复和扩展整个数据库,然后再将数据提取到 Amazon S3。在此阶段,导出任务将显示正在启动状态。任务开始将数据导出到 Amazon S3 时,状态将更改为正在进行。如果导出任务成功,则状态会指明任务已完成。如果导出任务过程存在问题,则状态会指明任务失败

有关详细信息,请查看将 Aurora MySQL 导出到 Amazon S3 时的限制。有关进一步的故障排除步骤,请参阅 Aurora 导出文档


相关信息

查看集群状态和建议

AWS 官方
AWS 官方已更新 1 年前