我正在尝试将RDS快照转换为S3,然后从S3还原Aurora集群。在我致力于这个过程并转换我们的一些生产快照之前,我正在测试,将它们转换并还原回DB,并出现问题。以下是我的立场和所采取的步骤:
1-我拍摄了当前运行的Aurora Engine版本5.7.mysql_aurora.2.09.1的快照。
2-在快照创建之后,我选择了它并选择了“”,我选择了导出所有数据。
3-大约一天后,它完成了对S3的出口。这是一个4TB快照,所以需要一段时间。即使是在它完成之后,我也等待了两天才完成接下来的步骤--只是为了确保所有的步骤都完成了。
4-在RDS仪表板中,我单击了“从S3还原Aurora集群”。我将其指向步骤2.b中导出的快照所指向的S3桶,我选择让它创建一个允许它访问这个S3位置的IAM角色。我选择了Aurora作为类型,并选择了它在DB最初运行时使用的相同的引擎,以及最初使用的相同的VPC和其他参数。
5-我点击了create,过了一会儿我得到了一个错误:对不起,您请求创建DB实例数据库-1失败了。无法下载指定的AmazonSAM桶中的文件。确保您已经创建了一个AWS标识和访问管理(IAM)角色,该角色允许Amazon为您访问Amazon。
6-我修改了创建的IAM角色,赋予它所有的管理S3权限,重新运行“从S3恢复Aurora集群”,但仍然得到相同的错误。
这个过程看起来很简单--我可能做错了什么?
以下是我修改后的IAM角色的json,允许它访问所有的S3 -
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:*"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"*"
]
}
]
}发布于 2022-08-24 00:42:27
你想要做的根本是行不通的.
不幸的是,将Aurora MySQL的RDS快照导出到S3并从导出的快照创建新的数据库集群是不可能的,这是因为当您导出DB快照时,Amazon从快照中提取数据并将其存储在帐户中的Amazon桶中。数据以压缩和一致的Apache格式存储。
请注意,“从s3还原”和“将快照导出到s3”用于两个不同的目的。
将快照导出到S3是一个单向方向。导出到S3的parquet格式的文件不能用于还原回RDS。它的目的是允许亚马逊雅典娜或亚马逊红移频谱直接分析数据从s3。
另一方面,从s3还原用于还原在本地服务器上创建的XtraBackup,该服务器用于将数据从外部MySQL数据库迁移到Aurora DB集群。
将DB快照数据导出到Amazon S3 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ExportSnapshot.html
将数据从外部MySQL数据库迁移到Amazon DB集群https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html
https://stackoverflow.com/questions/65922345
复制相似问题