2012-11-12 53 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。這對我沒有用。公衆做到了。 –