如何解决无法从应用服务通过 VNet 访问我的 Azure for PostgreSQL 灵活服务器
我刚刚为 PostgreSQL 灵活服务器设置了一个全新的 Azure,并选择将其放置在我的 VNet 上,而不是将公共 IP 列入白名单。它位于自己的子网上并分配有存储和 .SQL 服务端点。
我还在 Azure 应用服务中部署了一个 NodeJS API,该 API 附加到自己子网上的同一个 VNet。
如果没有额外的 NSG、路由或防火墙规则,正如我所读到的那样,我认为我的资源应该能够仅基于上述配置相互通信。
当我通过 SSH 连接到我的应用服务容器并尝试迁移我的数据库(使用通过环境变量引入的服务器的 FQDN)时,它立即告诉我找不到该名称。我也尝试ping数据库的FQDN,同样的错误。
我不确定还需要什么才能使这两个连接,但我很困惑。任何指导将不胜感激。
解决方法
您可以按照此 Tutorial: Create an Azure Database for PostgreSQL - Flexible Server with App Services Web App in Virtual network 将 Azure 灵活服务器添加到 VNet。完成后,您会发现该子网已委派给 Microsoft.DBforPostgreSQL/flexibleServers
并启用服务端点 Microsoft.Storage
。
此外,在 vnet 与 Web 应用程序集成的情况下,默认情况下,BGP 路由仅影响您的 RFC1918 目标流量。当 WEBSITE_VNET_ROUTE_ALL
设置为 1
时,来自应用服务的所有出站流量都可能受到您的 BGP 路由的影响。参考here。
按照该教程中的步骤并在应用设置中添加值为 WEBSITE_VNET_ROUTE_ALL
的 1
后,我可以从应用服务容器中的 SSH 工具访问 Azure for PostgreSQL 灵活服务器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。