如何解析 AWS EC2 的主机名
How to resolve hostname of AWS EC2
我尝试访问我安装的 AWS EC2 中的服务。它显示错误:
do not know what is ip-10-124-123-122
如何解析 EC2 的私有主机名:ip-10-124-123-122
?
这两个链接显示我可以将 ip-10-124-123-122
的主机名更改为 EC2 的域名:
在 VPC 中将 enableDnsHostnames
和 enableDnsSupport
设置为 true:
Using DNS with Your VPC - Amazon Virtual Private Cloud
将主机名从 ip-10-124-123-122
更改为 domainname
:
Changing the Hostname of Your Linux Instance - Amazon Elastic Compute Cloud
请注意,我确实有一个 EC2:port80 的网络服务器域名,但它与 EC2 的主机名无关。因为我是这样创建域名的:
https://domainname->route53->ALB:443->targetgroup->EC2 port 80.
注意:EC2在非默认VPC中,VPC已经启用了DNS解析和DNS主机名。
如果我在该 EC2 的同一子网中的 EC2 上键入 nslookup ip-10-X-X-X.region.compute.internal
,我可以看到 IP,但该 EC2 的 IP 未解析。
如果我在我尝试访问该服务的机器上键入 nslookup ip-10-X-X-X.region.compute.internal
;
注意:如果我 nslookup ip-10-124-123-122
无法解析 EC2。也许这就是原因?
以上步骤是否足以解析 EC2 的主机名?如果不。如何解决错误:不知道什么是 ip-10-124-123-122
?
每个 Amazon EC2 实例都有一个 Public DNS 名称 和一个 私有 DNS 名称。
Public DNS 名称将如下所示:
ec2-54-252-207-11.ap-southeast-2.compute.amazonaws.com
这个可以在网上解决。它实际上将按照名称建议解析为 54.252.207.11
。
私有 DNS 名称如下所示:
ip-172-31-10-201.ap-southeast-2.compute.internal
会解析为172.31.10.201
。
私有 DNS 名称只能在其存在的 VPC内解析。这是因为 IP 地址仅在该专用网络内有意义。
从 Internet 上的计算机,我可以解析 public 地址:
$ nslookup ec2-54-252-207-77.ap-southeast-2.compute.amazonaws.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: ec2-54-252-207-77.ap-southeast-2.compute.amazonaws.com
Address: 54.252.207.77
从同一 VPC 中的 Amazon EC2 实例,我可以解析内部 IP 地址:
$ nslookup ip-172-31-10-201.ap-southeast-2.compute.internal
Server: 172.31.0.2
Address: 172.31.0.2#53
Non-authoritative answer:
Name: ip-172-31-10-201.ap-southeast-2.compute.internal
Address: 172.31.10.201
底线:您似乎没有使用完整的 DNS 名称,这就是它对您不起作用的原因。这就像试图解析 facebook
而不是 facebook.com
。不起作用。 (好吧,如果你定义一个默认的网络搜索域,它会,但这里不太适合。)
我尝试访问我安装的 AWS EC2 中的服务。它显示错误:
do not know what is ip-10-124-123-122
如何解析 EC2 的私有主机名:ip-10-124-123-122
?
这两个链接显示我可以将 ip-10-124-123-122
的主机名更改为 EC2 的域名:
在 VPC 中将
enableDnsHostnames
和enableDnsSupport
设置为 true: Using DNS with Your VPC - Amazon Virtual Private Cloud将主机名从
ip-10-124-123-122
更改为domainname
: Changing the Hostname of Your Linux Instance - Amazon Elastic Compute Cloud
请注意,我确实有一个 EC2:port80 的网络服务器域名,但它与 EC2 的主机名无关。因为我是这样创建域名的:
https://domainname->route53->ALB:443->targetgroup->EC2 port 80.
注意:EC2在非默认VPC中,VPC已经启用了DNS解析和DNS主机名。
如果我在该 EC2 的同一子网中的 EC2 上键入 nslookup ip-10-X-X-X.region.compute.internal
,我可以看到 IP,但该 EC2 的 IP 未解析。
如果我在我尝试访问该服务的机器上键入 nslookup ip-10-X-X-X.region.compute.internal
;
注意:如果我 nslookup ip-10-124-123-122
无法解析 EC2。也许这就是原因?
以上步骤是否足以解析 EC2 的主机名?如果不。如何解决错误:不知道什么是 ip-10-124-123-122
?
每个 Amazon EC2 实例都有一个 Public DNS 名称 和一个 私有 DNS 名称。
Public DNS 名称将如下所示:
ec2-54-252-207-11.ap-southeast-2.compute.amazonaws.com
这个可以在网上解决。它实际上将按照名称建议解析为 54.252.207.11
。
私有 DNS 名称如下所示:
ip-172-31-10-201.ap-southeast-2.compute.internal
会解析为172.31.10.201
。
私有 DNS 名称只能在其存在的 VPC内解析。这是因为 IP 地址仅在该专用网络内有意义。
从 Internet 上的计算机,我可以解析 public 地址:
$ nslookup ec2-54-252-207-77.ap-southeast-2.compute.amazonaws.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: ec2-54-252-207-77.ap-southeast-2.compute.amazonaws.com
Address: 54.252.207.77
从同一 VPC 中的 Amazon EC2 实例,我可以解析内部 IP 地址:
$ nslookup ip-172-31-10-201.ap-southeast-2.compute.internal
Server: 172.31.0.2
Address: 172.31.0.2#53
Non-authoritative answer:
Name: ip-172-31-10-201.ap-southeast-2.compute.internal
Address: 172.31.10.201
底线:您似乎没有使用完整的 DNS 名称,这就是它对您不起作用的原因。这就像试图解析 facebook
而不是 facebook.com
。不起作用。 (好吧,如果你定义一个默认的网络搜索域,它会,但这里不太适合。)