2017-03-17 30 views
0

我正在學習AWS以及如何爲EC2實例配置網絡,並且有幾個問題。我在t2.micro實例中使用CentOS 7。AWS NAT網關vs公網IP用於傳出互聯網連接

  1. 私有IP綁定到實例中的NIC,如ifconfig -a所示。目的似乎是服務器的單一聯繫點。如ifconfig -a所示,添加另一個網絡接口不會添加另一個NIC。由於主網絡接口不能是靜態IP,因此大多數配置都需要輔助網絡接口。例如,要將應用程序連接到數據庫服務器,請使用分配給第二個網絡接口的靜態IP。我是否正確理解這一點?

  2. 假設您配置了SG,公共IP將顯示在AWS控制檯中,並提供通過SSH連接到實例的方法。公共IP還提供訪問互聯網進行系統更新的手段。這似乎與NAT的AWS文檔相矛盾。如果公共IP已經提供了互聯網訪問,爲什麼需要NAT(實例或網關)?這是參考文檔引用的系統更新。

您可以使用NAT設備,以使在一個私人子網實例連接到Internet(例如,用於軟件更新)或其他AWS服務,但防止互聯網開始與連接實例。 NAT設備將私有子網中實例的流量轉發到Internet或其他AWS服務,然後將響應發送回實例。

  1. 公共IP和私有IP總是分配給每個實例嗎?我還沒有完成創建[新] AMI的過程來驗證是否有一個選項沒有公共IP。如果實例沒有公共IP,AWS控制檯Connect按鈕是否仍然允許您連接到它以管理服務器?在什麼情況下,一個實例沒有公共IP?你如何連接到該實例來管理它?

我已閱讀NAT Gateway文檔並瞭解其中的大部分內容。我無法理解爲了啓用互聯網訪問而需要聲明NAT網關或互聯網網關的部分,但似乎默認情況下啓用了。我錯過了什麼?

+1

您也可以在我的[爲什麼我們需要VPC中的私有子網](http://stackoverflow.com/a/22212017/1695906)答案中找到一些有用的信息? –

回答

4

我認爲你的困惑源於你的第三個問題。公共IP並不總是分配給實例。公共IP是一種可以在公共VPC子網中啓用或禁用的選項,而在私有VPC子網中,公共IP根本不是一個選項。對於沒有公共IP的EC2實例,需要NAT網關(或NAT實例)才能訪問VPC之外的任何內容。

您可能希望在私有子網中放置類似數據庫服務器的內容,以便VPC外部無法訪問它。但是,您可能希望數據庫服務器能夠訪問Internet以下載補丁程序或其他內容,或者您​​可能希望它訪問AWS API以將備份複製到S3或其他服務器上,在這種情況下,您需要一個NAT網關向服務器提供對VPC外部資源的訪問權限。

+0

這正是我所錯過的。我看到自動分配公共IP在步驟3中啓動實例。再次查看文檔,測試Internet連接部分澄清它。具有公共IP的實例位於公共子網中,而沒有公共IP的實例位於私有子網中。公共/專用IP只能在啓動實例時分配。我讀過的教程似乎沒有說清楚。謝謝@ Mark-B! –

+0

另外,關於你的第一個問題,我認爲你是過於複雜的事情。絕對不需要爲大多數配置添加第二個網絡接口。我不確定您分配給第二個網絡接口的「靜態IP」是什麼,但這不是必需的。在VPC中,私有IP是靜態的。要連接到VPC中的其他資源,您應始終使用專用IP,並且應使用安全組ID而不是IP地址將安全組打開到其他VPC資源。 –

+0

RE:「_Private IP是您可以在公共VPC子網啓用或禁用的選項_」此選項位於何處? VPC創建後可以更改嗎?我通過VPC嚮導瞭解到,我擁有一個沒有私有子網的公共VPC。 –