为云服务器配置内网域名
方案概述
应用场景
网站在运行过程中,当某一台ECS故障,需要将业务切换到备份的云服务器时,如果云服务器没有配置内网域名,则需要通过修改主业务节点ECS的代码来重新设置云服务器的内网IP地址,该操作需要中断业务并重新发布网站,耗时耗力。
内网域名功能支持为VPC内每个云服务器创建一个内网域名,在部署该网站时,我们为云服务器申请了内网域名,且代码中设置的是云服务器的内网域名,则仅需要通过修改内网域名解析记录即可实现云服务器的切换,无需中断业务,也不需要重新发布网站。
方案架构
图1展示了某网站的逻辑组网,在一个VPC内,部署了ECS和RDS。其中:
- ECS:作为主业务站点和业务入口。
- ECS1:作为公共接口。
- RDS1:作为数据库,存储业务数据。
- ECS2和RDS2:作为备份服务器和数据库。
方案优势
- 通过内网域名访问VPC内的云服务器,无需经过Internet,访问速度更快、安全性更高。
- 在代码中使用内网域名代替内网IP。当需要进行云服务器切换时,只需通过修改内网域名解析记录即可,无需修改代码。
资源成本和规划
本节介绍最佳实践中资源规划情况,包含以下内容:
资源 |
内网域名 |
关联VPC |
内网IP |
记录集类型 |
说明 |
---|---|---|---|---|---|
ECS1 |
api.ecs.com |
VPC_001 |
192.168.2.8 |
A |
公共接口ECS。 |
ECS2 |
api.ecs.com |
VPC_001 |
192.168.3.8 |
A |
备份公共接口ECS。 |
RDS1 |
db.com |
VPC_001 |
192.168.2.5 |
A |
数据库,用于存储业务数据。 |
RDS2 |
db.com |
VPC_001 |
192.168.3.5 |
A |
备份数据库。 |
区域 |
资源 |
资源名称 |
资源说明 |
数量 |
每月费用(元) |
---|---|---|---|---|---|
中国-香港 |
虚拟私有云 VPC |
VPC_001 |
设置DNS服务器地址与华为云的内网DNS地址保持一致。 详细请参见华为云提供的内网DNS地址是多少? |
1 |
免费 |
弹性云服务器 ECS |
ECS ECS1 ECS2 |
|
3 |
详细请参见弹性云服务器产品价格详情。 |
|
云数据库 RDS |
RDS1 RDS2 |
|
2 |
详细请参见云数据库产品价格详情。 |
|
云解析服务 |
api.ces.com db.com |
2 |
免费 |
为云服务器配置内网域名总流程
为云服务器配置内网域名的流程如图2所示。
配置流程说明:
- “(可选)创建VPC及VPC子网”:在管理控制台虚拟私有云服务页面完成配置,仅当您在网站部署阶段为云服务器配置内网域名时,执行本操作。
- “创建内网域名”和“创建记录集”:在管理控制台云解析服务页面完成相关配置。
- “(可选)更改VPC子网的DNS”:在管理控制台虚拟私有云服务页面完成配置,仅当您为已运行网站的云服务器配置内网域名时,执行本操作。
实施步骤
- (可选)创建VPC及VPC的子网
当您在网站部署阶段为云服务器配置内网域名时,需要首先完成VPC及其子网的创建。
- 进入创建虚拟私有云页面。
- 根据界面提示配置参数,关键参数的配置说明如表3所示。
表3 虚拟私有云关键参数说明 参数
说明
取值样例
区域
不同区域的资源之间内网不互通。请选择靠近您客户的区域,可以降低网络时延、提高访问速度。
中国-香港
名称
VPC名称。
VPC_001
网段
VPC的地址范围,VPC内的子网地址必须在VPC的地址范围内。
目前支持网段范围:
- 10.0.0.0/8~24
- 172.16.0.0/12~24
- 192.168.0.0/16~24
192.168.0.0/16
子网名称
子网的名称。
Subnet
子网网段
子网的地址范围,需要在VPC的地址范围内。
192.168.0.0/24
网关
子网的网关。
192.168.0.1
DNS服务器地址
若要为VPC内的云服务器配置内网域名,需要设置DNS服务器地址与华为云的内网DNS地址保持一致。
100.125.1.250
100.125.3.250
- 单击“立即创建”,完成VPC以及VPC默认子网的设置。
- 创建内网域名
为云服务器ECS1和数据库RDS1创建内网域名。
- 进入内网域名列表页面。
- 单击“创建内网域名”,开始创建内网域名。
- 根据界面提示配置参数,参数说明如表4所示。
表4 创建内网域名参数说明 参数
参数说明
取值样例
域名
域名。可以自定义,支持创建顶级域,但需符合域名命名规范。
api.ecs.com
VPC
内网域名要关联的VPC。
VPC_001
邮箱
可选参数。管理该内网域名的管理员邮箱。建议用户使用保留邮箱“HOSTMASTER@域名”作为此管理员邮箱。
更多关于Email的信息,请参见SOA记录中的Email格式为什么变化了?。
HOSTMASTER@ecs1.com
标签
可选参数。由键和值组成,用于搜索域名或为域名资源分组。当系统中配置多个域名时,可以选择配置此参数。
键和值的命名规则请参见表5。
说明:如您的组织已经设定云解析服务的相关标签策略,则需按照标签策略规则为域名添加标签。标签如果不符合标签策略的规则,则可能会导致域名创建失败,请联系组织管理员了解标签策略详情。
-
描述
可选参数。域名的描述信息。长度不超过255个字符。
This is a zone example.
- 单击“确定”,完成内网域名api.ecs.com的创建。
单击“名称”列的域名名称,可以看到系统已经为您创建了SOA类型和NS类型的记录集。其中,
- SOA类型的记录集标识了对此域名具有最终解释权的主权威服务器。
- NS类型的记录集标识了此域名的权威服务器。
- 重复执行3~5,完成内网域名db.com的创建。
内网域名规划请参见表1。
- 创建记录集
为云服务器ECS1和数据库RDS1的内网域名添加到对应内网IP的解析记录。
- 在“内网域名”页面的域名列表中,单击新创建域名的名称。
- 单击“添加记录集”。
- 根据界面提示填写参数配置,参数说明如表6所示。
表6 添加A类型记录集参数说明 参数
参数说明
取值样例
主机记录
域名前缀。
此处参数设置为空,表示解析的域名是api.ecs.com。
-
类型
记录集的类型,此处为A类型。
A – 将域名指向IPv4地址
TTL(秒)
解析记录在DNS服务器的缓存时间,以秒为单位。
如果您的服务地址经常更换,建议TTL值设置相对小些,反之,建议设置相对大些。
默认为“5min”,即300s。
值
域名对应的IPv4地址。多个IPv4地址以换行符分隔。
此处设置为云服务器的内网IP。
192.168.2.8
标签
可选参数,由键和值组成,用于搜索记录集或为记录集资源分组。当系统中配置多个记录集时,可以选择配置此参数。
键和值的命名规则请参见表5。
说明:如您的组织已经设定云解析服务的相关标签策略,则需按照标签策略规则为记录集添加标签。标签如果不符合标签策略的规则,则可能会导致记录集创建失败,请联系组织管理员了解标签策略详情。
-
描述
可选配置,对域名的描述。
-
- 单击“确定”,完成为内网域名api.ecs.com添加A类型记录集。
- 重复执行1~4,为内网域名db.com添加A类型的记录集。
域名db.com对应记录集的“值”设置为“192.168.2.5”。
记录集的详细数据规划请参见表2。
- (可选)更改VPC子网的DNS
当您为已运行网站的云服务器配置内网域名时,需要更改VPC子网的DNS。
为实现内网域名在VPC内的正常解析,您需要把VPC子网的DNS改成云解析服务提供的内网DNS。
更改VPC子网的DNS的操作请参见怎样切换内网DNS?。
- 切换ECS
当ECS1发生故障,需要将业务切换到备份的云服务器ECS2上。此时,可以通过修改内网域名api.ecs.com的解析记录实现业务切换。
- 登录管理控制台。
- 单击管理控制台左上角的,选择“中国-香港”。
- 选择“网络 > 云解析服务”。
- 在左侧树状导航栏,选择“内网域名”。
- 在“内网域名”页面域名列表中,单击“名称”列的域名“api.ecs.com”进入域名解析记录页面。
- 在A类型记录集中,单击“操作”列的“修改”。
- 将“值”修改为“192.168.3.8”。
- 单击“确定”,完成解析记录的修改。
此时,ECS到公共接口ECS1的访问会通过内网DNS解析到ECS2上,实现了ECS的切换。