当前位置: 首页 > 知识库问答 >
问题:

AWS CLI能否从S3复制到EC2?

微生嘉
2023-03-14

我熟悉运行AWS CLI命令从文件夹复制到S3或从一个S3存储桶复制到另一个S3存储桶:

aws s3 cp ./someFile.txt s3://bucket/someFile.txt

aws s3 cp s3://bucketSource/someFile.txt s3://bucketDestination/someFile.txt

但是,当您不在EC2实例上时,是否可以将文件从S3复制到EC2实例?比如:

aws s3 cp s3://bucket/folder/ ec2-user@1.2.3.4:8080/some/folder/

我试图从Jenkins那里运行这个命令,这就是为什么我不能像这样在EC2上运行命令:

aws s3 cp s3://bucket/folder/ ./my/destination/folder/on/the/ec2

更新:

我认为这是不可能的,所以我将研究使用https://docs.aws.amazon.com/cli/latest/reference/ssm/send-command.html

共有3个答案

松景铄
2023-03-14
Using AWS System Manager send command :
#Copying file from S3 bucket to EC2 instance :
$Instance_Id='i-0123456xxx'
aws ssm send-command --document-name "AWS-RunShellScript" --document-version "\$DEFAULT" --targets "Key=instanceids,Values='$Instance_Id'" --parameters '{"commands":["aws s3 cp s3://s3-bucket/output-path/file-name /dirName/ "]}' --timeout-seconds 600 --max-concurrency "50" --max-errors "0" --region REGION_NAME
梁丘璞瑜
2023-03-14

因为您有SSH访问权限,所以也可以运行

ssh ec2-user@1.2.3.4:8080 "aws s3 cp s3://bucket/folder/ ./my/destination/folder/on/the/ec2"

...直接在EC2实例上运行命令。

它的效率不如使用发送命令(因为ssh必须将该命令的输出通过管道传输到本地终端),但是,如果您不传输数百万个文件,那么简单性方面的折衷对您来说可能是可以接受的。

刘升
2023-03-14

AWS CLI调用AWS API。Amazon S3的API无法在Amazon EC2实例上与操作系统交互。

您使用AWS Systems Manager的想法是个好主意。您可以将命令发送到实例本身,然后实例可以将对象上载/下载到Amazon S3。

 类似资料:
  • 我已经成功地完成了在Amazon EMR上的工作,现在我想将结果从复制到,但是我遇到了一些问题 这是代码(--steps) 这是日志:

  • 我的s3存储桶中有很多文件,所以是否有任何aws cli命令可用于在s3中查找带有前缀名的最新文件?如何将该文件从s3复制到本地文件夹?我可以使用Boto3或python库来实现这一点吗?

  • 有没有一种方法可以将文件列表从一个S3存储桶复制到另一个存储桶?两个S3存储桶都在同一个AWS帐户中。我可以使用aws cli命令一次复制一个文件: 然而,我有1000份文件要复制。我不想复制源存储桶中的所有文件,因此无法使用sync命令。有没有一种方法可以用需要复制的文件名列表来调用一个文件,从而自动化这个过程?

  • 试图通过存储传输将数据从AWS S3拉到谷歌云存储。 我有S3桶访问密钥ID和秘密访问密钥,并能够从gsutil(从笔记本电脑)复制,但它从存储传输抛出权限错误。 不明白它是如何与gsutil工作,但不与存储传输。 错误消息: 有没有办法在计算引擎中使用gsutil将文件从S3复制到GCS? 谢谢,

  • 我拥有的复制命令: 我的红移星系团的区域是AP-东南-1b,所以这将是与水桶(新加坡)相同的区域。我在这里不知所措,我需要尽快向管理层提出一个可行的数据仓库解决方案。任何帮助都将不胜感激。谢了。

  • 是否可以将文件从源AWS S3 bucket发送/同步到位于不同位置的不同AWS帐户上的目标S3 bucket? 我发现了以下内容:https://aws.amazon.com/premiumsupport/knowled-center/copy-s3-objects-account/ 但是如果我理解正确的话,这就是如何从目标帐户同步文件的方法。 有没有别的方法可以做呢?从源帐户访问目标桶(使用源