Vytvoření a správa koncových bodů služby virtuální sítě pro Azure Database for PostgreSQL pro jeden server pomocí Azure CLICreate and manage VNet service endpoints for Azure Database for PostgreSQL - Single Server using Azure CLI

Koncovými body a pravidly služby Virtual Network (VNet) přesahují privátní adresní prostor Virtual Network na server Azure Database for PostgreSQL.Virtual Network (VNet) services endpoints and rules extend the private address space of a Virtual Network to your Azure Database for PostgreSQL server. Pomocí praktických příkazů rozhraní příkazového řádku Azure (CLI) můžete vytvářet, aktualizovat, odstraňovat, vypisovat a zobrazovat koncové body a pravidla služby virtuální sítě pro správu serveru.Using convenient Azure Command Line Interface (CLI) commands, you can create, update, delete, list, and show VNet service endpoints and rules to manage your server. Přehled koncových bodů služby virtuální sítě Azure Database for PostgreSQL, včetně omezení, najdete v tématu koncové body služby virtuální sítě v Azure Database for PostgreSQL serveru.For an overview of Azure Database for PostgreSQL VNet service endpoints, including limitations, see Azure Database for PostgreSQL Server VNet service endpoints. Koncové body služby virtuální sítě jsou k dispozici ve všech podporovaných oblastech pro Azure Database for PostgreSQL.VNet service endpoints are available in all supported regions for Azure Database for PostgreSQL.

PožadavkyPrerequisites

Pokud chcete projít tento průvodce, budete potřebovat:To step through this how-to guide, you need:

Poznámka

Podpora pro koncové body služby virtuální sítě je pouze pro servery pro obecné účely a optimalizovaný pro paměť.Support for VNet service endpoints is only for General Purpose and Memory Optimized servers. V případě partnerského vztahu virtuálních sítí platí, že pokud přenos prochází přes společnou bránu virtuální sítě s koncovými body služby a měl by se přesměrovat na partnera, vytvořte prosím pravidlo seznamu ACL/virtuální sítě, které povolí službě Azure Virtual Machines ve virtuální síti brány pro přístup k serveru Azure Database for PostgreSQL.In case of VNet peering, if traffic is flowing through a common VNet Gateway with service endpoints and is supposed to flow to the peer, please create an ACL/VNet rule to allow Azure Virtual Machines in the Gateway VNet to access the Azure Database for PostgreSQL server.

Konfigurace koncových bodů služby virtuální sítě pro Azure Database for PostgreSQLConfigure Vnet service endpoints for Azure Database for PostgreSQL

Příkazy AZ Network VNet se používají ke konfiguraci virtuálních sítí.The az network vnet commands are used to configure Virtual Networks.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.If you don't have an Azure subscription, create a free account before you begin.

Použití služby Azure Cloud ShellUse Azure Cloud Shell

Hostitelé Azure Azure Cloud Shell interaktivní prostředí prostředí, které můžete používat v prohlížeči.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Pro práci se službami Azure můžete použít buď bash, nebo PowerShell s Cloud Shell.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Můžete použít Cloud Shell předinstalované příkazy ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do svého místního prostředí.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Spuštění Azure Cloud Shell:To start Azure Cloud Shell:

MožnostOption Příklad nebo propojeníExample/Link
Zvolte Vyzkoušet v pravém horním rohu bloku kódu.Select Try It in the upper-right corner of a code block. Při výběru možnosti vyzkoušet se kód automaticky nezkopíruje do Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Příklad pokusu o Azure Cloud Shell
Přejít na https://shell.azure.comnebo vyberte tlačítko Spustit Cloud Shell a otevřete Cloud Shell v prohlížeči.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. spustit Cloud Shell v novém okněLaunch Cloud Shell in a new window
Vyberte tlačítko Cloud Shell v pravém horním panelu nabídek v Azure Portal.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Tlačítko Cloud Shell na webu Azure Portal

