使用 Azure CLI 为 Azure Database for - PostgreSQL 灵活服务器创建和管理虚拟网络(VNET 集成)

适用于:Azure Database for PostgreSQL 灵活服务器

Azure Database for PostgreSQL 灵活服务器支持两种类型的互斥网络连接方法来连接到灵活服务器。 这两个选项如下:

  • 公共访问(允许的 IP 地址)
  • 专用访问(VNet 集成)

本文重点介绍使用 Azure CLI 创建具有专用访问(VNet 集成)的 Azure Database for PostgreSQL 灵活服务器实例。 通过专用访问(VNET 集成),可以将 Azure Database for PostgreSQL 灵活服务器实例部署到你自己的 Azure 虚拟网络。 Azure 虚拟网络提供专用的安全网络通信。 在专用访问中,与 Azure Database for PostgreSQL 灵活服务器实例的连接仅限于你的虚拟网络。 若要了解详细信息,请参阅专用访问(VNet 集成)

在 Azure Database for PostgreSQL 灵活服务器中,在创建服务器期间,只能将服务器部署到虚拟网络和子网。 将 Azure Database for PostgreSQL 灵活服务器实例部署到虚拟网络和子网后,无法将它移动到其他虚拟网络、子网或公共访问(允许的 IP 地址)

启动 Azure PowerShell

本快速入门要求使用 Azure CLI 2.0 或更高版本。 运行 az --version 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI

先决条件

需要使用 az login 命令登录帐户。 请注意 ID 属性,该属性指的是 Azure 帐户的订阅 ID 。

az login

使用 az account set 命令选择帐户下的特定订阅。 记下 az login 输出中的 ID 值,将其用作命令中 subscription 参数的值。 如果有多个订阅,请选择应计费的资源所在的相应订阅。 若要获取所有订阅,请使用 az account list

az account set --subscription <subscription id>

使用 Azure CLI 创建 Azure Database for PostgreSQL 灵活服务器实例

可以使用 az postgres flexible-server 命令创建具有专用访问(VNet 集成)的 Azure Database for PostgreSQL 灵活服务器实例。 此命令使用专用访问(VNet 集成)作为默认连接方法。 如果未提供虚拟网络和子网,则将创建虚拟网络和子网。 还可以使用子网 ID 提供现有的虚拟网络和子网。 使用 CLI 创建 Azure Database for PostgreSQL 灵活服务器实例有多种选项,如以下示例所示。

重要

使用此命令会将子网委派给 Microsoft.DBforPostgreSQL/flexibleServers。 该委派意味着只有 Azure Database for PostgreSQL 灵活服务器实例才能使用该子网。 不能在委派子网中使用其他 Azure 资源类型。

请参阅 Azure CLI 参考文档 以获取可配置 CLI 参数的完整列表。 例如,在下面的命令中,可以选择指定资源组。

  • 使用具有默认地址前缀的默认虚拟网络和子网创建 Azure Database for PostgreSQL 灵活服务器实例

    az postgres flexible-server create
    
  • 使用现有的虚拟网络和子网创建 Azure Database for PostgreSQL 灵活服务器实例。 如果提供的虚拟网络和子网不存在,则将创建具有默认地址前缀的虚拟网络和子网。

    az postgres flexible-server create --vnet myVnet --subnet mySubnet
    
  • 使用现有的虚拟网络、子网并使用子网 ID 创建 Azure Database for PostgreSQL 灵活服务器实例。 提供的子网不应在其中部署任何其他资源,并且此子网将委派给 Microsoft.DBforPostgreSQL/flexibleServers(如果尚未委派)。

    az postgres flexible-server create --subnet /subscriptions/{SubID}/resourceGroups/{ResourceGroup}/providers/Microsoft.Network/virtualNetworks/{VNetName}/subnets/{SubnetName}
    

    注意

    • 虚拟网络和子网应与 Azure Database for PostgreSQL 灵活服务器实例位于同一区域和订阅中。
    • 虚拟网络不应在 VNet 或子网级别设置任何资源锁。 在虚拟网络中创建服务器之前,确保从 VNet 和所有子网中删除任何锁(“删除”或“只读”),你可以在创建服务器后恢复设置。

    重要

    包括 AzureFirewallSubnetAzureFirewallManagementSubnetAzureBastionSubnetGatewaySubnet 在内的名称是 Azure 中的保留名称。 请不要使用这些名称作为子网名称。

  • 使用具有非默认地址前缀的新虚拟网络和子网创建 Azure Database for PostgreSQL 灵活服务器实例。

    az postgres flexible-server create --vnet myVnet --address-prefixes 10.0.0.0/24 --subnet mySubnet --subnet-prefixes 10.0.0.0/24
    

请参阅 Azure CLI 参考文档以获取可配置 CLI 参数的完整列表。

重要

如果收到错误“The parameter PrivateDnsZoneArguments is required, and must be provided by customer”,则意味着你可能正在运行旧版本的 Azure CLI。 请升级 Azure CLI 并重试操作。

后续步骤