在配置Azure托管的Postgres服务时,我正在尝试配置通过VPN从本地计算机进行的连接。
在Connection Security中将IP列入白名单时,我可以连接到DB。 我已经添加了VPN网关连接到 VNET规则的子网-这似乎没有什么改变。
我可以从本地计算机通过VPN连接到VM。
但是,要使该工作可行,我将VM(私有IP,Azure URL)对添加到了本地计算机hosts
文件中。
我找不到用于数据库服务的任何IP(这似乎对托管服务有意义),因此我无法做出相同的技巧。
尝试连接到数据库时遇到的错误与添加hosts
映射之前遇到的错误类似。
这一切使我相信我需要某种方法让Azure解析URL(通常也可以抢先使用hosts
映射)。
在this article中,我尝试将DNS设置为168.63.129.16,但这根本不起作用(什么都解决不了)。
是否有一种方法(如果可以,如何)通过VPN网关从本地计算机连接到Azure数据库以进行Postgresql服务?
答案 0 :(得分:1)
我认为无法按照您的意愿进行此操作。您想要将Azure数据库逻辑服务器专用IP映射到本地hosts
文件,然后通过VPN网关访问它。
您仅知道Azure数据库服务器的公共IP。 Azure服务的公共IP地址会定期更改。您可以通过过滤区域来找到an IP address list。不建议使用这样的动态IP地址。请参阅此blog。
由于Azure数据库是完全托管的平台即服务(PaaS)数据库引擎,而不是像Azure虚拟机那样的IaaS,因此它是公共的,并且不会公开数据库服务器的私有IP地址。我们只能通过Internet通过Azure数据库服务器名称访问数据库。
此外,如果您想仅使用virtual Network service endpoints限制其从专用网络的访问。但是,这样做可以允许授权子网中的资源(如Azure VM)直接访问专用网络中的Azure数据库,不能保证是否可以通过VPN从本地计算机访问Azure数据库。这似乎没有到Azure数据库的本地路由。