主机名(hostname)

主机名hostname指在局域网络中用于唯一识别一台计算机或设备的名称。它便于用户和网络服务定位网络内的主机,以确保所有主机都能被准确识别。同一子网或内部网络中的主机名必须保持唯一性,从而避免潜在的名称冲突。

主机名的作用

  • 标识和区分实例:主机名作为一个独特的标识符,帮助用户在管理多个ECS实例时能够轻松地区分每一个实例。

  • 便于配置管理:在配置网络服务、应用程序或系统设置时,主机名可以作为一个方便且语义化的引用,替代难以记忆的IP地址。

  • 日志和监控标识:在系统日志、应用日志或各类监控工具中,主机名可以作为事件发生的来源标识,便于追踪问题和分析系统行为,提高故障排查效率。

  • DNS解析辅助:ECS实例通常直接使用IP地址进行通信,但在某些配置下,主机名可以通过内部DNS解析为IP地址,实现通过实例主机名内网通信。具体操作,请参见Linux实例基于IP/ID格式主机名进行内网通信

主机名类型

您可以通过配置主机名类型来设置ECS实例的主机名。ECS实例支持以下三种类型的主机名:

  • 自定义格式主机名:在符合基本格式条件的前提下,完全基于您自定义的字符串生成主机名。

    • 主机名格式

      • Windows系统:长度为2~15个字符,允许使用大小写字母、数字或连字符(-)。不能以连字符(-)开头或结尾,不能连续使用连字符(-),也不能仅使用数字。

        重要

        Windows实例由于长度限制,仅支持自定义类型主机名。

      • 其他操作系统(Linux等):长度为2~64个字符,允许使用点号(.)分隔字符成多段,每段允许使用大小写字母、数字或连字符(-),但不能连续使用点号(.)或连字符(-)。不能以点号(.)或连字符(-)开头或结尾。

      建议您使用可以清楚表明服务器用途的主机名。一般情况下,成熟的运维体系会包括一套完整的编号规则,例如,“业务编号-产品线-地区”。示例如下:

      • app001-live-huanan1可以表示企业的直播app应用位于在华南1地区的001ECS服务器。

      • jack001-dev-huabei2可以表示企业内部员工jack同学使用的位于华北2地区的001号开发服务器。

    • 自定义有序主机名:在批量创建多台ECS实例时,通过自定义有序主机名,便于区分每台ECS实例或批量分类和管理您的ECS实例,提高管理效率。详细信息,请参见批量设置有序的实例名称或主机名称

  • IP格式主机名:根据实例的主网卡主私网IPv4地址自动生成固定格式的字符串,用户无法编辑。适用于需要以IP地址作为实例标识的环境。

    重要

    当您变更实例的主私网IPv4地址后,实例的主机名会自动更新。

    • 主机名格式:ip-[主网卡主私网IPv4样式字符串].[regionID].ecs.internal

      • 主网卡主私网IPv4样式字符串:替换主私网IPv4中的“.”为“-”。

      • regionID:ECS实例的地域ID,您可以通过地域和可用区列表查看对应的地域ID。

      • ecs.internal:ECS实例内部域名。

  • 实例ID格式主机名:根据实例的ID自动生成固定格式的字符串,用户无法编辑。适用于需要以唯一的实例ID作为实例标识的场景,此主机名不会因为实例IP地址变化而变化。

    • 主机名格式:[实例ID].[regionID].ecs.internal

配置实例主机名

在创建ECS实例时,如果您不指定,系统会默认分配自定义类型的主机名。

您可以在购买实例时定义主机名,或者在创建实例后通过编辑实例属性修改实例主机名。

购买实例时定义主机名

  1. 访问ECS控制台-自定义购买

  2. 选择付费类型、地域、实例规格、镜像等配置。

    各配置项详细说明,请参考配置项说明

  3. 点击高级选项(选填)定义主机名,当您创建多台ECS实例时,您还可以通过批量设置有序的实例名称或主机名称进行区分。

    重要

    Windows实例由于长度限制,仅支持自定义类型主机名。

    image

编辑实例属性时修改实例主机名

重要
  • 您也可以通过ModifyInstanceAttribute修改实例的主机名。

  • 您修改主机名后,需要重启实例,且必须是在ECS控制台重启(具体操作,请参见重启实例)或者调用RebootInstance重启。在操作系统内部重启不保证能生效。

  • 您在操作系统内部通过执行hostnamectl命令或编辑/etc/hostname文件等方式修改的实例的主机名,不会同步到实例属性中,您无法通过控制台或API得到您修改后期望的主机名,因此不建议您通过此方式修改实例的主机名。

  1. 访问ECS控制台-实例

  2. 单击目标实例ID进入实例详情页,单击全部操作展开所有操作面板,然后搜索并单击编辑实例属性,修改完实例主机名后单击确定

    重要

    Windows实例由于长度限制,仅支持自定义类型主机名。

    image

  3. 重启实例,使主机名修改生效。

查看实例主机名

您可以在ECS控制台查看实例主机名,或者在您远程登录ECS实例后,也可以通过hostname命令看到主机名的详细信息。

在控制台查看

您可以在实例详情页,查看实例主机名。

  1. 访问ECS控制台-实例

  2. 单击目标实例ID进入实例详情页,查看下方的 其他信息 > 主机名

    image

OpenAPI

您也可以通过DescribeInstances - 查询实例的详细信息列表返回的HostName参数查看实例的主机名。

登录实例查看

您可以远程登录ECS实例,查看系统的主机名。

  1. 远程连接实例。

  2. 执行以下命令,查看系统主机名。

    hostname

    image

Linux实例基于IP/ID格式主机名进行内网通信

场景介绍:在同一个专有网络VPC及安全组下准备两台ECS实例,以访问主机名的形式进行内网通信。

基本信息

  • 目标实例:对目标实例进行主机名及私网域名解析配置。

    • 操作系统:Alibaba Cloud Linux 3.2

    • 主私网IPv4:172.16.0.101

  • 测试实例:在测试实例通过ping <目标实例主机名>访问目标实例。

    • 操作系统:Alibaba Cloud Linux 3.2

    • 主私网IPv4:172.16.100.170

具体操作

  1. 配置目标实例主机名为基于IP格式。您也可以配置实例主机名为基于实例ID格式,具体操作,请参见配置实例主机名

    image

  2. 重启目标实例,使主机名配置生效。

  3. 确认目标实例的主机名。

    1. 远程连接目标实例。

      具体操作请参见使用Workbench工具以SSH协议登录Linux实例

    2. 执行如下命令,查看目标实例当前主机名。

      hostname

      本示例返回信息如下,可以看到主机名修改已生效:

      image

  4. 配置目标实例私网域名解析,具体操作,请参见ECS私网域名解析

    1. VPC控制台为VPC开启DNS主机名功能。启用主机名.png

    2. ECS控制台配置目标实例的私网域名解析。本示例中,选择启用 IP 格式主机名到实例主私网 IPv4 的 DNS 解析(A 记录)

      image

  5. 登录测试实例,通过ping <目标实例主机名>测试连通性。

    1. 通过Workbench远程连接测试实例。具体操作请参见使用Workbench工具以SSH协议登录Linux实例

    2. 执行如下命令,验证目标实例主机名的内网连通。

      ping ip-172-16-0-101.ap-southeast-3.ecs.internal

      本示例中返回结果如下,可以通过主机名实现内网访问:

      image