Chcete-li spustit kód v tomto článku v Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Spusťte Cloud Shell.Start Cloud Shell.

  2. Vyberte tlačítko Kopírovat na bloku kódu ke zkopírování kódu.Select the Copy button on a code block to copy the code.

  3. Vložte kód do relace Cloud Shell tak, že vyberete Ctrl+SHIFT+v v systému Windows a Linux nebo vyberete možnost cmd+SHIFT+v v MacOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Vyberte ENTER a spusťte kód.Select Enter to run the code.

Pokud se rozhodnete nainstalovat a používat rozhraní příkazového řádku (CLI) místně, musíte mít spuštěnou verzi Azure CLI 2.0 nebo novější.If you choose to install and use the CLI locally, this article requires that you are running the Azure CLI version 2.0 or later. Pokud chcete zjistit nainstalovanou verzi, spusťte příkaz az --version.To see the version installed, run the az --version command. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.If you need to install or upgrade, see Install Azure CLI.

Pokud používáte rozhraní příkazového řádku místně, musíte se přihlásit ke svému účtu pomocí příkazu az login.If you are running the CLI locally, you need to log in to your account using the az login command. Z výstupu příkazu si poznamenejte vlastnost id pro odpovídající název předplatného.Note the id property from the command output for the corresponding subscription name.

az login

Pokud máte více předplatných, vyberte odpovídající předplatné, ve kterém se má prostředek účtovat.If you have multiple subscriptions, choose the appropriate subscription in which the resource should be billed. Ve svém účtu vyberte pomocí příkazu az account set konkrétní ID předplatného.Select the specific subscription ID under your account using az account set command. Zástupnou hodnotu id předplatného nahraďte vlastností id z výstupu příkazu az login pro vaše předplatné.Substitute the id property from the az login output for your subscription into the subscription id placeholder.

  • Účet musí mít potřebná oprávnění k vytvoření virtuální sítě a koncového bodu služby.The account must have the necessary permissions to create a virtual network and service endpoint.

Koncové body služby je možné konfigurovat na virtuálních sítích nezávisle na uživateli s oprávněním k zápisu do virtuální sítě.Service endpoints can be configured on virtual networks independently, by a user with write access to the virtual network.

Aby bylo možné zabezpečit prostředky služeb Azure pro virtuální síť, musí mít uživatel pro přidávané podsítě oprávnění k Microsoft. Network/virtualNetworks/subnets/joinViaServiceEndpoint/.To secure Azure service resources to a VNet, the user must have permission to "Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/" for the subnets being added. Toto oprávnění je ve výchozím nastavení součástí předdefinovaných rolí správců služeb a může se upravit vytvořením vlastních rolí.This permission is included in the built-in service administrator roles, by default and can be modified by creating custom roles.

Další informace o předdefinovaných rolích a přiřazení konkrétních oprávnění k vlastním rolím.Learn more about built-in roles and assigning specific permissions to custom roles.

Virtuální sítě a prostředky služeb Azure můžou být ve stejném předplatném nebo v různých předplatných.VNets and Azure service resources can be in the same or different subscriptions. Pokud jsou virtuální síť a prostředky služeb Azure v různých předplatných, musí být prostředky ve stejném tenantovi Active Directory (AD).If the VNet and Azure service resources are in different subscriptions, the resources should be under the same Active Directory (AD) tenant. Zajistěte, aby oba odběry měly zaregistrovaný poskytovatel prostředků Microsoft. SQL .Ensure that both the subscriptions have the Microsoft.Sql resource provider registered. Další informace najdete v tématu Resource-Manager – registrace .For more information refer resource-manager-registration

Důležité

