ECS实例私网域名解析
在同一VPC内,使用私网域名进行通信,可以避免使用传统的IP地址访问ECS实例上部署的服务,同时保持与公共互联网的分离,提供了更强的安全性和隔离性。通过ECS实例私网域名功能,可以方便快捷地为实例分配私网域名,无需手动更新维护其解析记录。
ECS实例私网域名
ECS实例私网域名是指在VPC中为ECS实例分配的内部域名,该域名用于在VPC内部对ECS实例进行标识和访问。私网域名的生成和解析生效是通过DNS解析服务实现的。DNS解析服务是一种网络服务,它负责将域名转换为IP地址。ECS实例私网域名解析服务依赖阿里云的内网DNS解析,内网DNS解析服务地址为系统默认分配(100.100.2.136和100.100.2.138)。
常见应用场景
主机名管理:通过私网域名解析服务,结合配置ECS主机名类型为基于IP格式或基于ID格式,实现在特定VPC网络通过主机名访问ECS的目的,提升了日常主机管理的便捷性。
云上服务实例化:对于部署在云上的服务,往往涉及服务之间的互访。通过使用私网域名解析,为每个云上服务生成VPC内网权威域名并解析到具体的ECS实例私网IP地址,将云上服务实例化。
ECS实例私网域名构成
ECS实例私网域名为四级域名,按"."分割级数。例如i-8ps2h6dsc74cuktb****.ap-southeast-3.ecs.internal或ip-172-16-0-89.ap-southeast-3.ecs.internal。构成说明如下:
顶级域名(.internal):ECS的内部域名,用于内部网络。
二级域名(.ecs):ECS的产品标识。
子域名(.实际的regionID):可用区的ID。例如,如果您选择马来西亚地域,那么regionID为ap-southeast-3。关于可用区ID详细说明,请参见地域和可用区。
主机标识:指向具体的某一台ECS实例,ECS支持基于IP格式的主机名和基于实例ID格式的主机名:
基于IP格式主机名:ECS实例的主私网IPv4地址样式的主机名,例如ip-171-16-0-89(实例的主私网IPv4地址为172.16.0.89)。
基于ID格式主机名:ECS实例的ID作为主机名,例如i-8ps2h6dsc74cuktb****(实例的ID为i-8ps2h6dsc74cuktb****)。如果您是IPv6通信,那么可以选择基于实例ID格式的主机名。
ECS实例私网域名解析类型
DNS解析服务会记录域名与IP地址之间的对应关系,当用户尝试访问一个域名时,DNS解析服务会将域名转换为相应的IP地址。ECS实例私网域名解析目前支持以下四种解析类型:
解析类型 | 含义 | 生成的私网域名 | 解析示例 | 应用场景 |
IP 格式主机名到实例主私网 IPv4 的 DNS 解析(A记录) | 将生成的IP格式私网域名映射到实例的主私网IPv4地址。 | ip-[主私网IPv4样式字符串].[regionID].[ecs.internal] | ip-192-168-1-1.region-name.ecs.internal 解析为 192.168.1.1 | 测试服务访问:通过将实例IP格式的主机名映射到对应的IPv4地址,可以将IP地址直观的展现在域名中,适用于测试场景。 |
实例 ID 格式主机名到实例主私网 IPv4的 DNS 解析(A记录) | 将生成的实例DI格式私网域名映射到实例的主私网IPv4地址。 | [实例ID].[regionID].[ecs.internal] | i-bp1hs9xdprd7xq4p****.region-name.ecs.internal 解析为 192.168.XX.XX | 自动化部署与管理:ECS实例可能由于频繁的变更操作导致IP地址发生变化。通过实例ID格式的主机名进行DNS解析,可以自动将最新的IP地址与主机名绑定,简化了配置管理和运维工作。 |
实例 ID 格式主机名到实例主私网 IPv6的 DNS 解析(AAAA记录) 注意:实例分配了IPv6地址才可以勾选。 | 将生成的实例ID格式私网域名映射到实例的IPv6地址。 | [实例ID].[regionID].[ecs.internal] | i-bp1hs9xdprd7xq4p****.region-name.ecs.internal 解析为 2408:XXXX:17:8aff:7833:3724:XXXX:XXXX | IPv6网络连接:当一个主机或服务同时支持IPv4和IPv6时,AAAA记录使得支持IPv6的客户端能够通过IPv6地址建立连接,从而利用IPv6网络的更大地址空间和改进的通信效率。 |
实例主私网 IPv4到 IP 格式主机名的反向DNS解析(PTR记录) | 将实例的主私网IPv4地址映射到生成的IP格式私网域名。 | ip-[主私网IPv4样式字符串].[regionID].[ecs.internal] | 192.168.0.1 解析为 ip-192-168-0-1.cn-hangzhou.ecs.internal | 垃圾邮件过滤:许多电子邮件服务器使用反向DNS来验证发送邮件的服务器是否合法。如果一个IP地址不能正确地反向解析为一个域名,邮件可能会被标记为潜在的垃圾邮件或直接拒绝。 日志分析与追踪:在网络安全和系统管理中,通过反向DNS查询可以将IP地址转换为更容易理解的域名形式,便于在日志文件中进行分析和追踪来源。 |
使用限制
ECS实例的私网域名由系统生成,不支持配置自定义域名
经典网络实例不支持私网域名功能。
私网域名生效范围只在VPC内部,不支持跨VPC私网域名通信。
私网域名仅支持解析为主网卡的主私网IP地址,辅助私网IP地址不支持对应的私网域名。
VPC内每台ECS机器每秒最高DNS阈值为5000次,单机每秒请求DNS峰值超过限制阈值后,将面临限速风险,可用性SLA(99.99%)将无法得到保证。
ECS实例之间通过私网域名通信
步骤一:VPC启用DNS主机名功能
VPC启用DNS主机名是ECS实例私网域名解析功能的总开关。VPC开启DNS主机名后,ECS实例的私网域名才会生效。VPC启用DNS主机名功能后,DNS解析服务会生成云产品内置权威Zone,格式为[regionID].ecs.internal(比如,如果您在马来西亚创建VPC并开启DNS主机名功能,此时会生成名称为ap-southeast-3.ecs.internal的内置权威Zone),此域名仅在此VPC内部生效。详细信息,请参见VPC私网域名。
VPC启用DNS主机名功能后,您配置的ECS实例私网域名解析才会生效。
- 登录专有网络管理控制台。
在顶部菜单栏处,选择目标专有网络VPC的地域。
在专有网络页面,单击目标VPC实例ID,在专有网络基本信息区域,启用DNS主机名。
步骤二:在ECS实例中配置私网域名解析
ECS私网域名和实例IP地址的映射关系(即ECS实例私网域名解析记录)需要在实例中进行配置,您可以在购买实例的时候或者在购买实例后根据需要配置不同的解析映射。具体操作示例如下所示:
购买实例时配置私网域名解析
您可以在通过RunInstances批量创建实例的时候,指定PrivateDnsNameOptions相关参数,配置实例的私网域名解析。
操作步骤
前往实例购买页。
选择自定义购买页签。
选择付费类型、地域、实例规格、镜像等配置。
各配置项详细说明,请参考配置项说明。
在购买页下方,点击展开高级选项(选填)配置私网域名解析。
根据实际场景,勾选对应的私网域名和IP地址的映射关系,支持多选。关于解析记录,请参见ECS实例私网域名解析类型。
编辑实例属性时配置私网域名解析
您可以通过调用ModifyInstanceAttribute编辑实例属性,并指定PrivateDnsNameOptions相关参数,配置实例的私网域名解析。
操作步骤
访问ECS控制台-实例。
在页面左侧顶部,选择目标资源所在的资源组和地域。
找到目标ECS实例,点击进入实例详情页,在全部操作中选择> 实例属性 > 编辑实例属性,弹出编辑实例属性的对话框。
根据实际场景,勾选对应的私网域名和IP地址的映射关系,支持多选。关于解析记录,请参见ECS实例私网域名解析类型。
点击确定,完成ECS实例私网域名解析配置。
步骤三:验证测试
您可以在配置了私网域名映射的ECS实例本机上,或者在同一VPC内与此ECS实例内网互通的另一台ECS实例上,通过命令验证私网域名解析是否生效。不同操作系统查询DNS的命令示例如下:
Linux实例
host
命令是一个Linux中用于查询 DNS(域名系统)信息的实用工具,该命令允许用户查询域名与IP地址之间的映射关系,以及执行反向查找,即根据IP地址查询对应的域名。
host安装:Linux实例默认不支持host命令,您需要通过
sudo yum install bind-utils
进行安装。查询示例:
说明本示例中开启了私网域名解析的实例信息如下,您需要根据实际情况替换您实际的IP地址、实例ID。
实例ID:i-8psi44j4o4yqoh2b****
地域ID:ap-southeast-3
IPv4地址:172.16.0.89
IPv6地址:240b:XXXX:41:b200:1ca9:f9bb:ae4:1ea0
远程连接Linux实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
根据启用的私网域名解析记录,执行对应的
host
命令,查询DNS信息。查找IP格式域名对应的IP地址(IP 格式主机名到实例主私网 IPv4 的 DNS 解析(A记录)):
host ip-172-16-0-89.ap-southeast-3.ecs.internal
查找实例ID格式域名对应的IP地址(启用实例 ID 格式主机名到实例主私网 IPv4 的 DNS 解析(A记录)):
host i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal
查找域名对应的IPv6地址(启用实例 ID 格式主机名到实例主私网 IPv6 的 DNS 解析(AAAA记录)):
host -t AAAA i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal
DNS执行反向查找,根据IP地址查询关联到的IP格式主机名生成的域名(启用实例主私网 IPv4 到 IP 格式主机名的反向DNS解析(PTR记录)):
host 172.16.0.89
Windows实例
nslookup
是Windows中预装的一个工具,它可以用来查询DNS记录。
查询示例:
说明本示例中开启了私网域名解析的实例信息如下,您需要根据实际情况替换您实际的IP地址、实例ID。
实例ID:i-8ps2h6dsc74cfy02****
地域ID:ap-southeast-3
IPv4地址:172.16.0.91
IPv6地址:240b:XXXX:41:b200:1ca9:f9bb:ae4:1e9a
远程连接Windows实例。
具体操作,请参见使用Workbench工具以RDP协议登录Windows实例。
根据启用的私网域名解析记录,执行对应的nslookup命令,查询DNS信息。
查找IP格式域名对应的IP地址(启用 IP 格式主机名到实例主私网 IPv4 的 DNS 解析(A记录)):
nslookup ip-172-16-0-91.ap-southeast-3.ecs.internal
查找实例ID格式域名对应的IP地址(启用实例 ID 格式主机名到实例主私网 IPv4 的 DNS 解析(A记录)):
nslookup i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internal
查找域名对应的IPv6地址(启用实例 ID 格式主机名到实例主私网 IPv6 的 DNS 解析(AAAA记录)):
nslookup -type=AAAA i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internal
DNS执行反向查找,根据IP地址查询关联到的IP格式主机名生成的域名(启用实例主私网 IPv4 到 IP 格式主机名的反向DNS解析(PTR记录)):
nslookup 172.16.0.91
验证成功后,意味着配置了私网域名解析的ECS实例,已可以被同一VPC下的其他ECS实例访问,您可以在这些实例上执行ping <私网域名>
命令测试,例如ping ip-172-16-0-91.ap-southeast-3.ecs.internal
。
如果测试IPv6访问,您需要为测试实例与目标实例分别开通IPv6地址,具体信息,请参见IPv6通信。
其他操作
不同操作对ECS实例私网域名解析的影响
实例变更VPC
如果ECS启用了私网域名解析,需要检查您更换的目标VPC的DNS主机名功能是否开启。详细信息,请参见更换ECS实例的VPC。
实例主私网IP变化
私网域名服务自动重新映射:当您的实例主私网IPv4或IPv6发生变化时(比如您可以变更实例的主私网IPv4地址),私网域名解析DNS会删除原IP对应的解析记录,生成新的IP格式主机名到新IP地址的解析记录。
实例释放
实例释放后,实例所在VPC中内置权威Zone对应的,与该实例相关的解析记录均会被删除。无法通过私网域名访问该实例及其上的服务。
查看ECS实例的私网域名解析
您可以在实例详情页查看实例私网域名解析,具体操作示例如下:
您也可以通过DescribeInstances查询实例的详细信息,返回的PrivateDnsNameOptions为实例的私网域名解析相关参数。
访问ECS控制台-实例。
在页面左侧顶部,选择目标资源所在的资源组和地域。
在实例列表中找到目标ECS实例,点击进入实例详情页。私网域名解析显示目前配置的私网域名解析记录数。
鼠标悬浮在私网域名解析具体数量,查看当前ECS实例配置的私网域名和IP地址的映射关系。
关闭ECS实例的私网域名解析
当您希望关闭某一台ECS实例的私网域名解析功能时,可以在ECS控制台取消勾选配置的私网域名解析,具体操作,请参见步骤二:在ECS实例中配置私网域名解析。
如果您希望关闭VPC下所有ECS实例的私网域名解析功能,可以在VPC禁用DNS主机名,禁用后,该VPC关联的内置权威Zone会被删除,VPC内所有ECS实例的私网域名失效,通过私网域名访问无法解析为实例对应的IP地址。详细信息,请参见VPC私网域名。
如果您的应用中使用了私网域名代替实例IP访问对应的资源,禁用DNS主机名功能后,可能会导致您的应用访问资源异常。