Amazon EC2 实例主机名类型
本节介绍在 VPC 子网中启动实例时可用的 Amazon EC2 实例来宾操作系统主机名类型。
主机名区分网络中的 EC2 实例。例如,如果您想运行脚本,以与网络上的部分或全部实例进行通信,则可以使用实例的主机名。
EC2 主机名的类型
在 VPC 中启动 EC2 实例时,来宾操作系统主机名有两种主机名类型:
-
IP name(IP 名称):传统命名方案,当您启动实例时,实例的私有 IPv4 地址包含在实例的主机名中。IP 名称在 EC2 实例的生命周期内存在。当用作私有 DNS 主机名时,它只会返回私有 IPv4 地址(A 记录)。
-
Resource name(资源名称):当您启动实例时,EC2 instance ID(EC2 实例 ID)包含在实例的主机名中。资源的名称在 EC2 实例的生命周期内存在。当用作私有 DNS 主机名时,它可以返回私有 IPv4 地址(A 记录)和/或 IPv6 全局单播地址(AAAA 记录)。
EC2 实例来宾操作系统主机名类型取决于子网设置:
-
如果在仅 IPv4 子网中启动实例,则可以选择 IP 名称或资源名称。
-
如果在双堆栈(IPv4+IPv6)子网中启动实例,则可以选择 IP 名称或资源名称。
-
如果在仅 IPv6 子网中启动实例,则会自动使用资源名称。
IP 名称
当您启动具有 IP name(IP 名称)的 Hostname type(主机名类型)的 EC2 实例时,来宾操作系统主机名将配置为使用私有 IPv4 地址。
-
us-east-1 中的实例的格式:
private-ipv4-address
.ec2.internal -
例如:
ip-10-24-34-0
.ec2.internal -
任何其它AWS区域中的实例的格式:
private-ipv4-address.region
.compute.internal -
例如:
ip-10-24-34-0.us-west-2
.compute.internal
资源名称
当您在仅 IPv6 子网中启动 EC2 实例时,Resource name(资源名称)的 Hostname type(主机名类型)默认处于选中状态。当您在仅 IPv4 子网或双堆栈(IPv4+IPv6)子网中启动实例时,Resource name(资源名称)是您可以选择的选项。启动实例后,您可以管理主机名配置。有关更多信息,请参阅 更改 Amazon EC2 基于资源的命名选项。
当您启动具有 Resource name(资源名称)的Hostname type(主机名类型)的 EC2 实例时,来宾操作系统主机名将配置为使用 EC2 实例 ID。
-
us-east-1 中的实例的格式:
ec2-instance-id
.ec2.internal -
例如:
i-0123456789abcdef
.ec2.internal -
任何其它AWS区域中的实例的格式:
ec2-instance-id.region
.compute.internal -
例如:
i-0123456789abcdef.us-west-2
.compute.internal
IP 名称和资源名称之间的区别
IP 名称和资源名称的 DNS 查询共存,以确保向后兼容并允许您从基于 IP 的主机名命名迁移到基于资源的命名。对于基于 IP 名称的私有 DNS 主机名,您无法配置是否响应实例的 DNS A 记录查询。无论客户操作系统主机名设置如何,DNS A 记录查询始终得到响应。相反,对于基于资源名称的私有 DNS 主机名,您可以配置是否响应实例的 DNS A 和/或 DNS AAAA 查询。当您启动实例或修改子网时,您可以配置响应行为。有关更多信息,请参阅 更改 Amazon EC2 基于资源的命名选项。
在哪里可以找到资源名称和 IP 名称
您可以在 Amazon EC2 控制台中查看主机名类型、资源名称和 IP 名称。
创建 EC2 实例时
当您创建 EC2 实例时,根据您选择的子网类型,Resource name(资源名称)的 Hostname type(主机名类型)可能是可用的,也可能已选中且无法修改。本节介绍您会在什么场景中看到主机名类型、资源名称和 IP 名称。
方案 1
您在向导中创建 EC2 实例(参阅 使用控制台中的启动实例向导来启动 EC2 实例),然后配置详细信息时,您选择配置为仅 IPv6 的子网。
在这种情况下,Resource name(资源名称)的 Hostname type(主机名类型)已自动选中且无法修改。将自动取消选择 Enable IP name IPv4 (A record) DNS requests(启用 IP 名称 IPv4(A 记录)DNS 请求)和 Enable resource-based IPv4 (A record) DNS requests(启用基于资源的 IPv4(A 记录)DNS 请求)的 DNS Hostname(DNS 主机名)选项且不可修改。Enable resource-based IPv6 (AAAA record) DNS requests(启用基于资源的 IPv6(AAAA 记录)DNS 请求)默认处于选中状态,但是可修改。如果选择该选项,对资源名称的 DNS 请求将解析为此 EC2 实例的 IPv6 地址(AAAA 记录)。
方案 2
您在向导中创建 EC2 实例(见 使用控制台中的启动实例向导来启动 EC2 实例),然后配置详细信息时,您选择配置为 IPv4 CIDR 块或同时配置 IPv4 和 IPv6 CIDR 块(“双堆栈”)的子网。
在此情况下,Enable IP name IPV4 (A record) DNS requests(启用 IP 名称 IPv4(A 记录)DNS 请求)已自动选中且无法更改。这意味着对 IP 名称的请求将解析为此 EC2 实例的 IPv4 地址(A 记录)。
选项默认为子网的配置,但是您可以根据子网设置修改此实例的选项:
-
Hostname type(主机名类型):确定您希望 EC2 实例的来宾操作系统主机名是资源名称还是 IP 名称。默认值是 IP name(IP 名称)。
-
Enable resource-based IPv4 (A record) DNS requests(启用基于资源的 IPV4(A 记录)DNS 请求):确定对您的资源名称的请求是否解析为此 EC2 实例的私有 IPv4 地址(A 记录)。此选项非默认选定。
-
Enable resource-based IPV6 (AAAA record) DNS requests(启用基于资源的 IPV6(AAAA 记录)DNS 请求):确定对您的资源名称的请求是否解析为此 EC2 实例的 IPv6 GUA 地址(AAAA 记录)。此选项非默认选定。
查看现有 EC2 实例的详细信息时
您可以在 EC2 实例的 Details(详细信息)选项卡中查看现有 EC2 实例的主机名值:
-
Hostname type(主机名类型):IP 名称或资源名称格式的主机名。
-
Private IP DNS name (IPv4 only)(私有 IP DNS 名称(仅 IPv4)):将始终解析为实例的私有 IPv4 地址的 IP 名称。
-
Private resource DNS name(私有资源 DNS 名称):解析为为此实例选择的 DNS 记录的资源名称。
-
Answer private resource DNS name(回答私有资源 DNS 名称):资源名称解析为 IPv4(A)、IPv6(AAAA)或 IPv4 和 IPv6(A 和 AAAA)DNS 记录。
此外,如果您直接通过 SSH 连接到 EC2 实例,然后输入 hostname
命令,您将看到 IP 名称或资源名称格式的主机名。
在资源名称和 IP 名称之间进行选择
当您启动 EC2 实例时(请参阅使用控制台中的启动实例向导来启动 EC2 实例),如果选择 Resource name(资源名称)的 Hostname type(主机名类型),EC2 实例将使用资源名称格式的主机名启动。在这种情况下,此 EC2 实例的 DNS 记录也可以指向资源名称。这使您可以灵活地选择该主机名是解析为实例的 IPv4 地址、IPv6 地址,还是同时解析实例的 IPv4 和 IPv6 地址。如果您计划在未来使用 IPv6,或者如果您现在使用双堆栈子网,最好使用 Resource name(资源名称)的 Hostname type(主机名类型),以便在不对 DNS 记录本身进行任何更改的情况下更改实例主机名的 DNS 解析。资源名称允许您在 EC2 实例上添加和删除 IPv4 和 IPv6 DNS 解析。
如果选择了 IP name(IP 名称)的 Hostname type(主机名类型),并将其用作 DNS 主机名,则只能解析为实例的 IPv4 地址。即使实例同时具有与之关联 IPv4 地址和 IPv6 地址,它也不会解析为实例的 IPv6 地址。