Před spuštěním ukázkového skriptu níže nebo konfigurací koncových bodů služby se důrazně doporučuje přečíst si článek o konfiguracích a důvodech koncového bodu služby.It is highly recommended to read this article about service endpoint configurations and considerations before running the sample script below, or configuring service endpoints. Koncový bod služby Virtual Network: Koncový bod služby Virtual Network je podsíť, jejíž hodnoty vlastností zahrnují jeden nebo více formálních názvů typů služeb Azure.Virtual Network service endpoint: A Virtual Network service endpoint is a subnet whose property values include one or more formal Azure service type names. Koncové body služeb virtuální sítě používají název typu služby Microsoft. SQL, který odkazuje na službu Azure s názvem SQL Database.VNet services endpoints use the service type name Microsoft.Sql, which refers to the Azure service named SQL Database. Tato značka služby platí také pro Azure SQL Database služby Azure Database for PostgreSQL a MySQL.This service tag also applies to the Azure SQL Database, Azure Database for PostgreSQL and MySQL services. Je důležité si uvědomit, že pokud použijete značku služby Microsoft. SQL pro koncový bod služby virtuální sítě, nakonfiguruje se provoz koncového bodu služby pro všechny služby Azure Database, včetně Azure SQL Database, Azure Database for PostgreSQL a Azure Database for MySQL serverů v podsíti.It is important to note when applying the Microsoft.Sql service tag to a VNet service endpoint it configures service endpoint traffic for all Azure Database services, including Azure SQL Database, Azure Database for PostgreSQL and Azure Database for MySQL servers on the subnet.

Ukázkový skript pro vytvoření databáze Azure Database for PostgreSQL, vytvoření virtuální sítě a koncového bodu služby virtuální sítě a zabezpečení serveru v podsíti s pravidlem virtuální sítěSample script to create an Azure Database for PostgreSQL database, create a VNet, VNet service endpoint and secure the server to the subnet with a VNet rule

V tomto ukázkovém skriptu změňte zvýrazněné řádky a upravte uživatelské jméno a heslo správce.In this sample script, change the highlighted lines to customize the admin username and password. Nahraďte SubscriptionID použitou v příkazu az account set --subscription vlastním identifikátorem předplatného.Replace the SubscriptionID used in the az account set --subscription command with your own subscription identifier.

#!/bin/bash

# To find the name of an Azure region in the CLI run this command: az account list-locations
# Substitute  <subscription id> with your identifier
az account set --subscription <subscription id>

# Create a resource group
az group create \
--name myresourcegroup \
--location westus

# Create a PostgreSQL server in the resource group
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
# Substitute the <server_admin_password> with your own value.
az postgres server create \
--name mydemoserver \
--resource-group myresourcegroup \
--location westus \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen4_2

# Get available service endpoints for Azure region output is JSON
# Use the command below to get the list of services supported for endpoints, for an Azure region, say "westus".
az network vnet list-endpoint-services \
-l westus

# Add Azure SQL service endpoint to a subnet *mySubnet* while creating the virtual network *myVNet* output is JSON
az network vnet create \
-g myresourcegroup \
-n myVNet \
--address-prefixes 10.0.0.0/16 \
-l westus

# Creates the service endpoint
az network vnet subnet create \
-g myresourcegroup \
-n mySubnet \
--vnet-name myVNet \
--address-prefix 10.0.1.0/24 \
--service-endpoints Microsoft.SQL

# View service endpoints configured on a subnet
az network vnet subnet show \
-g myresourcegroup \
-n mySubnet \
--vnet-name myVNet

# Create a VNet rule on the sever to secure it to the subnet. Note: resource group (-g) parameter is where the database exists. VNet resource group if different should be specified using subnet id (URI) instead of subnet, VNet pair.
az postgres server vnet-rule create \
-n myRule \
-g myresourcegroup \
-s mydemoserver \
--vnet-name myVNet \
--subnet mySubnet

Vyčištění nasazeníClean up deployment

Po spuštění ukázkového skriptu můžete pomocí následujícího příkazu odebrat skupinu prostředků a všechny k ní přidružené prostředky.After the script sample has been run, the following command can be used to remove the resource group and all resources associated with it.

#!/bin/bash
az group delete --name myresourcegroup