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


当前回答

您不必为实例分配公共ip地址。 可以使用NAT实例,也可以使用NAT网关。

https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-comparison.html

其他回答

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

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

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

首先,这可能有两个原因:

已创建VPC,但忘记开启“公共DNS”。

要解决这个问题:

i)进入“AWS VPC控制台”,选择已创建的VPC。

ii)然后单击“操作”,然后启用DNS解析。

            OR

您没有在EC2配置中启用公共ip-assign选项。

这里你不能改变设置;因此,创建一个ami映像,然后从中重新创建实例。

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

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

从EC2仪表板:

从侧边栏转到弹性ip。

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

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

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

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

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

单击关联地址。

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

首先,对于公共IP / DNS,您必须有一个正在运行的EC2服务(可以是实例/ Docker / Lightsail)。对于任何服务,你都将有两个不同的ip(私有和公共),一旦你主动选择了实例,安全选项卡下的安全组也是可用的。

步骤1:

您可以根据端口使用情况启用,例如如果您想使用HTTP和HTTPS端口托管网站

EC2->安全组->编辑入站规则->添加或删除所需的端口。

例如80,443,22等和端口的流量来源(如果你想让端口对所有人开放,请选择任何地方,或者如果你想为所选的ip打开应用程序-手动输入IPV4/IPV6。

完成上述配置后,创建弹性IP并将其附加到正在运行的EC2实例。一旦您将IP附加到实例,您的公共IP将是弹性IP

步骤2:

AWS还提供一项名为Route53的服务。在这里,您可以创建托管区域,并在创建后输入不带www的域名,您将获得托管区域的name Server值。

了解更多关于Route53的信息https://aws.amazon.com/route53/

您不必为实例分配公共ip地址。 可以使用NAT实例,也可以使用NAT网关。

https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-comparison.html