我想将TB的数据从S3转移到EC2 Windows Server然后再回来,这将花费几个小时来使用基本的AWS CLI Copy command。为了帮助加快速度,我想使用AWS Data Pipeline,AWS Data Pipeline文档中的图形似乎表明数据至少可以从EC2流向S3:
然而,我发现很难理解如何做到这一点。我见过的最接近的例子是通过使用ShellCommandActivity来暂存数据的概念,DataNode将数据从S3 Link传输到EC2,然后再将其复制回S3。
相反,我想在已经运行的Windows实例上从S3复制数据,然后在稍后将更多数据复制回S3。
答案 0 :(得分:1)
这可以在没有我相信的数据管道的情况下完成 - 主要是为了消除一些复杂性。这项工作可以通过AWS CLI完成,也可以在Windows XP及更高版本上使用。如果您在计算机上没有AWS CLI,请查找MSI安装程序。
On * nix:
memset(buf, 255, sizeof(char) * sizeof(buf));
将s3存储桶内容复制到执行目录。
答案 1 :(得分:1)
简而言之,我不认为您可以使用AWS DataPipeline为此用例获得任何性能优势。
原因是 Task Runner (数据管道使用的执行程序)是not supported on Windows platform。因此,您尝试运行的任何活动实际上都会在不同的平台上运行,然后您可以将其scp / sftp发送到您的计算机。
在其他平台上将数据提取到EC2实例有多种方法:
答案 2 :(得分:1)
您是否需要Windows计算机上的所有这些数据?或者你打算间歇性地访问它?
您可以尝试安装S3存储桶。
它仍然是远程的,但在Windows中就像普通的安装驱动器一样。如果您需要进行一些数据处理,那么只需将当时需要的文件复制到本地磁盘。您可以使用S3browser,Cloudberry或其他一百个S3客户端安装S3。
答案 3 :(得分:1)
最后,我能够使用datapipeline进行从ec2到s3的数据传输。
步骤:
- 首先我们需要让一个任务跑步者跑进ec2机器。
- aws s3不能使用你的ec2集群,因为ec2没有你的s3存储桶的权利;使用aws configure添加 访问密钥和密码。
- 醇>
创建一个数据管道,架构师在shellcommand活动中添加。你可以使用sh的脚本路径 aws s3 cp / var / tmp / xyz s3:// abc;最重要的是加入工人 表示你在ec2上开始的任务运行的组。
REF:http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-how-task-runner-user-managed.html