2012-11-12 36 views
1

我有一个应用程序部署到Heroku。我使用的服务需要我使用静态IP地址访问他们的SFTP服务器。在这方面我知道Heroku dynos是不可靠的。我已经使用Proximo插件成功实现了这一点,但是,对于我要发送的流量(每月大约500 MB)而言,它太昂贵了。这是否有替代?我倾向于使用EC2实例,但不太清楚创建代理或其他什么需要什么。Heroku静态IP为SFTP

回答

5

我会去一个EC2微型实例;推动位并不真正消耗太多的CPU,所以它不太可能被限制。然后,我会给这个实例一个弹性IP地址,并将该地址通知给其他服务。 (无论我以后选择做什么,我总是可以启动另一个实例并将其关联到该IP。)然后,我将部署一个SOCKS代理(Dante?); SOCKS具有非常广泛的应用程序支持,并且它可以很好地处理SFTP。

从这里可以看出Heroku的一些细节 - 例如,您需要配置您的代理服务器的EC2安全组,使Heroku可以访问它(请参阅Dynos and the Dyno Manifold)。您还需要在SOCKS服务器上启用身份验证,因为授予Heroku访问代理服务器的权限可授予Heroku中的所有人访问您的代理服务器。然后,heroku config:set SOME_SERVICE_SOCKS_PROXY=socks://user:[email protected],并让您的应用程序查找该环境变量并执行正确的操作。

您的代理和Heroku之间的区域内数据传输可能需要支付0.01美元/ GB,因为统计上,您的应用程序大部分时间都处于不同的可用区域。 Heroku dynos在生产中持续约24小时,所以虽然准确的位置会在不可预知的情况下跳舞,但它可能会以0.008美元/ GB的价格合计。您还将为微型实例本身付费(尽管reserved instances使它们变得很便宜)以及通常的AWS Internet数据传输速率。

+0

完美!谢谢。 –

+0

顺便说一句我想你的意思是“ip-10-1-2-3.ec2.internal”的私人DNS。这对我没有用。公众做到了。 –