Azure Data Factory 基于Site to Site VPN 跨区域复制Storage


背景

某公司的业务数据存储在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本地网关中,如下图:

VPN Gateway 配置流量转发
VPN Gateway 配置流量转发

创建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

使用ARM Template创建 IR
使用ARM Template创建 集成运行时

创建完成后,在Azure Data Factory的 UI 控制台中的Monitor -> Integration Runtimes 列表中,能够看到新创建的IR:

integration runtimes 详情页面
integration runtimes 详情页面

为创建好的Pipline选择Runtime Integration

在Data Factory UI上选择 Author -> Connections -> Linked Services -> Edit Linked Service -> Connect via integration runtime.

为Data Factory Pipeline选择IR
为Data Factory Pipeline选择IR

配置源Storage和目标Storage仅允许对应的VNET访问

查看Azure Data Factory的Pipeline的运行历史

Pipeline 运行历史
Pipeline 运行历史
本文链接: https://www.pstips.net/adf-copy-storage-based-on-site2site-vpn.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注