Questa pagina descrive come connettere un client sqlcmd all'istanza Cloud SQL da una macchina client che esegue Linux o un'istanza Linux di Compute Engine utilizzando l'immagine Docker del Cloud SQL Auth Proxy.
Prima di iniziare
Devi avere:
- Installato gcloud CLI. Scopri di più.
- Autorizzato gcloud CLI. Scopri di più.
- Impostato il progetto predefinito per gcloud CLI. Scopri di più.
- Configurato un utente del database sull'istanza Cloud SQL. Scopri di più.
Connettere un client sqlcmd utilizzando l'immagine Docker del proxy di autenticazione Cloud SQL
Per connetterti utilizzando l'immagine Docker del proxy di autenticazione Cloud SQL:
Abilita l'API Cloud SQL Admin, se non è già abilitata.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.- Se utilizzi un'istanza Compute Engine, preparala:
-
Visualizza le proprietà dell'istanza Compute Engine:
gcloud compute instances describe [GCE_INSTANCE_NAME]
- Verifica gli ambiti abilitati sull'istanza.
L'autenticazione tramite gli ambiti richiede entrambi gli ambiti seguenti:
https://www.googleapis.com/auth/sqlservice.adminhttps://www.googleapis.com/auth/devstorage.read_write
In alternativa, l'ambito
https://www.googleapis.com/auth/cloud-platformabilita tutte le API Google Cloud Platform.Se l'istanza Compute Engine non ha gli ambiti corretti, puoi aggiornarla per includerli. Per saperne di più, consulta la documentazione di Compute Engine.
- Apri una connessione terminale all'istanza seguendo le istruzioni riportate in Connessione alle istanze Linux.
-
Visualizza le proprietà dell'istanza Compute Engine:
-
Installa il client sqlcmd sull'istanza Compute Engine o sulla macchina client
machine, se non è già installato.
Debian/Ubuntu
Per Debian/Ubuntu, installa gli strumenti a riga di comando di SQL Server applicabili.
CentOS/RHEL
Per CentOS/RHEL, installa gli strumenti a riga di comando di SQL Server applicabili.
openSUSE
Per openSUSE, installa gli strumenti a riga di comando di SQL Server applicabili.
Altre piattaforme
Consulta la pagina di destinazione per l'installazione di SQL Server e la pagina di download di SQL Server.
-
Se necessario, installa il client Docker:
curl https://get.docker.com | sh sudo usermod -aG docker $USER
Se utilizzi un'istanza Compute Engine ottimizzata per i container, il client Docker è già installato.
-
Installa l'immagine Docker del Cloud SQL Auth Proxy da
Google Container Registry.
docker pull gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.26.2
- Se esegui l'immagine Docker del proxy di autenticazione Cloud SQL su una macchina locale (non un'
istanza Compute Engine) o se l'istanza Compute Engine non ha gli
ambiti corretti, crea un account di servizio Google Cloud Platform.
- Nella Google Cloud console, vai alla pagina Service account.
- Seleziona il progetto che contiene l'istanza Cloud SQL.
- Fai clic su Crea service account.
- Nel campo Nome service account, inserisci un nome descrittivo per il account di servizio.
- Modifica l'ID service account con un valore univoco e riconoscibile, quindi fai clic su Crea e continua.
-
Fai clic sul campo Seleziona un ruolo e seleziona uno dei seguenti ruoli:
- Cloud SQL > Client Cloud SQL
- Cloud SQL > Editor Cloud SQL
- Cloud SQL > Amministratore Cloud SQL
- Fai clic su Fine per completare la creazione del account di servizio.
- Fai clic sul menu Azioni per il nuovo account di servizio, quindi seleziona Gestisci chiavi.
- Fai clic sul menu a discesa Aggiungi chiave , quindi su Crea nuova chiave.
-
Verifica che il tipo di chiave sia JSON, quindi fai clic su Crea.
Il file della chiave privata viene scaricato sulla tua macchina. Puoi spostarlo in un'altra posizione. Proteggi il file della chiave.
Quando avvii il proxy di autenticazione Cloud SQL, fornisci il percorso del file della chiave come "PATH_TO_KEY_FILE".
- Vai alla pagina Istanze Cloud SQL nella Google Cloud console.
-
Seleziona l'istanza per aprire la pagina Dettagli istanza e copia il Nome connessione istanza.
Ad esempio:
myproject:us-central1:myinstance. -
Avvia il proxy di autenticazione Cloud SQL.
Socket TCP
docker run -d
-v PATH_TO_KEY_FILE:/path/to/service-account-key.json
-p 127.0.0.1:1433:1433
gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.26.2
--address 0.0.0.0 --port 1433
--credentials-file /path/to/service-account-key.json INSTANCE_CONNECTION_NAMESe utilizzi le credenziali fornite dall'istanza Compute Engine, non includere il parametro
--credentials-filee la-v PATH_TO_KEY_FILE:/path/to/service-account-key.jsonriga.Specifica sempre il prefisso
127.0.0.1in-pin modo che il proxy di autenticazione Cloud SQL non sia esposto all'esterno dell'host locale. Il--address 0.0.0.0flag è necessario per rendere la porta accessibile dall'esterno del container Docker. - Avvia il client:
La stringa di connessione che utilizzi dipende dal fatto che tu abbia avviato il Cloud SQL Auth Proxy utilizzando un socket TCP o Docker.
Socket TCP
- Avvia il client sqlcmd:
sqlcmd -S tcp:127.0.0.1,1433 -U USERNAME -P PASSWORD
Quando ti connetti utilizzando i socket TCP, il proxy di autenticazione Cloud SQL è accessibile tramite
127.0.0.1. - Se richiesto, inserisci la password.
- Viene visualizzato il prompt sqlcmd.
- Avvia il client sqlcmd:
Mantenere aggiornata l'immagine Docker del Cloud SQL Auth Proxy
L'immagine Docker del proxy di autenticazione Cloud SQL si basa su una versione specifica del proxy di autenticazione Cloud SQL. Quando diventa disponibile una nuova versione del Cloud SQL Auth Proxy, esegui il pull della nuova versione dell'immagine Docker del Cloud SQL Auth Proxy per mantenere aggiornato il tuo ambiente. Puoi visualizzare la versione attuale del Cloud SQL Auth Proxy controllando la pagina delle release di GitHub del Cloud SQL Auth Proxy.
Passaggi successivi
- Scopri di più sul Cloud SQL Auth Proxy.
- Ricevi assistenza per la risoluzione dei problemi di connessione del proxy di autenticazione Cloud SQL.
- Crea utenti e database.
- Scopri le opzioni per connetterti all'istanza dalla tua applicazione.
- Scopri di più su Docker.
- Scopri di più su Google Container Registry.
- Scopri le opzioni di assistenza.