使用 az postgres flexible-server firewall-rule create 命令将防火墙规则添加到服务器。
az postgres flexible-server firewall-rule create \
--resource-group <resource_group> \
--server-name <server> \
--name <rule> \
--start-ip-address <start_ip_address> \
--end-ip-address <end_ip_address>
如果尝试在未处于 Ready 状态的服务器上添加防火墙规则,则会出现如下错误:
Code: InternalServerError
Message: An unexpected error occured while processing the request. Tracking ID: '<tracking_id>'
注释
防火墙规则名称只能包含0-9、a-z、A-Z和。 -_ 此外,防火墙规则的名称必须至少为 3 个字符,长度不超过 128 个字符。
如果尝试添加名称无效的防火墙规则,将收到如下所示的错误:
The firewall rule name can only contain 0-9, a-z, A-Z, '-' and '_'. Additionally, the name of the firewall rule must be at least 3 characters and no more than 128 characters in length.
如果你尝试添加一条名称与另一条现有防火墙规则相同的防火墙规则,不会报错,但该规则会使用你为 --start-ip-address 和 --end-ip-address 提供的值进行更新。
如果为参数--start-ip-address传递无效的 IP 地址--end-ip-address,将收到如下所示的错误:
Incorrect value for ip address. Ip address should be IPv4 format. Example: 12.12.12.12.
如果传递 --start-ip-address 的值大于所传递 --end-ip-address的值,则会出现如下错误:
The end IP address is smaller than the start IP address.
如果尝试将防火墙规则添加到未启用公共访问权限的服务器,则会出现如下错误:
Firewall rule operations cannot be requested for a private access enabled server.
注释
尽管不建议这样做,但可以创建具有不同名称、重叠 IP 范围甚至匹配的起始和结束 IP 地址的多个防火墙规则。
若要允许 Azure 中的任何 Azure 服务公开访问你的服务器,必须创建一条防火墙规则,并将其起始 IP 地址和结束 IP 地址均设置为 0.0.0.0。
重要
在防火墙中,当您配置起始和结束 IP 地址为 0.0.0.0 的规则时,这会将防火墙设置为允许来自分配给任何 Azure 服务或资产的 IP 地址的连接,包括其他客户订阅中的连接。