0

新しく作成されたインスタンスのパブリック 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);
4

1 に答える 1

2

実行されていないすべてのインスタンスの dns 名は null です。Instanceクラスのドキュメントを確認できます

この名前は、インスタンスがrunning 状態になるまで使用できません

VPC で実行する場合

VPC でインスタンスを起動すると、VPC で DNS ホスト名が有効になっている場合にのみ、Amazon はインスタンスにパブリックおよびプライベート DNS ホスト名を提供します。デフォルトでは、DNS ホスト名はデフォルト VPC および VPC コンソールで VPC ウィザードを使用して作成した VPC に対してのみ有効になります。

Amazon は、DNS サポートを制御するために次の VPC 属性をサポートしています。インターネットからアクセスできるパブリック DNS ホスト名をインスタンスに持たせる場合は、両方の属性を true に設定してください。

  • enableDnsHostnames
  • enableDnsSupport
于 2015-10-05T10:19:25.457 に答える