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


当前回答

在验证VPC和子网设置后,我的EC2实例仍然没有公共DNS。经过一天的寻找,我终于找到了解决办法。

我必须创建一个新的弹性IP地址,然后将其关联到我的实例。

从EC2仪表板:

从侧边栏转到弹性ip。

单击“分配新地址”,然后单击“分配”。

回到EC2仪表盘。进入“网络接口”。

选择没有公共DNS的EC2实例。然后操作-关联地址。

在“Address”字段中选择新创建的弹性IP地址。

“关联到私有IP地址”字段,选择没有公共DNS的私有IP地址。

单击关联地址。

您的EC2实例现在应该有一个公共DNS。

其他回答

实际上,在VPC中有一个叫做“DNS主机名”的设置。可修改EC2实例所在的VPC,将该选项修改为“是”。这样应该可以了。

我昨天遇到了这个问题,尝试了曼尼的上述答案,但没有奏效。不过,VPC的设置对我很有用。

最终我添加了一个EIP,我用它来连接。

对于那些使用CloudFormation,关键属性是EnableDnsSupport和EnableDnsHostnames,应该设置为true

VPC: {
    Type: 'AWS::EC2::VPC',
    Properties: {
      CidrBlock: '10.0.0.0/16',
      EnableDnsSupport: true,
      EnableDnsHostnames: true,
      InstanceTenancy: 'default',
      Tags: [
        {
          Key: 'env',
          Value: 'dev'
        }]
    }
  }

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

我试图修复“没有公共DNS” 一旦EC2启动并运行,我就无法添加公共DNS

这甚至是在按照上述步骤制作VPC或子网的mod之后

所以,在启动另一个实例之前,我必须对子网和vpc进行修改,然后再启动一个新实例。

新实例有一个公共DNS。这就是我的工作方式。

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