本文介绍如何在 Azure Database for PostgreSQL 灵活服务器上启用公共网络访问。 公共访问允许使用公共 IP 地址从 Internet 建立连接,可以使用防火墙规则和专用终结点进行保护。
先决条件
在开始之前,请验证服务器是否符合以下要求:
重要
本文不适用于配置有专用访问的服务器(VNet 集成)。 网络模式是在服务器创建过程中选择的永久设置。 如果服务器的 “网络 ”页将 “专用访问”(VNet 集成) 显示为连接方法,则不能在该服务器上启用公共访问。
若要从专用访问切换到公共访问,必须:
- 在部署过程中选择公共访问(允许的 IP 地址)网络选项,创建新服务器。
-
将服务器还原 到启用了公共访问的新实例。
有关网络模式之间的差异的详细信息,请参阅专用访问(VNet 集成)和公共访问(允许的 IP 地址)。
确定服务器的网络模式
检查服务器使用的网络模式:
- 在 Azure 门户中,导航到 Azure Database for PostgreSQL 灵活服务器。
- 在资源菜单中,选择“ 网络”。
-
公共访问(允许的 IP 地址):本文适用于服务器。 继续阅读本文中的步骤。
-
专用访问(VNet 集成):本文不适用。 有关选项,请参阅 “先决条件 ”部分。
运行以下命令来检查服务器的网络配置:
az postgres flexible-server show \
--resource-group <resource_group> \
--name <server> \
--query '{delegatedSubnetId:network.delegatedSubnetResourceId, publicAccess:network.publicNetworkAccess}'
解释结果:
- 如果
delegatedSubnetId返回子网资源 ID,则服务器使用专用访问(VNet 集成)。 本文不适用。
- 如果是
delegatedSubnetId,则服务器使用null模式。 继续阅读本文。
启用公共访问
启用公共访问时:
- 服务器接受来自防火墙规则允许的 IP 地址的连接请求。
- 还可以通过专用终结点进行连接。
- 将自动强制实施以前配置的任何防火墙规则。
- 在 Azure 门户中,导航到 Azure Database for PostgreSQL 灵活服务器。
- 在资源菜单中,选择“ 网络”。
- 在 “公共访问”下, 选中“允许使用公共 IP 地址”复选框通过 Internet 访问此资源 。
- 选择“保存”。
- 等待服务器状态从 “更新 ”更改为 “就绪”。 通知会确认何时应用更改。
运行 az postgres flexible-server update 命令:
az postgres flexible-server update \
--resource-group <resource_group> \
--name <server> \
--public-access Enabled
常见错误:
| 错误 |
原因 |
解决方案 |
Server <server> is busy with other operations. Please try later |
服务器未处于 Ready 状态 |
等待当前操作完成,然后重试 |
| 命令成功,但设置不会更改 |
服务器已使用专用访问进行部署 |
无法在 VNet 集成服务器上启用公共访问。 改为创建具有公共访问权限的新服务器 |
验证更改:
az postgres flexible-server show \
--resource-group <resource_group> \
--name <server> \
--query '{publicAccess:network.publicNetworkAccess}'
输出应显示 "publicAccess": "Enabled"。
后续步骤
启用公共访问后,配置防火墙规则以控制哪些 IP 地址可以连接到服务器:
相关内容