Creare un server PostgreSQL abilitato per Azure Arc dall'interfaccia della riga di comando
Questo documento descrive i passaggi per creare un server PostgreSQL in Azure Arc e connettersi.
Prerequisiti
Prima di procedere con le attività in questo articolo, è necessario disporre degli strumenti necessari. Tutte le distribuzioni richiedono gli strumenti seguenti:
Azure Data Studio
Estensione Azure Arc per Azure Data Studio
Interfaccia della riga di comando di Azure (
az
)arcdata
estensione per l'interfaccia della riga di comando di Azurekubectl
Strumenti client aggiuntivi a seconda dell'ambiente. Per un elenco più completo, vedere Strumenti client.
Oltre agli strumenti necessari, per completare le attività è necessario un titolare del trattamento dei dati di Azure Arc.
Nota
In quanto funzionalità di anteprima, la tecnologia presentata in questo articolo è soggetta alle condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure.
Gli aggiornamenti più recenti sono disponibili nelle note sulla versione.
Attività iniziali
Se si ha già familiarità con gli argomenti seguenti, è possibile ignorare questo paragrafo. Prima di procedere con la creazione, è possibile leggere alcuni argomenti importanti:
- Panoramica dei servizi dati abilitati per Azure Arc
- Connessione modalità e requisiti
- Archiviazione concetti relativi alla configurazione e all'archiviazione kubernetes
- Modello di risorse Kubernetes
Se si preferisce provare le operazioni senza effettuare il provisioning di un ambiente completo, iniziare rapidamente con Azure Arc Jumpstart in servizio Azure Kubernetes (AKS), aws Elastic Kubernetes Service (EKS), Google Cloud Kubernetes Engine (GKE) o in una macchina virtuale di Azure.
Passaggio preliminare e temporaneo solo per gli utenti di OpenShift
Implementare questo passaggio prima di passare al passaggio successivo. Per distribuire il server PostgreSQL in Red Hat OpenShift in un progetto diverso da quello predefinito, è necessario eseguire i comandi seguenti nel cluster per aggiornare i vincoli di sicurezza. Questo comando concede i privilegi necessari agli account del servizio che eseguiranno il server PostgreSQL. Il vincolo di contesto di sicurezza (SCC) arc-data-scc è quello aggiunto quando è stato distribuito il controller dati di Azure Arc.
oc adm policy add-scc-to-user arc-data-scc -z <server-name> -n <namespace-name>
Nome server è il nome del server che verrà creato durante il passaggio successivo.
Per altre informazioni sui controller di dominio di OpenShift, vedere la documentazione di OpenShift. Passare al passaggio successivo.
Creare un server PostgreSQL abilitato per Azure Arc
Per creare un server PostgreSQL abilitato per Azure Arc nel controller di dati Arc, si userà il comando az postgres server-arc create
a cui verranno passati diversi parametri.
Per informazioni dettagliate su tutti i parametri che è possibile impostare al momento della creazione, esaminare l'output del comando:
az postgres server-arc create --help
I parametri principali da considerare sono:
nome del server da distribuire.
--name
Indicare o-n
seguito da un nome la cui lunghezza non deve superare 11 caratteri.Le classi di archiviazione che si desidera che il server usi. È importante impostare la classe di archiviazione direttamente al momento della distribuzione di un server perché questa impostazione non può essere modificata dopo la distribuzione. È possibile specificare le classi di archiviazione da usare per i dati, i log e i backup. Per impostazione predefinita, se non si indicano le classi di archiviazione, verranno usate le classi di archiviazione del controller di dati.
- Per impostare la classe di archiviazione per i backup, indicare il parametro
--storage-class-backups
seguito dal nome della classe di archiviazione. Se si esclude questo parametro, i backup automatizzati vengono disabilitati - Per impostare la classe di archiviazione per i dati, indicare il parametro
--storage-class-data
seguito dal nome della classe di archiviazione. - Per impostare la classe di archiviazione per i log, indicare il parametro
--storage-class-logs
seguito dal nome della classe di archiviazione.
Importante
Se è necessario modificare la classe di archiviazione dopo la distribuzione, estrarre i dati, eliminare il server, creare un nuovo server e importare i dati.
- Per impostare la classe di archiviazione per i backup, indicare il parametro
Quando si esegue il comando create, verrà richiesto di immettere il nome utente e la password per l'utente amministratore. È possibile ignorare il prompt interattivo impostando le AZDATA_USERNAME
variabili di ambiente di sessione e AZDATA_PASSWORD
prima di eseguire il comando create.
Esempi
Per distribuire un server PostgreSQL denominato postgres01 che usa le stesse classi di archiviazione del controller di dati, eseguire il comando seguente:
az postgres server-arc create -n postgres01 --k8s-namespace <namespace> --use-k8s
Nota
- Se il controller dati è stato distribuito usando
AZDATA_USERNAME
le variabili di ambiente di sessione eAZDATA_PASSWORD
nella stessa sessione del terminale, verranno usati anche i valori perAZDATA_PASSWORD
per distribuire il server PostgreSQL. Se si preferisce usare un'altra password, (1) aggiornare i valori perAZDATA_USERNAME
eAZDATA_PASSWORD
o (2) eliminare le variabili di ambiente eAZDATA_PASSWORD
(3) eliminare iAZDATA_USERNAME
valori per cui immettere un nome utente e una password in modo interattivo quando si crea un server. - La creazione di un server PostgreSQL non registrerà immediatamente le risorse in Azure. Come parte del processo di caricamento dell'inventario delle risorse o dei dati di utilizzo in Azure, le risorse verranno create in Azure e sarà possibile visualizzare le risorse nel portale di Azure.
Elencare i server PostgreSQL distribuiti nel controller dati Arc
Per elencare i server PostgreSQL distribuiti nel controller dati Arc, eseguire il comando seguente:
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
{
"name": "postgres01",
"state": "Ready"
}
Ottenere gli endpoint per connettersi ai server PostgreSQL abilitati per Azure Arc
Per visualizzare gli endpoint per un server PostgreSQL, eseguire il comando seguente:
az postgres server-arc endpoint list -n <server name> --k8s-namespace <namespace> --use-k8s
Ad esempio:
{
"instances": [
{
"endpoints": [
{
"description": "PostgreSQL Instance",
"endpoint": "postgresql://postgres:<replace with password>@123.456.78.912:5432"
},
{
"description": "Log Search Dashboard",
},
{
"description": "Metrics Dashboard",
"endpoint": "https://98.765.432.11:3000/d/postgres-metrics?var-Namespace=arc&var-Name=postgres01"
}
],
"engine": "PostgreSql",
"name": "postgres01"
}
],
"namespace": "arc"
}
È possibile usare l'endpoint dell'istanza di PostgreSQL per connettersi al server PostgreSQL dallo strumento preferito: Azure Data Studio, pgcli psql, pg Amministrazione e così via.
A questo punto, usare la build Insider di Azure Data Studio.
Nota speciale sulle distribuzioni di macchine virtuali di Azure
Quando si usa una macchina virtuale di Azure, l'indirizzo IP dell'endpoint non mostrerà l'indirizzo IP pubblico . Per individuare l'indirizzo IP pubblico, usare il comando seguente:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
È quindi possibile combinare l'indirizzo IP pubblico con la porta per stabilire la connessione.
Potrebbe anche essere necessario esporre la porta del server PostgreSQL tramite il gateway di sicurezza di rete.You may need to expose the port of the PostgreSQL server through the network security gateway (NSG). Per consentire il traffico attraverso il gruppo di sicurezza di rete, impostare una regola. Per impostare una regola, è necessario conoscere il nome del gruppo di sicurezza di rete. Per determinare il gruppo di sicurezza di rete, usare il comando seguente:
az network nsg list -g azurearcvm-rg --query "[].{NSGName:name}" -o table
Dopo aver ottenuto il nome del gruppo di sicurezza di rete, è possibile aggiungere una regola del firewall usando il comando seguente. I valori di esempio qui creano una regola del gruppo di sicurezza di rete per la porta 30655 e consentono la connessione da qualsiasi indirizzo IP di origine.
Avviso
Non è consigliabile impostare una regola per consentire la connessione da qualsiasi indirizzo IP di origine. È possibile bloccare le cose meglio specificando un -source-address-prefixes
valore specifico per l'indirizzo IP client o un intervallo di indirizzi IP che copre gli indirizzi IP del team o dell'organizzazione.
Sostituire il valore del --destination-port-ranges
parametro seguente con il numero di porta ottenuto dal az postgres server-arc list
comando precedente.
az network nsg rule create -n db_port --destination-port-ranges 30655 --source-address-prefixes '*' --nsg-name azurearcvmNSG --priority 500 -g azurearcvm-rg --access Allow --description 'Allow port through for db access' --destination-address-prefixes '*' --direction Inbound --protocol Tcp --source-port-ranges '*'
Stabilire la connessione con Azure Data Studio
Aprire Azure Data Studio e connettersi all'istanza con l'indirizzo IP dell'endpoint esterno e il numero di porta precedente e la password specificata al momento della creazione dell'istanza. Se PostgreSQL non è disponibile nell'elenco a discesa tipo di Connessione ion, è possibile installare l'estensione PostgreSQL cercando PostgreSQL nella scheda estensioni.
Nota
È necessario fare clic sul pulsante [Avanzate] nel pannello di connessione per immettere il numero di porta.
Tenere presente che, se si usa una macchina virtuale di Azure, è necessario l'indirizzo IP pubblico , accessibile tramite il comando seguente:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
Connessione con psql
Per accedere al server PostgreSQL, passare l'endpoint esterno del server PostgreSQL recuperato in precedenza:
È ora possibile connettersi a psql:
psql postgresql://postgres:<EnterYourPassword>@10.0.0.4:30655
Contenuto correlato
Connessione al server PostgreSQL abilitato per Azure Arc: lettura Ottenere endpoint di Connessione ion e stringhe di Connessione ion
* Nei documenti precedenti ignorare le sezioni Accedi al portale di Azure e Crea un Database di Azure per PostgreSQL. Implementare i passaggi rimanenti nella distribuzione di Azure Arc. Queste sezioni sono specifiche del server Database di Azure per PostgreSQL offerto come servizio PaaS nel cloud di Azure, ma le altre parti dei documenti sono direttamente applicabili al server PostgreSQL abilitato per Azure Arc.
Archiviazione concetti relativi alla configurazione e all'archiviazione kubernetes
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per