2014-11-03 201 views
10

EC2 t2.micro實例沒有公共DNSEC2 t2.micro實例沒有公共DNS

我lanunched一個Amazon Web服務(AWS)EC2實例,t2.micro,必須launced到VPC。 VPC具有自動分配公用IP設置爲是。 DNS解析:是 DNS主機名:是 但在EC2儀表板上,該實例仍具有空白的公共DNS和公用IP。我曾嘗試多次重新啓動實例,但仍未分配公用IP。我們的AWS賬戶附帶的5個彈性IP已被使用。有可能在不使用Elastic IP的情況下獲得分配給t2.micro實例的公有IP?

我已閱讀帖子:EC2 instance has no public DNS, 但我沒有信譽積分可以添加評論,所以我將此發佈爲新問題。

+0

我能夠在不使用VPC的情況下啓動另一個實例t1.micro,並且在獲取公共IP時沒有問題。所以我不知道爲什麼VPC - 自動分配公共IP不起作用,但我不會爲此而失眠。 – J21042 2014-11-03 19:50:01

回答

16

根據您提供的信息,我不能100%確定我的答案是正確的,但這裏有一個想法。

您的EC2實例沒有公共IP地址的最常見原因是您在專用子網中啓動您的EC2實例。私有子網意味着位於該子網中的任何EC2實例都不能直接從公共Internet訪問。換言之,根據定義,私有子網中的EC2實例不能具有公共IP地址。

這可以解釋爲什麼檢查「公共IP地址」不起作用,以及爲什麼您無法分配彈性IP地址。

您不能將實例從一個子網重新定位到另一個子網。如果需要這樣做,可以創建實例的AMI(右鍵單擊EC2實例並單擊create image),然後從不同子網中的AMI啓動一個新實例。

要確定您的子網是私有的,看路由表,看看你是否有一個互聯網網關路線。轉至VPC>子網>選擇一個子網>路由表選項卡。尋找有類似igw-***的條目。如果你看到這個,它是一個公共子網。如果你看到類似eni-***/i-***這是一個私人子網。

+1

我不能100%確定發生了什麼,因爲我已經刪除了使用的VPC和路由表,但它是我聽說過的最好的解釋。之後,我創建了一個新的t2.micro實例,使用新的VPC,並且「Auto Assign Public IP」= yes,並且公有IP與預期一致。謝謝Josh Padnick。 – J21042 2014-11-06 16:24:40

19

右鍵單擊VPC管理控制檯頁面中的VPC行,然後選擇「編輯DNS主機名」。將其設置爲「是」。有必要讓所有的實例具有相同的VPC。

在「步驟3:配置實例詳細信息」中創建新實例時,需要啓用「自動分配公共IP」。

就是這樣! :-)

+0

確實如此。必須重新發現它。來這裏寫答案。看你已經回答了。投票。評論這段文字。 EOF。 – 2015-12-15 15:50:19

+0

這爲我修復了它。感謝這個答案。 – 2016-06-14 00:31:51

1

同時檢查: VPC - >子網 - >子網操作 - >修改自動分配公網IP

1

今天面臨同樣的問題。我的EC2實例沒有公共DNS,因此我無法通過ssh連接。

我嘗試和成功執行這些步驟:

  • 轉到VPC>互聯網網關:確保Internet網關創建並連接到EC2的VPC

  • 轉到VPC>路由表,選擇一個VPC路線,導航到路由標籤:添加新的規則與

++目的地:0.0.0.0/0

++目標:選擇創建的互聯網網關

  • 轉到VPC>子網>路由表選項卡:點擊編輯,改變到路由表中與目的地0.0.0.0/0上述

完成。

1

我有同樣的問題。我的問題原因原來是我使用的路由表與子網無關。

enter image description here

後,我改變了我的子網,我的情況下,被分配的公網IP。

相關問題