我正在尝试将数据从 s3 存储桶加载到亚马逊 RDS 数据库。我知道这不是编程问题。但我真的很感谢帮助。我使用了下面的代码:
aws rds restore-db-instance-from-s3 ^
--allocated-storage 250 ^
--db-instance-identifier myidentifier ^
--db-instance-class db.m4.large ^
--engine mysql ^
--master-user-name masterawsuser ^
--master-user-password masteruserpassword ^
--s3-bucket-name mybucket ^
--s3-ingestion-role-arn arn:aws:iam::account-number:role/rolename ^
--s3-prefix bucketprefix ^
--source-engine mysql ^
--source-engine-version 5.6.27
但我收到以下错误,尽管我已经给出了正确的 ARN 编号:
“An error occurred (InvalidParameterValue) when calling the RestoreDBInstanceFrom S3 operation: IAM role ARN value is invalid or does not include the required permissions for: S3_SNAPSHOT_INGESTION”
对此有何评论?
谢谢
我迟到了,但这是 Google 上排名第一的热门,我花了大约一个小时来解决这个问题。
该错误消息有点误导。它与您附加到 RDS 的角色或策略无关。就我而言,我登录的帐户没有使用具有适当权限的角色。在 AWS
IAM
中,我将策略 AmazonS3FullAccess
和 AmazonRDSFullAccess
添加到我的用户帐户(嗯,实际上将它们添加到我的假设角色中,因为我正在使用联合企业访问)。
一旦我这样做了,错误消息就消失了,我能够从 S3 恢复
确保您拥有适合您角色的适当信任关系。服务
export.rds.amazonaws.com
还不够,我还要加上rds.amazonaws.com
服务。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"export.rds.amazonaws.com",
"rds.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
感谢施约瑟夫。