将企业数据(小型卷)转移到适用于Heroku应用程序的AWS S3

您认为将客户的“企业”数据转换为AWS S3的最佳select是什么,以便我们可以提供Heroku托pipe的SaaS?

数据量很小,只是每天的电子表格/ csvlogging。 但是为了提供SaaS解决scheme,我们需要从客户端机器获取数据到S3,以便Heroku应用程序使用。 这显然应该是一个自动化的,安全的过程。

我知道的可能的select是:

  1. 通过像cloudgates.net或cyberduck.io这样的服务对文件进行SFTP处理 – 但是这需要一个调度程序来设置,而且似乎不灵活。

  2. 使用AWS Storage Gateway将文件从一个closures的计算机移到S3。 由于内部IT人员可能无法安装虚拟机,configuration网关等等,这可能是一个不起作用的问题。

  3. “适用于Amazon S3的Oracle安全备份云模块”如果我们可以让客户端创buildOracle数据库,并在其中放置我们每天所需的数据,则Oracle RMAN可以将其发送到S3。 但是我们希望在S3中使用纯文本文件,而不是Oracle数据库,所以也许这没有意义(因为我们有一个Heroku应用程序,而不是Oracle的EC2实例)。

在我看来,唯一适用于自动数据上传的方法是使用运行在客户端机器上的Java或.Net AWS SDK编写代码。 如果内部不是IT人员喜欢维护,特别是安全方面的问题,那么这是有问题的。

我想我会问在这里,以防万一我错过了一个简单的select,这是从账户通过我们的Heroku应用程序上传到S3每天早上的帐户的改善鲍勃?

我使用SSH(SFTP)进行类似的任务。 使这个好的和安全的步骤是:

  1. 为您的上传需求生成客户端证书,并将其安装在您的.ssh/authorized_keys或类似的S3实例上。
  2. 使用sftp -i <public key> <file> <remote location>将文件放在需要的地方。
  3. 把上面第二步的命令放在一个cron作业中 – 然后嬉戏。

这几乎适用于所有需要与服务器进行临时连接的情况。 如果你在windows上,使用Putty和Puttygen,Plink和Windows调度程序服务来实现类似的function应该是可能的。

你必须使用这个接收者的调度器来工作 – 我实际上认为这比制作脚本或者按照自己的时间进行的事情要干净得多。 使用所有这些标准位,使其他人也可以更容易地进行思考。

编辑:亚马逊在这里的证书位有一个友好的指导。