如何使用 AWS CLI 将远程文件传输到我的 S3 存储桶?

Bre*_*ren 0 scp amazon-s3 amazon-web-services

我尝试遵循/sf/answers/1269534381/提供的建议,但不确定如何在远程服务器上的 .pem 文件中共享 myAmazonKeypair 路径。

scp -i yourAmazonKeypairPath.pem  fileNameThatYouWantToTransfer.php ec2-user@ec2-00-000-000-15.us-west-2.compute.amazonaws.com:
Run Code Online (Sandbox Code Playgroud)

该命令在几分钟后完成并显示以下内容:

ssh: connect to host
myBucketEndpointName
port 22: Connection timed out
lost connection

我有几个非常大的文件需要传输,并且不希望将这些文件下载到我的本地计算机,然后将它们重新上传到 S3 存储桶。

有什么建议么?

Dee*_*ary 6

没有直接的方法可以将文件从远程位置上传到 S3。即一个URL

因此,要实现这一目标,您有两种选择:

  1. 将文件下载到本地计算机上,然后通过AWS 控制台AWS CLI上传。
  2. 下载 AWS EC2 实例中的文件并通过AWS CLI上传到 S3 。

第一种方法非常简单,不需要太多解释。

但对于第二种方法,您需要执行以下操作:

  1. 在与 S3 存储桶相同的区域中创建 EC2 实例。或者,如果您已经有一个实例,则登录/ssh 到它。
  2. 将文件从源下载到 EC2 实例。通过wgetcurl以方便的方式。
  3. 在 EC2 实例上安装 AWS CLI 。
  4. 创建 IAM 用户授予他对您的 S3 存储桶的权限。
  5. 使用您的 IAM 凭证配置您的 AWS CLI 。
  6. 使用AWS CLI S3 CP Utility将文件上传到 S3 存储桶。
  7. 如果您仅为此设置实例,请终止实例。