Linux

Amazon EC2 實例之間通信的最佳實踐是什麼?

  • October 21, 2016

我一直在為即將到來的項目設置 Amazon EC2 實例。它們都是微型實例,執行 Ubuntu Server 64 位。這是我到目前為止設置的內容:

  • 網路伺服器——阿帕奇
  • 數據庫伺服器——MySQL
  • 開發伺服器——Apache & MySQL
  • 文件伺服器——SVN & Bacula(備份到 S3 儲存桶)

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

我的第一個問題是,Amazon EC2 實例之間最好、最安全的通信方式是什麼?目前我正在使用 SSH,這是最好的方法嗎?

根據亞馬遜的說法,使用彈性 IP 地址在它們之間進行通信的實例將被收取數據傳輸費用。但是,使用其私有 IP 地址進行通信的實例可以免費進行。不幸的是,如果實例停止並重新啟動,私有 IP 似乎會發生變化。

所以這是我的第二個問題,如果它們不是靜態的,你如何利用亞馬遜實例的私有 IP?

我知道實例可能不會非常頻繁地停止和啟動,但是,如果 IP 地址在各種配置文件中,那麼必須全部檢查並更改它會很痛苦。

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

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

查看 Eric Hammond 的文章,該文章解釋瞭如何在 EC2 中使用彈性 IP 地址。此方法不會產生任何頻寬費用,因為從 EC2 中解析彈性 IP 地址(按名稱)會返回私有 IP 地址。

http://alestic.com/2009/06/ec2-elastic-ip-internal

對於更多選項,我有一篇文章研究了一些替代方案:

http://shlomoswidler.com/2010/06/track-changes-to-your-dynamic-cloud-services-automatically.html

將您的 EC2 實例部署到 AWS Virtual Private Cloud (VPC)。當您配置您的 VPC 時,您將為 VPC 中的所有 EC2 實例分配 CIDR,並且內部 IP 將是靜態的。

引用自:https://serverfault.com/questions/227682