2011-01-27 80 views
5

我一直在爲即將推出的項目設置Amazon EC2實例。他們都是微型實例,運行Ubuntu Server 64bit。這是我到目前爲止已經設置:Amazon EC2實例之間進行通信的最佳做法是什麼?

  • Web服務器 - 阿帕奇
  • 數據庫服務器 - MySQL的
  • 開發服務器 - 阿帕奇& MySQL的
  • 文件服務器 - SVN & Bacula(備份完成到S3存儲桶)

目前,只有一個Web服務器,但最終還會有更多。

我的第一個問題是,什麼是亞馬遜EC2的 最好的,最安全的方式 情況下,每個 相互通信?目前我使用SSH,是最好的方法是 ?

根據亞馬遜,使用其彈性IP地址進行通信的實例將收取數據傳輸費用。但是,使用其私有IP地址進行通信的實例可以免費進行。不幸的是,如果實例停止並重新啓動,則出現私有IP更改。

所以這是我的第二個問題,你如何 你利用亞馬遜的情況下 私有地址的,如果他們不是靜態的?

我知道這些實例可能不會被停止並且頻繁啓動,但是,如果IP地址在各種配置文件中,那麼通過全部配置文件來修改它將是一件痛苦的事情。

我主要關心Web服務器,它需要訪問數據庫服務器和文件服務器,在執行備份時需要訪問所有實例。

注意:我以前從未使用過Bacula,我還沒有安裝它,但我假設它需要客戶端的IP地址來備份它們。

ServerFault會是一個更好的地方發佈這個問題?

回答

3

這可能是更多的ServerFault主題,但我會回答它。

克服內部IP地址動態性的最簡單方法是在羣集中運行專用DNS服務器。我的資產使用Windows虛擬機,所以我們有一個AD對設置爲提供DNS服務(以及順便說一下,集中式虛擬機登錄身份驗證)。每臺機器都是域的成員,並且每個機器的DNS指針設置爲每個AD單元(主用和備用),動態內部IP在DNS服務發生變化時自動註冊 - 因此,而不是引用其他虛擬機通過其公共IP(例如79.125.xx)導致數據傳輸成本,或通過內部IP(例如10.44.xx)在重新啓動時更改,它們使用持久性的DNS名稱(例如mydomain.dbserver01)。

我們同時使用內部和外部數據交換加密通訊科 - 記住,雲VM被定義本身就比你企業防火牆內的任何安全性較低,所以你應該投入更多的在他們的安全配置。我們的政策是,雲虛擬機應該配置,使得它比我們的內部網中的等價VM安全

+0

使用DNS是一個有趣的想法。我瞭解它是如何在本地網絡上運行的,但我對於如何在雲中運行有點模糊。 - 我猜測DNS必須是本地的(不在雲端),所以它的IP可能是靜態的。 – ks78 2011-01-27 16:19:25

相關問題