我有一個使用rethink-db實例作爲數據庫的彈性beanstalk應用程序。顯而易見的事情是將訪問數據庫的權限限制在這個應用程序中。如何限制RethinkDB訪問特定應用程序?
但是,如果我將Rethinkdb實例的安全組中的相關端口設置爲0.0.0.0以外的任何值,則應用程序無法訪問數據庫。
該應用程序正在使用數據庫的私人DNS解析,並在同一個亞馬遜地區...據我所知,這應該已經讓我通過安全組沒有任何規則。顯然,在這種情況下。
我曾嘗試將應用程序安全組的異常添加到該端口上的數據庫安全組以及該應用程序的負載平衡器的安全組。我也在同一時間嘗試過。沒有骰子。
beanstalk-app是可擴展的,所以它通常會從幾個可以隨時改變的實例進行通信。遺憾的是,通過彈性IP並允許數據庫安全組不是一種選擇。
最後,我被迫離開安全組的重新思考數據庫的驅動程序端口廣泛打開在0.0.0.0 ...任何其他我試過讓我無法訪問我自己的應用程序。
有人可以告訴我我做錯了什麼嗎?
有趣的...在你強調私有IP後,我改變了應用程序,明確使用IP而不是DNS ......現在它可以工作。謝謝!我認爲當實例在同一個區域時,私有DNS應該總是解析爲私有IP? – UncleBob
是的,私人DNS應解析爲私有IP。奇怪的是,事實並非如此。你確定DNS查找在你的EB服務器上工作嗎?我試着運行'nslookup your-db-private-dns'來查看返回的內容。 –
我無法確認EB實例本身,因爲它們沒有密鑰,但該區域中的其他實例似乎正確地解析了DNS。 Buuut ...我剛剛意識到數據庫在t2實例上運行,而lein elastic beanstalk將應用程序部署到t1實例。可能是問題的一部分,儘管它們仍處於相同的VPC中,並且解決方案正確地工作(從t2到t1實例)。 – UncleBob