我有一个逻辑应用,在我的工作流中,我需要调用部署在 vnet 中的服务。到目前为止,我的研究指出我使用 API 管理与 VNet 资源通信,或将工作流重新实现为 Azure 函数。
由于我发现的资源,博客文章等已经有几个月的历史了,我想我在这里问过你。这些真的是我的选择吗?
假设:
- 你的 VNET 已锁定
- 您的服务是 HTTP 服务(RESTful 或 SOAP)
- VNET 不允许来自外部的 HTTP 调用。
然后,您有几个选择:
- 使用本地数据网关。OPDG 是一个代理,可以在 VNET 中的 VM 上部署它,并允许调用 HTTP 终结点。您需要创建一个使用 OPDG 的自定义连接器。这是预览版,不幸的是,文档还没有,但我已经实现了它。OPDG 无需支付任何费用,您只需为虚拟机和流量付费。
- 在 VNET 中部署 APIM,并在顶部部署应用网关,这将允许从 VNET 外部进行访问。这需要更多的工作(网络),您将需要支付更多费用。
- 在 VNET 外部部署 APIM,获取自己的静态 IP,并且仅允许从 APIM 到 VNET 的 HTTPS 流量。有些人可能不喜欢此选项,但您可以考虑一下。
呵呵