我尝试将快照从 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 导出文档。
相关信息
查看集群状态和建议