【问题标题】:AWS S3: Copy files from S3 to Remote Server, with access credentialsAWS S3:使用访问凭证将文件从 S3 复制到远程服务器
【发布时间】:2018-06-09 13:56:26
【问题描述】:

我想将数据从 S3 传输到远程服务器。 S3 上的数据受到保护,当我尝试使用带有凭证的远程服务器上的 AWS CLI 时,我收到 AccessDenied 错误。

但是,当我在 E2 实例中并使用相同的命令时,我可以访问受保护的文件。

是否可以将这些文件从 E2 实例直接传输到我的远程服务器?

以前我会:

  1. AWS CLI S3 将文件下载到 E2 实例
  2. 将从 E2 下载的文件复制到我的远程服务器

但是,这些文件很大,如果我能够在 E2 实例中从 S3 传输到远程服务器,我将在一半时间内执行传输。

这可能吗?我试过了

aws s3 cp s3://protected-bucket/data/data.txt user_name@remote-server.edu:/path/to/data/

它失败了。我也试过aws s3 sync,但也失败了。

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-iam


    【解决方案1】:

    您可以使用 AWS SDK boto3 将文件从 S3 下载到您的远程服务器。

    http://boto3.readthedocs.io/en/latest/guide/s3-example-download-file.html

    【讨论】:

      【解决方案2】:

      您可以从您的 Amazon EC2 实例但不能从您的远程服务器访问文件这一事实表明您正在使用一组不同的凭证来访问 Amazon S3。

      IAM 角色很可能已分配给您的 EC2 实例。如果是这样,这会自动提供可供AWS Command-Line Interface (CLI) 使用的凭据。

      您需要为远程服务器创建一个 IAM 用户,然后为该 IAM 用户生成一个访问密钥和秘密密钥。在远程服务器上,运行 aws configure 并输入这些凭据。您需要根据需要向该 IAM 用户分配权限,以授予对 S3 存储桶的访问权限。

      见:Managing Access Keys for IAM Users - AWS Identity and Access Management

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-17
        • 2016-09-25
        • 2019-04-05
        • 2015-07-09
        • 1970-01-01
        • 2015-12-24
        • 1970-01-01
        • 2011-03-05
        相关资源
        最近更新 更多