Amazon EC2 实例主机名类型 - Amazon Elastic Compute Cloud

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(资源名称)是您可以选择的选项。启动实例后,您可以管理主机名配置。有关更多信息,请参阅修改主机名类型和 DNS 主机名配置

当您启动具有 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 查询。当您启动实例或修改子网时,您可以配置响应行为。有关更多信息,请参阅修改主机名类型和 DNS 主机名配置

查看资源名称和 IP 名称的位置

本节介绍您会在 EC2 控制台中的什么位置看到主机名类型、资源名称和 IP 名称。

创建 EC2 实例时

当您创建 EC2 实例时,根据您选择的子网类型,Resource name(资源名称)Hostname type(主机名类型)可能是可用的,也可能已选中且无法修改。本节介绍您会在什么场景中看到主机名类型、资源名称和 IP 名称。

方案 1

您在向导中创建 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 实例(见 使用新启动实例向导启动实例),然后配置详细信息时,您选择配置为 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 实例时(请参阅使用新启动实例向导启动实例),如果选择 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 地址。

修改主机名类型和 DNS 主机名配置

按照本节中的步骤,在启动后修改子网或 EC2 实例的主机名类型和 DNS 主机名配置。

子网

通过在 VPC 控制台中选择子网并选择 Actions(操作)、Edit subnet settings(编辑子网设置)来修改子网的配置。

注意

更改子网设置不会更改子网中已启动的 EC2 实例的配置。

  • Hostname type(主机名类型):确定您希望在子网中启动的 EC2 实例的来宾操作系统主机名的默认设置是资源名称还是 IP 名称。

  • Enable DNS hostname IPv4 (A record) requests [启用 DNS 主机名 IPv4(A 记录)请求]:确定是否将对资源名称的 DNS 请求/查询解析为此 EC2 实例的私有 IPv4 地址(A 记录)。

  • Enable DNS hostname IPv6 (AAAA record) requests(启用 DNS 主机名 IPv6(AAAA 记录)请求):确定对您的资源名称的 DNS 请求/查询是否解析为此 EC2 实例的 IPv6 地址(AAAA 记录)。

EC2 实例

按照本节中的步骤修改 EC2 实例的主机名类型和 DNS 主机名配置。

重要
  • 更改 Use resource based naming as guest OS hostname(将基于资源的命名用作来宾操作系统主机名)设置时,您必须先停止该实例。更改 Answer DNS hostname IPv4 (A record) request(回答 DNS 主机名 IPv4(记录)请求)或 Answer DNS hostname IPv6 (AAAA record) requests(回答 DNS 主机名 IPv6(AAAA 记录)请求)设置时,您无需停止该实例。

  • 修改非 EBS 支持的 EC2 实例类型的任何设置时,您无法停止该实例。您必须终止该实例,然后启动包含所需主机名类型和 DNS 主机名配置的新实例。

修改 EC2 实例的主机名类型和 DNS 主机名配置

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 如果您要更改 Use resource based naming as guest OS hostname(将基于资源的命名用作来宾操作系统主机名)设置,首先停止该 EC2 实例。否则,请跳过此步骤。

    要停止实例,请选择该实例,然后依次选择 Instance state(实例状态)、Stop instance(停止实例)。

  3. 选择实例,然后依次选择 Actions(操作)、Instance settings(实例设置)、Change resource based naming options(更改基于资源的命名选项)。

    • Use resource based naming as guest OS hostname(将基于资源的命名用作来宾操作系统主机名):确定您希望 EC2 实例的来宾操作系统主机名是资源名称还是 IP 名称。

    • Answer DNS hostname IPv4 (A record) requests [回答 DNS 主机名 IPv4(A 记录)请求]:确定是否将对资源名称的 DNS 请求/查询解析为此 EC2 实例的私有 IPv4 地址。

    • Answer DNS hostname IPv6 (AAAA record) requests(回答 DNS 主机名 IPv6(AAAA 记录)请求):确定对您的资源名称的 DNS 请求/查询是否解析为此 EC2 实例的 IPv6 地址(AAAA 记录)。

  4. 选择保存

  5. 如果您已经停止实例,可以重新启动它。