你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

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

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

  • 公共访问(允许的 IP 地址)。 在预览版中使用基于 专用链接 的网络和 Azure Database for PostgreSQL 灵活服务器,可以进一步保护该方法。
  • 专用访问(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 Cloud Shell

Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预安装有常用 Azure 工具并将其配置与帐户一起使用。

若要打开 Cloud Shell,只需要从代码块的右上角选择“试一试”。 也可以在单独的浏览器标签页中通过转到 https://shell.azure.com/bash 打开 Cloud Shell。 选择“复制”以复制代码块,将其粘贴到 Cloud Shell 中,然后选择 Enter 来运行它。

如果希望在本地安装并使用 CLI,则本快速入门需要 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 并重试操作。

后续步骤