一个和我一起工作的人给了我登录到他的EC2控制台的EC2凭证。不是我设的局。一些实例显示公共dns名称,而其他实例则显示空白的公共dns。我希望能够连接到具有空白公共DNS的实例。我一直无法弄清楚为什么这些显示为空白。


当前回答

只需启动另一个实例(如果它没有用处,也可以删除有问题的实例),并确保这次选中了“自动为您的实例分配公共IP地址”。如果不像路西法说的那样;为实例分配一个弹性IP (EIP),然后使用该IP登录。但是要小心,如果你运行的是免费的AWS层,一个EIP会让你花钱——这是另一个话题了。

其他回答

这与VPC的“DNS主机名”特性有关。您可以启用或禁用它。进入VPC,在“操作”菜单中选择“编辑DNS主机名”,然后选择“是”。这样做之后,应该会显示EC2实例的公共DNS。

进入VPC 选择VPC 单击“操作”,选择“编辑DNS主机名” “DNS主机名”勾选“启用” 单击保存更改

进入AWS控制台。 进入“服务”页面,选择“VPC” 单击“vpc”。 选择实例并单击Action。 选择“编辑DNS主机名”,单击“是”。

最后你会得到你的公共dns。

对于那些正在使用Terraform的人。

如果需要启用DNS主机名,请在VPC中使用如下一行:

resource "aws_vpc" "app_vpc" 
{
   enable_dns_hostnames = true # Add this line

   cidr_block = var.vpc_cidr
   tags = { Name = "mostafa_vpc" }
}

进入VPC控制台,选择您的VPC,单击“操作”菜单,选择“编辑DNS主机名”—选择“是”。这应该能解决问题。