Vytváření a správa koncových bodů služeb virtuální sítě pro jednoúčelový server Azure Database for PostgreSQL s využitím Azure CLI

PLATÍ PRO: Azure Database for PostgreSQL – Jednoúčelový server

Důležité

Jednoúčelový server Azure Database for PostgreSQL je na cestě vyřazení. Důrazně doporučujeme upgradovat na flexibilní server Azure Database for PostgreSQL. Další informace o migraci na flexibilní server Azure Database for PostgreSQL najdete v tématu Co se děje s jednoúčelovým serverem Azure Database for PostgreSQL?

Koncové body služeb virtuální sítě a pravidla rozšiřují privátní adresní prostor virtuální sítě na server Azure Database for PostgreSQL. Pomocí pohodlných příkazů Azure CLI můžete vytvářet, aktualizovat, odstraňovat, vypisovat a zobrazovat koncové body služeb virtuální sítě a pravidla pro správu serveru. Přehled koncových bodů služeb virtuální sítě Azure Database for PostgreSQL, včetně omezení, najdete v tématu Koncové body služeb virtuální sítě serveru Azure Database for PostgreSQL. Koncové body služeb virtuální sítě jsou dostupné ve všech podporovaných oblastech pro Azure Database for PostgreSQL.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Požadavky

Poznámka:

Podpora koncových bodů služeb virtuální sítě je pouze pro servery optimalizované pro obecné účely a optimalizováno pro paměť. Pokud v případě partnerského vztahu virtuálních sítí prochází provoz přes společnou bránu virtuální sítě s koncovými body služby a má tok do partnerského uzlu tokovat, vytvořte pravidlo seznamu ACL nebo virtuální sítě, které virtuálním počítačům Azure ve virtuální síti brány umožní přístup k serveru Azure Database for PostgreSQL.

Konfigurace koncových bodů služeb virtuální sítě

Příkazy az network vnet slouží ke konfiguraci virtuálních sítí. Koncové body služby je možné nakonfigurovat ve virtuálních sítích nezávisle na uživateli s přístupem k zápisu do virtuální sítě.

Aby bylo možné zabezpečit prostředky služeb Azure do virtuální sítě, musí mít uživatel oprávnění k přidání podsítí Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/. 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í.

Další informace o předdefinovaných rolích a přiřazení konkrétních oprávnění k vlastním rolím.

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. Pokud jsou prostředky virtuální sítě a služby Azure v různých předplatných, měly by být prostředky ve stejném tenantovi Active Directory (AD). Ujistěte se, že obě předplatná mají zaregistrovaného poskytovatele prostředků Microsoft.Sql . Další informace najdete v části resource-manager-registration.

Důležité

Důrazně doporučujeme přečíst si tento článek o konfiguracích a aspektech koncového bodu služby před spuštěním následujícího ukázkového skriptu nebo konfigurací koncových bodů služby. Koncový bod služby virtuální sítě:Koncový bod služby virtuální sítě je podsíť, jejíž hodnoty vlastností obsahují jeden nebo více formálních názvů typů služeb Azure. 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. Tato značka služby se vztahuje také na služby Azure SQL Database, Azure Database for PostgreSQL a MySQL. Při použití značky služby Microsoft.Sql na koncový bod služby virtuální sítě je důležité si uvědomit, že konfiguruje provoz koncových bodů služby pro všechny služby Azure Database, včetně Azure SQL Database, Azure Database for PostgreSQL a serverů Azure Database for MySQL v podsíti.

Ukázkový skript

Spuštění služby Azure Cloud Shell

Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít k provedení kroků v tomto článku. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.

Pokud chcete otevřít Cloud Shell, vyberte položku Vyzkoušet v pravém horním rohu bloku kódu. Cloud Shell můžete spustit také na samostatné kartě prohlížeče na adrese https://shell.azure.com.

Po otevření Cloud Shellu ověřte, že je pro vaše prostředí vybraný Bash . Následující relace budou používat Azure CLI v prostředí Bash, výběrem možnosti Kopírovat zkopírujte bloky kódu, vložte ho do Cloud Shellu a stisknutím klávesy Enter ho spusťte.

Přihlášení k Azure

Cloud Shell se automaticky ověřuje pod počátečním přihlášeným účtem. Pomocí následujícího skriptu se přihlaste pomocí jiného předplatného a nahraďte <Subscription ID> ID předplatného Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Další informace najdete v tématu Nastavení aktivního předplatného nebo interaktivního přihlášení.

Spuštění skriptu

# Create a PostgreSQL server and configure a vNet rule

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="create-postgresql-server"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
vNet="vNet-$randomIdentifier"
vNetAddressPrefix="10.0.0.0/16"
subnet="subnet-$randomIdentifier"
subnetAddressPrefix="10.0.1.0/24"
rule="rule-$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"

echo "Using resource group $resourceGroup with login: $login, password: $password..."

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

# 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.
echo "Creating $server in $location..."
az postgres server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --sku-name $sku

# Get available service endpoints for Azure region output is JSON
echo "List of available service endpoints for $location"
az network vnet list-endpoint-services --location "$location"

# Add Azure SQL service endpoint to a subnet while creating the virtual network
echo "Adding service endpoint to $subnet in $vNet"
az network vnet create --resource-group $resourceGroup --name $vNet --address-prefixes $vNetAddressPrefix --location "$location"

# Creates the service endpoint
echo "Creating a service endpoint to $subnet in $vNet"
az network vnet subnet create --resource-group $resourceGroup --name $subnet --vnet-name $vNet --address-prefix $subnetAddressPrefix --service-endpoints Microsoft.SQL

# View service endpoints configured on a subnet
echo "Viewing the service endpoint to $subnet in $vNet"
az network vnet subnet show --resource-group $resourceGroup --name $subnet --vnet-name $vNet

# Create a VNet rule on the server 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.
echo "Creating a VNet rule on $server to secure it to $subnet in $vNet"
az postgres server vnet-rule create --name $rule --resource-group $resourceGroup --server $server --vnet-name $vNet --subnet $subnet

Vyčištění nasazení

Pomocí následujícího příkazu odeberte skupinu prostředků a všechny prostředky přidružené k ní pomocí příkazu az group delete – pokud tyto prostředky nepotřebujete. Vytvoření některých z těchto prostředků a odstranění může chvíli trvat.

echo "Cleaning up resources by removing the resource group..."
az group delete --name $resourceGroup -y