我们在azure中有一个SQL实例,直到最近它还公开可用,并且基于IP白名单限制访问。我们最近勾选了";拒绝公共访问";复选框,并为服务器设置专用端点。
我们在azure devops中也有构建和发布管道,它们在构建过程中创建一个SQL实体框架迁移文件,并在发布过程中使用管理员凭据针对SQL运行它,这意味着我们可以在数据库上应用迁移,而不需要应用程序对数据库进行基本的读/写访问。
我们遇到的问题是,当发行版需要对它无法连接的数据库执行SQL时,我认为这是因为构建代理在我们的vnet之外。
我们正在考虑在vnet中创建我们自己的构建代理,并将其用于构建&释放管道,我们相信这将解决问题,但如果有其他选择,我们希望有其他选择吗?
感谢5NRF和Ryu S.。将您的讨论作为答案发布,以帮助其他社区成员。
您可以尝试这些可能的解决方案中的任何一种。
- 在SQL服务器VM上创建自托管代理,该代理将是VNet的一部分
- 在连接相同VNet的Azure VM上创建自托管代理
- 在本地计算机上创建自托管代理。使用Express路由、私有对等或VPN隧道连接到私有端点
通过设置水塘到您的私人代理池,该池承载自托管代理。
参考:创建自托管代理,通过VPN从本地环境连接,