Udostępnij przez


Tworzenie elastycznego wystąpienia serwera usługi Azure Database for PostgreSQL i konfigurowanie reguły sieci wirtualnej przy użyciu Azure CLI

Ten przykładowy skrypt interfejsu wiersza polecenia tworzy wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL i konfiguruje regułę sieci wirtualnej.

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Przykładowy skrypt

Uruchamianie usługi Azure Cloud Shell

Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, której możesz używać do wykonywania kroków opisanych w tym artykule. Ma zainstalowane i skonfigurowane popularne narzędzia Azure do użycia z Twoim kontem.

Aby otworzyć Cloud Shell, należy po prostu wybrać Try it w prawym górnym rogu bloku kodu. Możesz również uruchomić Cloud Shell w osobnej karcie przeglądarki, przechodząc do https://shell.azure.com.

Po otwarciu usługi Cloud Shell sprawdź, czy wybrano Bash dla twojego środowiska. Kolejne sesje będą używać Azure CLI w środowisku Bash. Wybierz opcję Kopiuj, aby skopiować bloki kodu, wklej je do Cloud Shell i naciśnij Enter, aby je uruchomić.

Zaloguj się do Azure

Usługa Cloud Shell jest automatycznie uwierzytelniana na początkowym koncie zalogowanym. Użyj poniższego skryptu, aby zalogować się przy użyciu innej subskrypcji, zastępując subscriptionId swoim identyfikatorem subskrypcji Azure.

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

subscription="subscriptionId" # Set Azure subscription ID here

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

Aby uzyskać więcej informacji, zobacz ustawianie aktywnej subskrypcji lub logowanie interakcyjne.

Uruchamianie skryptu

# 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

Uprzątnij zasoby

Aby usunąć grupę zasobów i wszystkie zasoby z nią związane, użyj następującego polecenia az group delete - chyba że nadal potrzebujesz tych zasobów. Niektóre z tych zasobów mogą wymagać trochę czasu na stworzenie, a także usunięcie.

az group delete --name $resourceGroup

Przykładowa referencja

Ten skrypt używa poleceń opisanych w poniższej tabeli:

Polecenie Notatki
Polecenie az group create służy do utworzenia grupy w Azure. Tworzy grupę zasobów, w której są przechowywane wszystkie zasoby.
az postgresql server create (komenda do utworzenia serwera postgresql) Tworzy wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL, które hostuje bazy danych.
az network virtual network list-endpoint-services - wyświetla dostępne usługi końcowe dla sieci wirtualnej Wyświetla listę usług obsługujących tunelowanie usługi sieci wirtualnej w danym regionie.
az network virtual network create Tworzy sieć wirtualną.
az network virtual network subnet create - Komenda do tworzenia podsieci wirtualnej sieci w usłudze Azure. Tworzy podsieć i kojarzy istniejącą sieciową grupę zabezpieczeń i tabelę tras.
Aby wyświetlić szczegóły podsieci wirtualnej sieci w Azure, użyj polecenia: az network virtual network subnet show Pokazuje szczegóły podsieci.
az postgresql server vnet-rule create Tworzy regułę sieci wirtualnej, aby zezwolić na dostęp do wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL.
az group delete - usuwa grupę zasobów w Azure Usuwa grupę zasobów, w tym wszystkie zagnieżdżone zasoby.