我正在编写下面的代码来获取新创建的实例的公共dns,但是我得到了null
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 :(得分:1)
对于所有未运行的实例,dns名称为null。您可以查看Instance
类
在实例进入
running
之前,此名称不可用 状态
如果您使用VPC
运行当您将实例启动到VPC时,只有在为VPC启用DNS主机名时,Amazon才会为该实例提供公共和私有DNS主机名。默认情况下,仅对使用VPC控制台中的VPC向导创建的默认VPC和VPC启用DNS主机名。
Amazon支持以下VPC属性来控制DNS支持。如果您希望实例具有可从Internet访问的公共DNS主机名,请务必将这两个属性设置为true。