首先介绍一下背景:
我在 Azure 上有一个 Saas 系统,它由一堆 Paas 云服务节点(Web 和辅助角色)和应用服务节点(Web 应用、Web 作业)组成。出于合规性原因,我必须将一些客户的数据存储在本地数据库中。出于带宽和可预测性原因,我想通过 ExpressRoute 连接到此数据库。我将选择支持 ExpressRoute 的托管合作伙伴(针对此数据库)。
问题:
我是否可以通过 ExpressRoute 从 Azure 访问本地资源(例如 SQL 数据库),而不需要将我的所有服务(云服务和应用服务)添加到 Azure 上的虚拟网络中?
答案1
我已经就此问题联系了 Microsoft Azure 支持。我与他们的对话得到了两个答案,我想在这里分享一下。
第一个答案: “关于您的疑问,为了实现 Express Route,您需要有一个连接到专用电路的网关,以及一个连接到网关的 VNET。您的 PaaS 实例也需要部署在该 VNET 中,以便您能够访问它们。我认为我们可以采取一些变通方法来克服这个限制(如果您希望我这样做,我需要一些时间在我这边进行一些测试来执行概念验证)。在我看来,将所有东西都移动到 VNET 是将来能为您减少麻烦的解决方案,而且绝对是推荐的解决方案。”
然后我问当在 Classic 和 ARM 部署模型上都有计算节点时该怎么做。
第二个答案: “你需要一步步做的事情:
- 在 ARM 中创建一个 VNET 并将所有 PaaS ARM 实例移动到那里。
- 在经典模式下创建 VNET 并将所有 PaaS 经典实例移动到那里。
- 创建 ARM 动态网关(或基于路由的网关)并将其链接到 ARM VNET。
- 创建一个经典动态网关(或基于路由的网关)并将其链接到经典 VNET。
- 在两个 VNET 之间启用 VNET 到 VNET 连接。
- 请求部署 ExpressRoute 并等待线路配置和启用。
- 在 Azure 端,您需要为刚刚配置的专用电路创建一个新的网关。
- 该网关也需要链接到 ARM VNET。
- 这应该将您环境中的所有点连接起来!”
答案2
看起来你可以在没有 VPN 的情况下使用 Azure Express Route,但你的访问将仅限于使用公共对等路由,而不是私有对等路由 -https://azure.microsoft.com/en-us/documentation/articles/expressroute-circuit-peerings/
您无法通过公共对等互连从 Azure 启动对您的本地的访问 - 只能反过来,我认为这不能满足您的需求。