2012-07-07 66 views
4

由於地理冗餘和性能方面的原因,我們將在多個區域設置多個EC2服務器,並使用亞馬遜的AutoScaling按需擴展和縮減。然而,我們有一個獨特的要求,即所有地區的每臺服務器都需要能夠相互通信。雖然將防火牆設置爲允許在單個區域內實現這一功能非常簡單,但由於不支持從其他區域引用防火牆中的安全組,因此不同區域如何實現這一點並不明顯。EC2:使用AutoScaling跨多個區域的安全組防火牆規則

有誰知道什麼是確保我們的所有服務器都可以在特定端口上互相訪問的最佳方式?請記住,服務器將由亞馬遜的AutoScaling添加和刪除,因此手動輸入IP地址將很快過時。我希望有一種通過配置來實現這一點的方法,而不是每次通過AutoScaling添加或刪除服務器時都必須進行API調用。

+0

您是否找到解決方案?我有類似的要求+碰到同樣的問題。或者通過ip添加唯一的方法? – steve 2013-01-08 16:12:07

+1

不幸的不是。我們看了很多解決方案,其中之一是vCider,但最終我們決定使用簽名證書和STunnel來安全地在我們的服務器之間開放端口。我相信亞馬遜EC2的構建方式,故意進行配置,以便每個區域完全獨立於其他所有區域,因此這些類型的區域之間的依賴關係是不可能的。 – 2013-01-08 22:26:13

回答

1

我不相信這是可能的。您可以嘗試使用安全組ID而不是名稱,但我不確定這些工作是否跨越區域。我只是試了一下,並沒有得到它的工作。該規則創建得很好,但無法保證我實際從我的帳戶添加的安全組,因爲您實際上可以在帳戶中添加安全組。如果你有一個VPN連接,最有可能的是VPN連接,因爲VPN讓你可以更好地控制防火牆規則,但是我從來沒有嘗試過。

所有這一切都在說。我認爲你應該重新審視你的應用程序的要求。我不知道爲什麼你需要連接這兩個地區,我瞭解你的目標是實現地理冗餘。然而,在考慮容錯時,要求兩個環境相互連接會給我一個紅旗。如果環境以任何方式連接,即使一個環境出現故障,仍有可能發生完全故障。除延遲或容錯外,除了在兩個區域啓動實例還有什麼用途?我的觀點是,如果服務器需要安全組中的規則,則您的環境可能連接得太緊密,並且您通過擁有兩個地理位置而獲益不大。

每個EC2區域都是隔離的,以幫助提供強有力的架構設計決策。他們還希望把任何問題都分離到一個地區,這也是你應該努力的。

+0

這完全是關於延遲,是我們添加區域的主要原因之一。不幸的是,每個地區的客戶都需要實時接收來自其他地區的消息,因此完全隔離這些地區是毫無意義的。我們已經在另一個區域中構建了容錯性負面依賴關係,但必須確保每個區域中的每個服務器可以連接到其他區域。很遺憾,您的答案根本沒有幫助,因爲這些實例具有此級別的訪問權限是有正當理由的。 – 2012-07-07 19:59:13

+0

「如果您的環境以任何方式連接」 - 它們可能必須連接,例如用於數據存儲複製。如果您擁有出色的配置管理設置,則可以輕鬆地在其他區域根據需要複製基礎架構,但對於數據複製來說,這是一個不同的故事,因爲要使數據具有任何有效性,它必須是連續的。 – talonx 2013-12-12 05:26:12

+0

對,有時你無法避免它。希望如果您需要這種高可用性,您可以使用支持多區域複製的數據庫軟件。除了數據存儲/數據庫之外,您應該儘量避免內部區域間的通信。 – bwight 2013-12-13 22:32:12