Vytvoření serveru a konfigurace pravidla virtuální sítě pomocí Azure CLI na Azure Database for PostgreSQL flexibilním serveru

Tento ukázkový skript rozhraní příkazového řádku vytvoří Azure Database for PostgreSQL flexibilní server a nakonfiguruje pravidlo virtuální sítě.

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

Požadavky

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.

Až se otevře Cloud Shell, ověřte, že je pro vaše prostředí vybrán Bash. Následující sezení budou používat Azure CLI v prostředí Bash. Vyberte Kopírovat pro zkopírování bloků kódu, vložte je do Cloud Shell a stiskněte Enter pro spuštění.

Přihlásit se do Azure

Cloud Shell se automaticky ověřuje pomocí účtu, pod kterým bylo provedeno první přihlášení. Pomocí následujícího skriptu se přihlaste pomocí jiného předplatného a nahraďte id předplatného Azure.

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

subscription="subscriptionId" # Set Azure subscription ID here

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

Pro více informací si přečtěte nastavení aktivního předplatného nebo přihlášení interaktivně.

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čistěte zdroje

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. Některé z těchto zdrojů mohou trvat déle, než budou vytvořeny, stejně jako než budou smazány.

az group delete --name $resourceGroup

Referenční ukázka

Tento skript používá příkazy uvedené v následující tabulce:

Command Poznámky
Příkaz az group create slouží k vytvoření skupiny v Azure. Vytvoří skupinu prostředků pro uložení všech prostředků.
az postgresql server create Vytvoří Azure Database for PostgreSQL flexibilní server, který je hostitelem databází.
az network virtual network list-endpoint-services Uvádí, které služby podporují tunelování služeb virtuální sítě v dané oblasti.
az network vytvořit virtuální síť Vytvoří virtuální síť.
az network virtuální síť podsíť vytvořit Vytvoří podsíť a přidruží k ní existující NSG a směrovací tabulku.
az network virtual network subnet show (příkaz v Azure Cloud) Zobrazuje podrobnosti o podsíti.
Příkaz az postgresql server vnet-rule create slouží k vytvoření pravidla síťového rozhraní pro server PostgreSQL. Vytvoří pravidlo virtuální sítě, které povolí přístup k Azure Database for PostgreSQL flexibilnímu serveru.
az group delete (smazat skupinu) Odstraní skupinu zdrojů včetně všech vnořených zdrojů.