
# 企业上云数据库迁移场景
#### 应用场景
企业上云过程中，业务数据库的迁移通常是最大的技术难点。这一挑战通常表现为客户的应用代码中往往将数据库域名地址进行硬编码，且这些域名可能采用无规则或非真实后缀的格式。当客户需要将本地部署的数据库迁移到云上RDS（关系型数据库服务）时，必须对业务代码进行相应改造，这不仅增加了迁移的复杂性，还带来了较高的实施风险。
#### 方案概述
华为云内网域名支持自定义域名名称及后缀，可与线下数据库业务域名完全一致，无需修改客户端代码；同时，内网域名基于VPC网络实现隔离，确保不同VPC之间的业务互不影响。用户可通过华为云云解析服务创建与线下业务数据库域名一致的内网域名，并通过CNAME记录指向RDS分配的系统内网域名，从而减少应用改造工作量，降低迁移风险。
![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002367865182.png "点击放大")
#### 资源成本和规划
本节介绍最佳实践中资源规划情况，包含以下内容：
表1资源和成本规划 
| 资源    | 资源名称   | 资源说明                                                                                                                                                                                                                                   | 数量 | 费用                                                                                |
|:---|:---|:---|:---|:---|
| 云解析服务 | 内网域名   | 与云下数据库的业务域名保持一致。 **本实践以db.example.com为例。**                                                                                                                                                       | 1  | 免费                                                                                |
| 云解析服务 | 内网记录集  | - **记录类型**：CNAME  - **记录值**：云上RDS数据库自动生成的内网域名。   | 1  | 免费                                                                                |
| RDS   | 云数据库   | 用于云下数据迁移的云数据库。 本实践以云数据库 RDS for MySQL为例，默认内网域名格式： ***实例ID*** **.internal.*区域ID*.mysql.rds.myhuaweicloud.com**                                                 | 1  | 请参见[云数据库价格详情](https://www.huaweicloud.com/pricing/calculator.html#/rds)中的各引擎价格。   |
| ECS   | 弹性云服务器 | 与内网域名关联相同VPC的云服务器，进行解析生效测试。                                                                                                                                                                                                            | 1  | 请参见[弹性云服务器价格详情](https://www.huaweicloud.com/pricing/calculator.html#/ecs)中的各引擎价格。 |
| VPC   | 虚拟私有云  | 内网域名、云数据库、弹性云服务器关联同一个VPC。                                                                                                                                                                                                              | 1  | 免费                                                                                |
   
#### 云数据库配置内网域名解析总流程
![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002401544937.png "点击放大")
#### 实施步骤
1. **获取云数据库的内网域名** 。
   1. 进入[云数据库实例管理页面](https://console.huaweicloud.com/rds/?#/rds/management/list)。
   
   2. 在实例列表中，单击目标实例名称。
   
   3. 在实例概览页，查看并记录**内网域名** 。
      以云数据库 RDS for MySQL为例，默认内网域名格式：
      ***实例ID*** **.internal.*区域ID*.mysql.rds.myhuaweicloud.com**
      
    
2. **创建内网域名** 。
   1. 进入[内网域名列表页面](https://console.huaweicloud.com/dns/?#/dns/privatezones)。
   
   2. 单击管理控制台左上角的![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002401624793.png)，选择区域和项目。
   
   3. 在页面右上角，单击"创建内网域名"。
      关键参数配置如下：
      - **域名** ：与企业云下业务数据库的内网域名保持一致，本实践中设置为**db.example.com**。
      
      - **区域**：选择与云数据库相同的区域。
      
      - **VPC**：选择与云数据库关联相同的VPC。
       
      其余参数保持默认。
      图1创建内网域名   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002418164508.png "点击放大") 
   
   4. 单击"创建"，完成创建。
    
3. **添加解析记录** 。
   1. 在内网域名列表中，单击db.example.com的域名名称。
   
   2. 在解析记录列表页，单击列表上方的"添加记录集"。 关键参数配置如下：
      - **主机记录**：设置为空，表示解析的域名是db.example.com。
      
      - **记录类型**：CNAME，表示将域名指向另外一个域名。
      
      - **记录值** ：填写[1.c]中记录的云数据库内网域名。
      
      
      其余参数保持默认。
      图2添加CNAME类型记录集   
      ![](https://support.huaweicloud.com/bestpractice-dns/zh-cn_image_0000002451925285.png "点击放大") 
   
   3. 单击"确定"，完成添加。
    
 
#### 验证域名解析生效
登录云服务器，执行命令：**nslookup 域名**
示例：**nslookup db.example.com**
**回显信息中，返回结果与域名CNAME类型记录集设置的云数据库内网域名信息保持一致，则说明解析已经生效。**
