2015-10-04 94 views
0

的空DNS我寫下面的代碼來獲得新創建的實例的公共DNS但是我得到空獲取新創建的實例

DescribeInstancesResult describeInstancesRequest = amazonEC2Client.describeInstances(new DescribeInstancesRequest()); 
List<Reservation> reservations = describeInstancesRequest.getReservations(); 

for (Reservation reservation : reservations) { 
    for (Instance instance1 : reservation.getInstances()) { 

     dns = instance1.getPublicDnsName(); 
     if(!(dns.equals(""))) 
     { 

      break; 
     } 


    } 
} 
System.out.println("value:" + dns); 
+0

是在VPC創建的實例,而無需公網IP? – datasage

+0

是的,但是在創建實例u =之後,已經爲其分配了一個公共dns – aquaabhi

+0

這是否意味着您在創建實例後爲其分配彈性IP? – datasage

回答

1

所有非運行的情況下,DNS名稱爲空。您可以查看文檔Instance

這個名稱不可用,直到實例進入running 狀態

如果你有一個VPC

當你啓動一個實例上運行到VPC中,只有在爲VPC啓用DNS主機名的情況下,Amazon纔會爲公用和專用DNS主機名提供實例。默認情況下,僅對在VPC控制檯中使用VPC嚮導創建的默認VPC和VPC啓用DNS主機名。

亞馬遜支持以下VPC屬性來控制DNS支持。如果您希望您的實例具有可從Internet訪問的公用DNS主機名,請確保將這兩個屬性都設置爲true。

  • enableDnsHostnames
  • enableDnsSupport