Avvio rapido: Creare un server di Database di Azure per PostgreSQL con l'interfaccia della riga di comando di Azure
SI APPLICA A: Database di Azure per PostgreSQL - Server singolo
Importante
Database di Azure per PostgreSQL - Il server singolo è in fase di ritiro. È consigliabile eseguire l'aggiornamento a Database di Azure per PostgreSQL - Server flessibile. Per altre informazioni sulla migrazione a Database di Azure per PostgreSQL - Server flessibile, vedere Cosa succede a Database di Azure per PostgreSQL - Server singolo?.
Questo argomento di avvio rapido illustra come usare i comandi dell'interfaccia della riga di comando di Azure in Azure Cloud Shell per creare un server singolo di Database di Azure per PostgreSQL in cinque minuti.
Suggerimento
Prendere in considerazione l'uso del comando az postgres up dell'interfaccia della riga di comando di Azure più semplice. Provare l'argomento di avvio rapido.
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Prerequisiti
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Avviare Azure Cloud Shell
Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.
Per aprire Cloud Shell, basta selezionare Prova nell'angolo superiore destro di un blocco di codice. È anche possibile avviare Cloud Shell in una scheda separata del browser visitando https://shell.azure.com.
Quando si apre Cloud Shell, verificare che sia selezionato Bash per l'ambiente. Le sessioni successive useranno l'interfaccia della riga di comando di Azure in un ambiente Bash. Selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirli.
Accedere ad Azure
Cloud Shell viene autenticato automaticamente con l'account iniziale con cui è stato eseguito l'accesso. Usare lo script seguente per accedere usando una sottoscrizione diversa, sostituendo <Subscription ID>
con l'ID sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Per maggiori informazioni, vedere Impostare una sottoscrizione attiva o Accedere in modo interattivo
Impostare i valori di parametro
I valori seguenti vengono usati nei comandi successivi per creare il database e le risorse necessarie. I nomi dei server devono essere univoci a livello globale in tutto Azure, quindi per creare il nome del server viene usata la funzione $RANDOM.
Modificare la posizione in base alle esigenze specifiche dell'ambiente. Sostituire 0.0.0.0
con l’intervallo di indirizzi IP corrispondente all'ambiente specifico. Usare l'indirizzo IP pubblico del computer in uso per limitare l'accesso al server solo all'indirizzo IP.
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-postgresql-rg-$randomIdentifier"
tag="create-postgresql-server-and-firewall-rule"
server="msdocs-postgresql-server-$randomIdentifier"
sku="GP_Gen5_2"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
# Specify appropriate IP address values for your environment
# to limit / allow access to the PostgreSQL server
startIp=0.0.0.0
endIp=0.0.0.0
echo "Using resource group $resourceGroup with login: $login, password: $password..."
Creare un gruppo di risorse
Creare un gruppo di risorse con il comando az group create. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nella posizione eastus:
# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag
Creare un server
Creare un server con il comando az postgres server create.
# 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
Nota
- Il nome del server può contenere solo lettere minuscole, numeri e il segno meno (-) Deve contenere da 3 a 63 caratteri. Per altre informazioni, vedere Regole di denominazione di Database di Azure per PostgreSQL.
- Il nome utente dell'utente amministratore non può essere azure_superuser, admin, administrator, root, guest o public.
- La password deve contenere da 8 a 128 caratteri di tre delle categorie seguenti: lettere maiuscole, lettere minuscole, numeri e caratteri non alfanumerici.
- Per informazioni sugli SKU, vedere Piano tariffario di Database di Azure per PostgreSQL.
Importante
- La versione predefinita di PostgreSQL nel server è 9.6. Per informazioni su tutte le versioni supportate, vedere Versioni principali supportate di PostgreSQL.
- SSL viene abilitato per impostazione predefinita nel server. Per altre informazioni su SSL, vedere Configurare la connettività SSL.
Configurare una regola del firewall basata sul server
Creare una regola del firewall con il comando az postgres server firewall-rule create per concedere all'ambiente locale l'accesso per la connessione al server.
# Configure a firewall rule for the server
echo "Configuring a firewall rule for $server for the IP address range of $startIp to $endIp"
az postgres server firewall-rule create --resource-group $resourceGroup --server $server --name AllowIps --start-ip-address $startIp --end-ip-address $endIp
Suggerimento
Se non si conosce l'indirizzo IP, passare a WhatIsMyIPAddress.com per ottenerlo.
Nota
Per evitare problemi di connettività, verificare che il firewall della rete consenta la porta 5432. Il server di Database di Azure per PostgreSQL usa tale porta.
Elencare le regole del firewall basate su server
Per elencare le regole firewall del server esistenti, eseguire il comando az postgres server firewall-rule list.
# List firewall rules for the server
echo "List of server-based firewall rules for $server"
az postgres server firewall-rule list --resource-group $resourceGroup --server-name $server
# You may use the switch `--output table` for a more readable table format as the output.
L'output elenca le eventuali regole firewall presenti, per impostazione predefinita in formato JSON. È possibile usare l'opzione --output table
per ottenere un formato di tabella più leggibile come output.
Ottenere le informazioni di connessione
Per connettersi al server, è necessario specificare le informazioni sull'host e le credenziali di accesso.
az postgres server show --resource-group $resourceGroup --name $server
Prendere nota dei valori di administratorLogin e fullyQualifiedDomainName.
Connettersi al server di Database di Azure per PostgreSQL tramite psql
Il client psql è una scelta comune per la connessione ai server PostgreSQL. È possibile connettersi al server usando psql
con Azure Cloud Shell. È anche possibile usare psql
nell'ambiente locale, se è disponibile. Viene automaticamente creato un database vuoto, postgres, con un nuovo server PostgreSQL. È possibile usare tale database per connettersi con psql
, come illustrato nel codice seguente.
psql --host=<server_name>.postgres.database.azure.com --port=5432 --username=<admin_user>@<server_name> --dbname=postgres
Suggerimento
Se si preferisce usare un percorso URL per connettersi a Postgres, l'URL codifica il segno @ nel nome utente con %40
. Ad esempio, la stringa di connessione per psql sarà:
psql postgresql://<admin_user>%40<server_name>@<server_name>.postgres.database.azure.com:5432/postgres
Pulire le risorse
Usare il seguente comando per rimuovere il gruppo di risorse e tutte le risorse associate usando il comando az group delete, a meno che non si abbia una necessità continua di queste risorse. La creazione e l'eliminazione di alcune di queste risorse può richiedere tempo.
az group delete --name $resourceGroup