我在EC2 linux系统上有一个计划任务,它每天都会生成一个文件。现在,我想将此文件从该文件传输到不在AWS上的另一台Windows计算机。
我只想在EC2实例上安排此作业。我不想从目标计算机下载它,我想从EC2下载工具。
我试过下面的命令:
scp -i (Key File for my current EC2 instance) (IP of target):(Local file path of current EC2 instance) D:\TEMP(Target Path of window machine)
我正进入(状态:
ssh: connect to host (IP of target) port 22: Connection refused
我们已经具有将文件存储在S3中的功能,但这取决于EC2实例的任务。 (有时需要1个小时,有时甚至需要4个小时,这就是为什么我希望在此任务结束时这样做。)
最佳答案
您收到的错误很可能是由EC2实例前面的EC2安全组上或Windows服务器网络上的防火墙设置不正确引起的。
我建议使用Amazon S3存储桶将文件从您的EC2实例上传到S3。然后,文件可以等待从Windows实例作为计划作业收集。 Windows下载完成后,您可以从S3删除文件,或者使用lifecycle policy在一定时间后自动删除保存的文件。
这将消除对EC2实例打开SSH的需要,并使您能够将文件保存在S3中,以便在再次需要时可以重新下载它。
我不知道您使用的是哪种技术堆栈,但是您可以在两个服务器上同时使用AWS CLI或使用您首选编程语言的SDK来使用Amazon S3。