Questa pagina descrive come connettere un client sqlcmd all'istanza Cloud SQL da una macchina client che esegue un'istanza Linux o Compute Engine Linux, utilizzando l'immagine Docker proxy di autenticazione Cloud SQL.
Prima di iniziare
Devi avere:
- Aver installato gcloud CLI. Scopri di più.
- Hai autorizzato gcloud CLI. Ulteriori informazioni
- Imposta il progetto predefinito per gcloud CLI. Ulteriori informazioni
- Aver configurato un utente del database sull'istanza Cloud SQL. Ulteriori informazioni
Connetti 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:
-
Attiva Cloud SQL Admin API.
- Se utilizzi un'istanza Compute Engine, prepara l'istanza:
-
Visualizza le proprietà dell'istanza Compute Engine:
gcloud compute instances describe [GCE_INSTANCE_NAME]
- Verifica gli ambiti abilitati nell'istanza.
L'autenticazione mediante ambiti richiede entrambi gli ambiti seguenti:
https://www.googleapis.com/auth/sqlservice.admin
https://www.googleapis.com/auth/devstorage.read_write
In alternativa, l'ambito
https://www.googleapis.com/auth/cloud-platform
abilita tutte le API della piattaforma Google Cloud.Se la tua istanza Compute Engine non dispone degli ambiti corretti, puoi aggiornare l'istanza per includerli. Per saperne di più, consulta la documentazione di Compute Engine.
- Apri una connessione del terminale all'istanza, seguendo le istruzioni in Connessione alle istanze Linux.
-
Visualizza le proprietà dell'istanza Compute Engine:
-
Installa il client sqlcmd sull'istanza o sulla macchina client di Compute Engine, 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 applicabili di SQL Server.
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, su quest'ultima è già installato il client Docker.
-
Installa l'immagine Docker del proxy di autenticazione Cloud SQL da Google Container Registry.
docker pull gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.11.4
- Se esegui l'immagine Docker proxy di autenticazione Cloud SQL su una macchina locale (non un'istanza Compute Engine) o se la tua istanza Compute Engine non dispone degli ambiti corretti, crea un account di servizio Google Cloud Platform.
- Nella console Google Cloud, vai alla pagina Account di servizio.
- Seleziona il progetto che contiene l'istanza Cloud SQL.
- Fai clic su Crea account di servizio.
- Nel campo Nome account di servizio, inserisci un nome descrittivo per l'account di servizio.
- Modifica l'ID account di servizio impostando un valore univoco e riconoscibile, quindi fai clic su Crea e continua.
-
Fai clic sul campo Seleziona un ruolo e scegli 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 dell'account di servizio.
- Fai clic sul menu Azioni per il nuovo account di servizio e seleziona Gestisci chiavi.
- Fai clic sul menu a discesa Aggiungi chiave e quindi su Crea nuova chiave.
-
Verifica che il tipo di chiave sia JSON e fai clic su Crea.
Il file della chiave privata viene scaricato sul computer. Puoi spostarlo in un'altra posizione. Tieni al sicuro il file della chiave.
Il percorso del file di chiave è "PATH_TO_KEY_FILE" all'avvio del proxy di autenticazione Cloud SQL.
- Vai alla pagina Istanze Cloud SQL nella console Google Cloud.
-
Seleziona l'istanza per aprire la relativa pagina Dettagli istanza e copia il Nome connessione istanza.
Ad esempio:
myproject:us-central1:myinstance
. -
Avviare il proxy di autenticazione Cloud SQL.
A seconda del linguaggio e dell'ambiente, puoi avviare il proxy di autenticazione Cloud SQL utilizzando socket TCP o socket Unix. I socket Unix non sono supportati per le applicazioni scritte nel linguaggio di programmazione Java o per l'ambiente Windows.
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.11.4 \ --credentials-file /path/to/service-account-key.json <INSTANCE_CONNECTION_NAME>
Se utilizzi le credenziali fornite dalla tua istanza Compute Engine, non includere il parametro
--credentials-file
e la riga-v <PATH_TO_KEY_FILE>:/path/to/service-account-key.json
.Specifica sempre il prefisso
127.0.0.1
in -p in modo che il proxy di autenticazione Cloud SQL non sia esposto all'esterno dell'host locale. È richiesto "0.0.0.0" nel parametro instances per rendere la porta accessibile dall'esterno del container Docker.Socket Unix
docker run -d -v /cloudsql:/cloudsql \ -v <PATH_TO_KEY_FILE>:/path/to/service-account-key.json \ gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.11.4 // --unix-socket=/cloudsql \ --credentials-file /path/to/service-account-key.json <INSTANCE_CONNECTION_NAME>
Se utilizzi le credenziali fornite dalla tua istanza Compute Engine, non includere il parametro
--credentials-file
e la riga-v <PATH_TO_KEY_FILE>:/path/to/service-account-key.json
.Se utilizzi un'immagine ottimizzata per i container, usa una directory scrivibile al posto di
/cloudsql
, ad esempio:-v /mnt/stateful_partition/cloudsql:/cloudsql
Puoi specificare più istanze, separate da virgole. Puoi anche utilizzare i metadati di Compute Engine per determinare in modo dinamico le istanze a cui connetterti. Scopri di più sui parametri del proxy.
- Avvia il client:
La stringa di connessione che utilizzi dipende dal fatto che il proxy di autenticazione Cloud SQL sia stato avviato tramite un socket TCP o un Docker.
socket TCP
- Avvia il client sqlcmd:
sqlcmd -S tcp:127.0.0.1,1433 -U USERNAME -P PASSWORD
Quando ti connetti utilizzando 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:
Mantieni aggiornata l'immagine Docker del proxy di autenticazione Cloud SQL
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 proxy di autenticazione Cloud SQL, esegui il pull della nuova versione dell'immagine Docker del proxy di autenticazione Cloud SQL per mantenere aggiornato l'ambiente. Per visualizzare la versione attuale di Cloud SQL Auth Proxy, consulta la pagina delle release di GitHub di Cloud SQL Auth Proxy. Le release future del proxy verranno indicate anche nel forum di annuncio di Cloud SQL di Google Gruppi.
Passaggi successivi
- Scopri di più sul proxy di autenticazione Cloud SQL.
- Ricevi assistenza per la risoluzione dei problemi di connessione per il proxy di autenticazione Cloud SQL.
- Crea utenti e database.
- Scopri le opzioni per la connessione all'istanza dall'applicazione.
- Scopri di più su Docker.
- Scopri di più su Google Container Registry.
- Scopri le opzioni di assistenza.