2013-10-24 112 views
0

對不起,如果這是一個愚蠢的問題,但我找不到任何明確的答案。我設置了私有子網和公有子網的VPC。私人子網有一個NAT實例來路由互聯網流量。公共子網被配置爲離開IGW。互聯網流量是否需要EIP?

-I創建一個堡壘主機登錄到SSH
-I創建的測試實例對私人子網和堡壘主機連接。由於路由到NAT實例和端口80/443是允許的和ICMP,我可以ping和訪問互聯網上的文件。
- 我在沒有EIP的公共子網上創建實例。既然它有通往IGW的路線,我不應該上網嗎?我創建了一個測試安全組,允許來自所有來源的所有流量,但我仍無法ping或獲取http鏈接。

回答

3

只要您配置了正確的VPC安全組,就可以通過Internet訪問具有公共DNS名稱的公共子網實例。你不需要EIP。

停止並啓動實例時,EC2實例的公用DNS名稱發生更改。爲避免這種情況,您可以爲實例分配一個EIP,以便IP地址在實例停止/啓動週期內保持不變。

您需要回答這些問題:

  1. 貴公共子網實例有一個公共的DNS主機名?在您的實例上運行curl -s http://169.254.169.254/latest/meta-data/public-hostname以查看公共DNS主機名。
  2. 您是否已正確配置VPC安全組以允許傳入Internet訪問?
+0

當我在沒有EIP的公共子網中的EC2實例上運行第1步時,出現404錯誤。我無法ping通169.254.169.254,我已經重複檢查並確保安全組是正確的。我的EC2實例未使用公有DNS主機名啓動。我去了我的VPC配置,並啓用它,並重新啓動一個微型實例,它仍然無法正常工作。我看了,並意識到他們都沒有公共的DNS主機名,並通過啓動配置,看到我沒有啓用公共DNS選項:(謝謝!它的工作現在:) – nocode

+0

在Stackoverflow,如果答案提供解決方案給你,然後[你應該接受](http://meta.stackexchange.com/a/5235)它和可選[你應該upvote](http://stackoverflow.com/help/privileges/vote-up)它。 – slayedbylucifer

+0

完成:)快速跟進問題:我想確認,因爲我無法找到它,但我不能啓用DNS公共主機名後,我已經啓動了一個實例?它必須從一開始就啓用? – nocode