Amazon EC2 執行個體主機名稱類型 - Amazon Elastic Compute Cloud

Amazon EC2 執行個體主機名稱類型

本節說明將執行個體啟動至 VPC 子網時可用的 Amazon EC2 執行個體客體作業系統主機名稱類型。

主機名稱可區分您網路上的 EC2 執行個體。例如,如果您希望執行指令碼,與網路上的部分或全部執行個體通訊,則可以使用執行個體的主機名稱。

EC2 主機名稱的類型

在 VPC 中啟動 EC2 執行個體時,客體作業系統主機名稱有兩種主機名稱類型:

  • IP name (IP 名稱):舊式命名結構描述,其中當您啟動執行個體時,執行個體的「私有 IPv4 地址」會包含在執行個體的主機名稱中。IP 名稱存在於 EC2 執行個體的生命週期中。用作私有 DNS 主機名時,它只會傳回私有 IPv4 地址 (A 記錄)。

  • 資源名稱:當您啟動執行個體時,EC2 執行個體 ID 會包含在執行個體的主機名稱中。資源名稱存在於 EC2 執行個體的生命週期中。用作私有 DNS 主機名稱時,它可以同時傳回私有 IPv4 地址 (A 記錄) 和/或 IPv6 全域單點傳送地址 (AAAA 記錄)。

EC2 執行個體客體作業系統主機名稱類型取決於子網設定:

  • 如果執行個體啟動至僅限 IPv4 子網,您可以選取 IP 名稱或資源名稱。

  • 如果執行個體啟動至雙堆疊 (IPv4+IPv6) 子網,您可以選取 IP 名稱或資源名稱。

  • 如果執行個體啟動至僅限 IPv6 子網,則會自動使用資源名稱。

IP 名稱

當您使用 Hostname type (主機名稱類型) 的 IP name (IP 名稱) 啟動 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 執行個體時,預設會將 Hostname type (主機名稱類型) 選取為 Resource name (資源名稱)。在僅限 IPv4 或雙堆疊 (IPv4+IPv6) 子網中啟動執行個體時,Resource name (資源名稱) 是可選取的選項。在啟動執行個體之後,您可以管理主機名稱組態。如需詳細資訊,請參閱 修改主機名稱類型和 DNS 主機名稱組態

當您使用 Hostname type (主機名稱類型) 的 Resource name (資源名稱) 啟動 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 執行個體時,根據您選取的子網類型,Hostname type (主機名稱類型) 的 Resource name (資源名稱) 可能是可用的,或者可能已選取且無法修改。本節介紹您查看主機名稱類型資源名稱和 IP 名稱的案例。

案例 1

您可以在精靈中建立 EC2 執行個體 (請參閱 使用新的啟動執行個體精靈啟動執行個體),並在設定詳細資訊時,選擇已設定為僅 IPv6 的子網。

在此情況下,Hostname type (主機名稱類型) 的 Resource name (資源名稱) 會自動選取且無法修改。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)):IP 名稱,其一律會解析為執行個體的私有 IPv4 地址。

  • Private resource DNS name (私有資源 DNS 名稱)︰資源名稱,其會解析為針對此執行個體選取的 DNS 記錄。

  • Answer private resource DNS name (回答私有資源 DNS 名稱)︰資源名稱,其會解析為 IPv4 (A)、IPv6 (AAA) 或 IPv4 和 IPv6 (A 和 AAA) DNS 記錄。

此外,如果直接透過 SSH 連線至 EC2 執行個體,並輸入 hostname 命令,您會看到採用 IP 名稱或資源名稱格式。

如何決定是選擇資源名稱還是 IP 名稱

啟動 EC2 執行個體時 (請參閱 使用新的啟動執行個體精靈啟動執行個體),如果您將 Hostname type (主機名稱類型) 選擇為 Resource name (資源名稱),EC2 執行個體將以資源名稱格式的主機名稱啟動。在這種情況下,此 EC2 執行個體的 DNS 記錄也可以指向資源名稱。這讓您能夠靈活地選擇該主機名稱是解析為執行個體的 IPv4 地址、IPv6 地址,還是同時解析為 IPv4 和 IPv6 地址。如果您計劃在將來使用 IPv6,或者如果您目前正在使用雙堆疊子網,則最好針對 Hostname type (主機名稱類型) 使用 Resource name (資源名稱),以便您變更執行個體主機名稱的 DNS 解析,而無需對 DNS 記錄本身做出任何變更。資源名稱允許您在 EC2 執行個體上新增和移除 IPv4 和 IPv6 DNS 解析。

而如果您將 Hostname type (主機名稱類型) 選擇為 IP name (IP 名稱),並將其用作 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 記錄) 請求):決定對資源名稱的 DSN 請求/查詢是否解析為此 EC2 執行個體的 IPv6 地址 (AAAA 記錄)。

EC2 執行個體

請遵循本節中的步驟來修改 EC2 執行個體的主機名稱類型和 DNS 主機名稱組態。

重要
  • 若要變更 Use resource based naming as guest OS hostname (使用資源型命名作為客體作業系統主機名稱) 設定,必須首先停止執行個體。若要變更 Answer DNS hostname IPv4 (A record) request (回答 DNS 主機名稱 IPv4 (A 記錄) 請求) 或 Answer DNS hostname IPv6 (AAAA record) requests (回答 DNS 主機名稱 IPv6 (AAAA 記錄) 請求) 設定,您不必停止執行個體。

  • 若要修改非 EBS 支援之 EC2 執行個體類型的任何設定,您無法停止執行個體。您必須終止執行個體,並使用所需的主機名稱類型和 DNS 主機名稱組態來啟動新的執行個體。

修改 EC2 執行個體的主機名稱類型和 DNS 主機名稱組態

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon 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 記錄) 請求):決定對資源名稱的 DSN 請求/查詢是否解析為此 EC2 執行個體的 IPv6 地址 (AAAA 記錄)。

  4. 選擇 Save (儲存)。

  5. 如果已停止執行個體,請重新啟動它。