tldr:爲了在MongoDB replicaset配置中使用彈性IP,我需要做些什麼?如何在EC2中使用彈性IP配置mongodb複製集?
我們有一個在EC2上運行的三節點MongoDB複製集。其中一個實例昨天被AWS退役,因此我們被迫停止並重新啓動EC2實例。
不幸的是,當我們第一次配置replicaset時,我們對AWS來說是相當新的,並且不知道這些實例的公有DNS地址可能會發生變化。我們在複製數據庫配置中使用每個實例的公有DNS,並在我們的代碼中使用所有應用程序連接字符串。在昨天閱讀了該主題後,我嘗試通過爲實例分配彈性IP並將複製集配置更改爲使用該IP來使節點重新聯機。在經歷了一些痛苦後,我能夠獲得其他兩個節點的備份並以該配置運行,但具有彈性IP的實例拒絕重新加入複製套件,並且mongod.log中的錯誤爲:
[rsStart] replSet info self not present in the repl set configuration
還沒有更多閱讀,我發現我不應該在配置中使用實際的彈性IP,而是彈性IP的公有DNS名稱。我的問題是,在我再次將所有內容全部脫機以嘗試此更改之前,爲了在複製組配置中使用彈性IP,我需要做些什麼?我在這個10Gen頁面上發現了一些信息:http://docs.mongodb.org/ecosystem/platforms/amazon-ec2/#communication-across-regions,這讓我想我可能需要混淆實例和/或主機文件的主機名,但是我一直無法找到任何描述我的確切場景的人。
有什麼想法?
這也解決了內部專用IP,因此您不需要爲外部流量收費。 – Zambonilli