Delen via


Eén Azure Database for PostgreSQL flexibel serverexemplaar monitoren en schalen met Azure CLI

Met dit CLI-voorbeeldscript wordt rekenkracht en opslag geschaald voor één exemplaar van een flexibele Azure Database for PostgreSQL-server nadat er query's zijn uitgevoerd op de metrische gegevens. Compute kan omhoog of omlaag worden geschaald. Opslag kan alleen omhoog worden geschaald.

Belangrijk

Opslag kan alleen omhoog en niet omlaag worden geschaald.

Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.

Vereiste voorwaarden

Voorbeeldscript

Azure Cloud Shell starten

Azure Cloud Shell is een gratis interactieve shell waarmee u de stappen in dit artikel kunt uitvoeren. Veelgebruikte Azure-hulpprogramma's zijn vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account.

Als u Cloud Shell wilt openen, selecteert u Proberen in de rechterbovenhoek van een codeblok. U kunt Cloud Shell ook openen in een afzonderlijk browsertabblad door naar https://shell.azure.com te gaan.

Wanneer Cloud Shell wordt geopend, controleert u of Bash is geselecteerd voor uw omgeving. Latere sessies zullen gebruikmaken van Azure CLI in een Bash-omgeving. Selecteer Copy om de codeblokken te kopiëren, plak ze in de Cloud Shell, en druk op Enter om ze uit te voeren.

Aanmelden bij Azure

Cloud Shell wordt automatisch geauthenticeerd met het oorspronkelijke account waarmee je bent aangemeld. Gebruik het volgende script om in te loggen met een ander abonnement. Vervang subscriptionId door je Azure-abonnement-ID.

Als u geen Azure-account hebt, maak dan een gratis account aan voordat u begint.

subscription="subscriptionId" # Set Azure subscription ID here

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

Zie Het actieve abonnement instellen of interactief aanmelden voor meer informatie.

Het script uitvoeren

# Monitor and scale a single PostgreSQL server

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
subscriptionId="$(az account show --query id -o tsv)"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="scale-postgresql-server"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
scaleUpSku="GP_Gen5_4"
scaleDownSku="GP_Gen5_2"
storageSize="102400"

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

# Monitor usage metrics - CPU
echo "Returning the CPU usage metrics for $server"
az monitor metrics list --resource "/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgresql/servers/$server" --metric cpu_percent --interval PT1M

# Monitor usage metrics - Storage
echo "Returning the storage usage metrics for $server"
az monitor metrics list --resource "/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgresql/servers/$server" --metric storage_used --interval PT1M

# Scale up the server by provisionining more vCores within the same tier
echo "Scaling up $server by changing the SKU to $scaleUpSku"
az postgres server update --resource-group $resourceGroup --name $server --sku-name $scaleUpSku

# Scale down the server by provisioning fewer vCores within the same tier
echo "Scaling down $server by changing the SKU to $scaleDownSku"
az postgres server update --resource-group $resourceGroup --name $server --sku-name $scaleDownSku

# Scale up the server to provision a storage size of 10GB
# Storage size cannot be reduced
echo "Scaling up the storage size for $server to $storageSize"
az postgres server update --resource-group $resourceGroup --name $server --storage-size $storageSize

Opschoning van de implementatie

Gebruik de volgende opdracht om de resourcegroep en alle bijbehorende resources te verwijderen met behulp van het az group delete-commando, tenzij u deze resources nog nodig heeft. Sommige van deze resources kunnen wat tijd vergen om te maken, maar ook om te verwijderen.

az group delete --name $resourceGroup

Voorbeeldreferentie

Dit script maakt gebruik van de opdrachten die in de volgende tabel worden weergegeven:

Opdracht Notes
az groep maken Hiermee wordt een resourcegroep gemaakt waarin alle resources worden opgeslagen.
az postgres server create - Gebruik deze opdracht om een nieuwe PostgreSQL-server te maken. Hiermee maakt u een azure Database for PostgreSQL Flexible Server-exemplaar dat als host fungeert voor de databases.
az postgres server bijwerken Hiermee worden eigenschappen van het flexibele serverexemplaren van Azure Database for PostgreSQL bijgewerkt.
az monitor metrics list Geeft de metrische waarde voor de resources weer.
az groep verwijderen Verwijdert een resourcegroep, inclusief alle onderliggende resources.