将文件从 s3 存储桶传输到亚马逊 RDS 数据库

问题描述 投票:0回答:2

我正在尝试将数据从 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”

对此有何评论?

谢谢

amazon-web-services amazon-s3 amazon-rds
2个回答
6
投票

我迟到了,但这是 Google 上排名第一的热门,我花了大约一个小时来解决这个问题。

该错误消息有点误导。它与您附加到 RDS 的角色或策略无关。就我而言,我登录的帐户没有使用具有适当权限的角色。在 AWS

IAM
中,我将策略
AmazonS3FullAccess
AmazonRDSFullAccess
添加到我的用户帐户(嗯,实际上将它们添加到我的假设角色中,因为我正在使用联合企业访问)。

一旦我这样做了,错误消息就消失了,我能够从 S3 恢复


0
投票

确保您拥有适合您角色的适当信任关系。服务

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"
        }
    ]
}

感谢施约瑟夫。

© www.soinside.com 2019 - 2024. All rights reserved.