本文目录
背景
某公司的业务数据存储在Azure国际区的香港机房,因业务发展,想把这些数据迁入Azure中国区。客户期望,数据的复制使用Azure Data Factory,为了防止自己的数据在公网上直接暴露,期望数据的复制通过VPN专用网络。
理论支持
- Azure中的Storage支持通过配置仅允许【私有网络】来访问。
- Azure中的虚拟网络之间是允许通过Site to Site VPN 连通的,即使两个虚拟网络位于不同的Azure云环境中:比如国际区和中国区。
- Azure的VPN本地网络网关支持配置特定网段的流量走VPN,因此就可以把本来默认走公网的Storage流量通过本地网络网关导流至VPN专有网络。
- Azure Data Factory 支持在一个私有虚拟网络中安装自托管(self-hosted)的集成运行时机器( Integration Runtime )简称IR,来运行迁移工作流。
资源拓扑图
创建Site to Site VPN
因为两边都是Azure,所以配置Site to Site VPN相对来说比较方便,只需要参考Azure 在线文档 【在 Azure 门户中创建站点到站点连接】把其中以下几个小节按步照班分别在上海区和香港区配置一遍即可,这不是本篇重点。
1.创建虚拟网络
3.创建网关子网
4.创建 VPN 网关
5.创建本地网关
7.创建 VPN 连接
8.验证 VPN 连接
配置Storage流量转发
因为我们的目标是把Hong Kong VNET 中访问Shanghai Storage的流量,转发至VPN Gateway。所以首要任务是找出Shanghai storage的IP网段,通过简易的Ping命令,查询Storage对应的File,Blob,Queue,Table 服务终结点的IP地址:
https://xxx.file.core.chinacloudapi.cn/ | 40.73.81.1 |
https://xxx.blob.core.chinacloudapi.cn/ | 40.73.81.2 |
https://xxx.queue.core.chinacloudapi.cn/ | 40.73.81.3 |
https://xxx.table.core.chinacloudapi.cn/ | 40.73.81.4 |
把上述上海区的指定Storage 服务对应的IP地址集合,或者整个IP网段配置在香港区的VPN本地网关中,如下图:
创建Azure Data Factory
创建Azure Data Factory可以参考《使用 Azure 数据工厂 UI 创建数据工厂 》
创建自托管Integration Runtime 可以参考《创建和配置自承载集成运行时》
我测试时使用的是这个ARM template创建IR集群:
https://github.com/Azure/azure-quickstart-templates/tree/master/101-vms-with-selfhost-integration-runtime
创建完成后,在Azure Data Factory的 UI 控制台中的Monitor -> Integration Runtimes 列表中,能够看到新创建的IR:
为创建好的Pipline选择Runtime Integration
在Data Factory UI上选择 Author -> Connections -> Linked Services -> Edit Linked Service -> Connect via integration runtime.
配置源Storage和目标Storage仅允许对应的VNET访问
查看Azure Data Factory的Pipeline的运行历史
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!