ECS私网域名解析
在同一专有网络VPC内,使用私网域名进行ECS实例间的网络连接,可以避免因IP地址变动导致的服务访问问题,极大地简化大规模内部网络的管理,同时保持与公共互联网的分离,为内部通信提供了更强的安全性和隔离性。
ECS私网域名解析当前处于邀测阶段。
ECS私网域名
ECS私网域名是指在VPC中为ECS实例分配的内部域名,该域名用于在VPC内部对ECS实例进行标识和访问。
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私网域名使用限制
经典网络实例不支持私网域名功能。
私网域名生效范围只在VPC内部,不支持跨VPC私网域名通信。
私网域名仅支持解析为主网卡的主私网IP地址,辅助私网IP地址不支持对应的私网域名。
VPC内每台ECS机器每秒最高DNS阈值为5000次,单机每秒请求DNS峰值超过限制阈值后,将面临限速风险,可用性SLA(99.99%)将无法得到保证。
常见应用场景
主机名管理:通过私网域名解析服务,结合配置ECS主机名类型为基于IP格式或基于ID格式,实现在特定VPC网络通过主机名访问ECS的用途,提升了日常主机管理的便捷性。
云上服务实例化:对于部署在云上的服务,往往涉及服务之间的互访。通过使用私网域名解析,为每个云上服务生成VPC内网权威域名并解析到具体的服务内网IP地址,将云上服务实例化,大大降低服务IP地址变更对研发的改动。
私网域名解析服务
私网域名的生成和解析生效是通过DNS解析服务实现的。DNS解析服务是一种网络服务,它负责将域名转换为IP地址。ECS私网域名解析服务依赖阿里云的内网DNS解析。内网DNS解析服务地址为系统默认分配(100.100.2.136和100.100.3.138)。
ECS私网域名解析记录
解析记录是DNS服务器中用于将域名映射到IP地址的数据条目,这些记录定义了域名与IP地址之间的对应关系,当用户尝试访问一个域名时,DNS解析服务会查找相应的解析记录,将域名转换为相应的IP地址。
解析记录的TTL(Time To Live):TTL是一个以秒为单位的时间值,用于指定DNS记录在缓存中的有效时间。当DNS记录被查询并缓存后,TTL值决定了该记录在缓存中可以保留多长时间。私网域名解析记录的TTL默认为1分钟。
解析记录类型: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
ECS实例访问:通过将实例IP格式的主机名映射到对应的IPv4地址,可以方便地在云服务内部进行服务发现和通信。
实例 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地址与主机名绑定,简化了配置管理和运维工作。
安全性和隔离性:在某些安全策略严格的环境下,直接使用IP地址可能不被允许,特别是对于外部访问。使用实例ID格式的主机名并通过内部DNS解析,可以在保持网络隔离的同时,提供对云资源的安全访问控制。
实例 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地址不能正确地反向解析为一个域名,或者该域名与发出邮件的服务器的HELO/EHLO标识不符,邮件可能会被标记为潜在的垃圾邮件或直接拒绝。
日志分析与追踪:在网络安全和系统管理中,通过反向DNS查询可以将IP地址转换为更容易理解的域名形式,便于在日志文件中进行分析和追踪来源,尤其是在调查异常流量、入侵企图或分析用户行为时。
网络诊断与故障排查:当需要识别特定IP地址所对应的服务器或服务时,反向DNS解析可以帮助管理员快速定位问题所在,尤其是在处理与特定服务器交互的问题时。
配置ECS私网域名解析
VPC启用/禁用DNS主机名功能
VPC启用/禁用DNS主机名是ECS实例私网域名解析功能的总开关。VPC开启DNS主机名后,ECS实例的私网域名才会生效;VPC禁用DNS主机名后,ECS实例的私网域名失效。
启用DNS主机名:VPC启用DNS主机名功能后,DNS解析服务会生成云产品内置权威Zone,格式为[regionID].ecs.internal(比如,如果您在马来西亚创建VPC并开启DNS主机名功能,此时会生成名称为ap-southeast-3.ecs.internal的内置权威Zone),此域名仅在此VPC内部生效。详细信息,请参见启用DNS主机名实现VPC内ECS私网域名访问。
重要VPC启用DNS主机名功能后,您配置的ECS私网域名解析才会生效。
禁用DNS主机名:与该VPC关联的内置权威Zone被删除,ECS实例的私网域名失效,通过私网域名访问无法解析为实例对应的IP地址。
重要如果您的应用中使用了私网域名代替实例IP访问对应的资源,禁用DNS主机名功能后,可能会导致您的应用访问资源异常。
在ECS中配置私网域名解析
ECS私网域名和实例IP地址的映射关系(即ECS私网域名解析记录)需要在ECS中进行配置,您可以在购买实例时候或者在购买实例后根据需要启用或取消不同的解析映射。具体操作示例如下所示:
购买页配置私网域名解析
操作步骤
前往实例购买页。
选择自定义购买页签。
按需选择付费类型、地域、实例规格、镜像等配置。
各配置项详细说明,请参考配置项说明。
在购买页下方,点击展开高级选项(选填)配置私网域名解析。
根据实际场景,选择对应的私网域名和IP地址的映射关系,支持多选。关于解析记录,请参见ECS私网域名解析记录。
编辑实例属性配置私网域名解析
操作步骤
登录ECS管理控制台。
在左侧导航栏,选择 。
找到目标ECS实例,在操作列中,选择> 实例属性 > 编辑实例属性,弹出编辑实例属性的对话框。
根据实际场景,选择对应的私网域名和IP地址的映射关系,支持多选。关于解析记录,请参见ECS私网域名解析记录。
点击确定,完成ECS私网域名解析配置。
VPC启用DNS主机名,且ECS中配置私网域名完成后,您可以在同VPC的另一台实例上通过私网域名访问此实例,具体信息,请参见基于IP格式的域名实现访问。
通过控制台查看ECS私网域名解析
您可以在实例详情页查看实例私网域名解析,具体操作示例如下:
登录ECS管理控制台。
在左侧导航栏,选择 。
在实例列表中找到目标ECS实例,点击实例ID。
选择实例详情页签,查看下方的其他信息>私网域名解析,显示目前配置的私网域名解析记录数。
鼠标悬浮在私网域名解析具体数量,查看当前ECS实例配置的私网域名和IP地址的映射关系。
验证ECS私网域名解析
您可以在配置了私网域名映射的ECS实例本机上,或者在同一VPC内与此ECS实例内网互通的另一台ECS实例上,通过命令验证私网域名解析是否生效。不同操作系统查询DNS的命令示例如下:
私网域名解析记录更新后,生效时间受TTL影响,具体信息,请参见解析记录的TTL。
通过host
命令查询实例的DNS
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实例。
具体操作,请参见通过密码或密钥认证登录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
通过nslookup
命令查询实例的DNS
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实例。
具体操作,请参见通过密码或密钥认证登录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下(开启DNS主机功能)购买两台ECS实例,ECS1和ECS2。在ECS1上启用不同的私网域名映射,在ECS2上执行ping <ECS1的私网域名>
命令测试私网域名是否可以正确解析为IP地址。
本示例中,ECS1的基本信息如下,您需要根据实际环境替换对应的IP地址和实例ID:
实例ID:i-8psi44j4o4yqoh2b****
主私网IPv4:172.16.0.89
IPv6:240b:XXXX:41:b200:1ca9:f9bb:ae4:1ea0
ECS1、ECS2需要满足在同一VPC下内网互通的条件,本示例中两台实例在同一安全组,默认互通。如果您测试的两台实例不在同一安全组,请参见实现不同安全组的实例内网互通。
如果测试IPv6访问,您需要为ECS1、ECS2分别开通IPv6地址,具体信息,请参见管理IPv6地址。
基于IP格式的域名实现访问
ECS1上启用 IP 格式主机名到实例主私网 IPv4 的 DNS 解析(A记录),具体操作,请参见在ECS中配置私网域名解析。
远程连接ECS2实例,并执行如下命令,通过IP格式的私网域名访问ECS1。
说明远程连接Linux实例,请参见通过密码或密钥认证登录Linux实例。
远程连接Windows实例,请参见通过密码或密钥认证登录Windows实例。
您可以通过控制台查看ECS私网域名解析,确认ECS1的私网域名。
ping <ECS1的基于IP格式的私网域名>
本示例中,命令如下所示:
ping ip-172-16-0-89.ap-southeast-3.ecs.internal
通过执行结果,可以看到私网域名成功被解析为ECS1的主私网IPv4地址:
基于ID格式的域名访问
ECS1上启用实例 ID 格式主机名到实例主私网 IPv4 的 DNS 解析(A记录),具体操作,请参见在ECS中配置私网域名解析。
远程连接ECS2实例,并执行如下命令,通过ID格式的私网域名访问ECS1。
说明远程连接Linux实例,请参见通过密码或密钥认证登录Linux实例。
远程连接Windows实例,请参见通过密码或密钥认证登录Windows实例。
您可以通过控制台查看ECS私网域名解析,确认ECS1的私网域名。
ping <ECS1的基于实例ID的私网域名>
本示例中,命令如下所示:
ping i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal
通过执行结果,可以看到私网域名成功被解析为ECS1的主私网IPv4地址:
基于ID格式的域名访问(IPv6访问)
在ECS1上启用实例 ID 格式主机名到实例主私网 IPv6 的 DNS 解析(AAAA记录),具体操作,请参见在ECS中配置私网域名解析。
远程连接ECS2实例,并执行如下命令,通过ID样式私网域名访问ECS1。
说明远程连接Linux实例,请参见通过密码或密钥认证登录Linux实例。
远程连接Windows实例,请参见通过密码或密钥认证登录Windows实例。
您可以通过控制台查看ECS私网域名解析,确认ECS1的私网域名。
ping6 <ECS1的基于实例ID的私网域名>
本示例中,命令如下所示:
ping6 i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal
通过执行结果,可以看到私网域名成功被解析为ECS1的主私网IPv6地址:
不同操作对ECS私网域名解析的影响
实例变更VPC
如果ECS启用了私网域名解析,需要检查您更换的目标VPC的DNS主机名功能是否开启。
实例主私网IP变化
私网域名服务自动重新映射:当您的实例主私网IPv4或IPv6发生变化时(比如您可以通过修改私有IP地址改变实例的IP地址),私网域名解析DNS会删除原IP对应的解析记录,生成新的有效的IP地址对应的解析记录。
实例释放
实例释放后,实例所在VPC中内置权威Zone对应的,与该实例相关的解析记录均会被删除。无法通过私网域名访问该实例及其上的服务。