Connettiti a Cloud SQL per PostgreSQL da Compute Engine

Scopri come eseguire il deployment di un'app di esempio sull'istanza VM Compute Engine basata su Linux o Windows connessa a un'istanza PostgreSQL utilizzando la console Google Cloud e un'applicazione client.

Se completi tutti i passaggi in modo tempestivo, le risorse create in questa guida rapida in genere costano meno di un dollaro.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Abilita le API Cloud necessarie per eseguire un'app di esempio Cloud SQL su un'istanza VM Compute Engine.

    Console

    Fai clic sul pulsante Abilita API per abilitare l'API richiesta per questo inizio rapido.

    Abilita le API

    Viene abilitata la seguente API:

    • API Cloud SQL Admin

    gcloud

    Installa Google Cloud CLI, che fornisce accesso da riga di comando alle risorse Google Cloud. L'interfaccia a riga di comando gcloud viene utilizzata per eseguire i comandi gcloud CLI presentati in questa guida rapida. Tutti i comandi sono formattati per essere eseguiti in un terminale o in una finestra Powershell.

    Esegui questo comando gcloud:

    gcloud services enable sqladmin.googleapis.com

    Questo comando abilita la seguente API:

    • API Cloud SQL Admin

Configura Cloud SQL

Crea un'istanza Cloud SQL

Crea un database

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Seleziona quickstart-instance.
  3. Apri la scheda Database.
  4. Fai clic su Crea database.
    1. Nella finestra di dialogo Nuovo database, inserisci quickstart_db come nome del database.
    2. Fai clic su Crea.

gcloud

Esegui il comando gcloud sql databases create per creare un database.

gcloud sql databases create quickstart_db --instance=quickstart-instance

Crea un utente

Console

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Seleziona Utenti dal menu di navigazione SQL.
  4. Fai clic su Aggiungi account utente.
  5. Nella pagina Aggiungi un account utente all'istanza instance_name, aggiungi le seguenti informazioni:
    • Nel campo Nome utente, inserisci quickstart-user
    • Nel campo Password, specifica una password per l'utente del database. Prendi nota di questo valore per utilizzarlo in un passaggio successivo di questa guida rapida.
  6. Fai clic su Aggiungi.

gcloud

Prima di eseguire il comando seguente, effettua le seguenti sostituzioni:

  1. PASSWORD con una password per l'utente del database. Prendi nota di questo valore per utilizzarlo in un passaggio successivo di questa guida rapida.

Esegui il comando gcloud sql users create per creare l'utente.

gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD

I limiti di lunghezza del nome utente sono gli stessi per Cloud SQL e per PostgreSQL on-premise.

Configura un account di servizio Compute Engine

Crea e configura un account di servizio Google Cloud con il ruolo Client Cloud SQL con autorizzazioni per connettersi a Cloud SQL. Dopo aver creato un account di servizio, potrebbe essere necessario attendere almeno 60 secondi prima di utilizzarlo.

Console

Crea un account di servizio

  1. Nella console Google Cloud, vai alla pagina Crea account di servizio.
  2. Vai a Crea account di servizio

  3. Seleziona un progetto Google Cloud.
  4. Inserisci quickstart-service-account come nome dell'account di servizio.
  5. (Facoltativo) Inserisci una descrizione dell'account di servizio.
  6. Fai clic su Crea e continua e vai al passaggio successivo.
  7. Scegli il ruolo Client Cloud SQL da concedere all'account di servizio nel progetto.
  8. Fai clic su Aggiungi un altro ruolo e scegli il ruolo Visualizzatore oggetti Storage da concedere all'account di servizio nel progetto.
  9. Fai clic su Continua.
  10. Fai clic su Fine per completare la creazione dell'account di servizio.

gcloud

Crea un account di servizio

  1. Per creare l'account di servizio, esegui il comando gcloud iam service-accounts create:
  2. gcloud iam service-accounts create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"

    Sostituisci il seguente valore:

    • DESCRIPTION: una descrizione facoltativa dell'account di servizio
  3. Per concedere al tuo account di servizio il ruolo Client Cloud SQL e il ruolo Visualizzatore oggetti Storage nel progetto, esegui il comando gcloud projects add-iam-policy-binding. Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud:
    gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:quickstart-service-account@PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudsql.client" --role="roles/storage.objectViewer"

Crea un'istanza VM di Compute Engine

Crea un'istanza VM Compute Engine per ospitare un'app web di esempio che si connette a Cloud SQL.

Accedere all'istanza VM di Compute Engine

Configurare l'ambiente di sviluppo per il linguaggio di programmazione

Configura l'ambiente di sviluppo dell'istanza VM di Compute Engine per il linguaggio di programmazione che preferisci.

Installa Git

Installa Git, un sistema di controllo della versione open source, sull'istanza VM Compute Engine.

Clona l'app di esempio

Clona un'app di esempio nell'istanza VM di Compute Engine utilizzando il comando git clone.

Vai

Nell'istanza VM Compute Engine, apri una nuova finestra del terminale o di Powershell. Esegui i comandi seguenti per clonare l'app di esempio Go e cambiare la directory in quella contenente l'app di esempio.

  1. Clona l'app di esempio.
    git clone https://github.com/GoogleCloudPlatform/golang-samples
  2. Cambia directory in quella contenente l'app di esempio.
    cd golang-samples/cloudsql/postgres/database-sql

Java

Nell'istanza VM Compute Engine, apri una nuova finestra del terminale o di Powershell. Esegui i comandi seguenti per clonare l'app di esempio Java e passare alla directory contenente l'app di esempio.

  1. Clona l'app di esempio.
    git clone https://github.com/GoogleCloudPlatform/java-docs-samples
  2. Cambia directory in quella contenente l'app di esempio.
    cd java-docs-samples/cloud-sql/postgres/servlet

Node.js

Nell'istanza VM Compute Engine, apri una nuova finestra del terminale o di Powershell. Esegui i comandi seguenti per clonare l'app di esempio Node.js e cambiare la directory in quella contenente l'app di esempio.

  1. Clona l'app di esempio.
    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
  2. Cambia directory in quella contenente l'app di esempio.
    cd nodejs-docs-samples/cloud-sql/postgres/knex

Python

Nell'istanza VM Compute Engine, apri una nuova finestra del terminale o di Powershell. Esegui i comandi seguenti per clonare l'app di esempio Python e passare alla directory contenente l'app di esempio.

  1. Clona l'app di esempio.
    git clone https://github.com/GoogleCloudPlatform/python-docs-samples
  2. Cambia directory in quella contenente l'app di esempio.
    cd python-docs-samples/cloud-sql/postgres/sqlalchemy

Configurare ed eseguire un'app di esempio Cloud SQL

Con un'istanza Cloud SQL, un database e un account di servizio con autorizzazioni client, ora puoi configurare un'applicazione di esempio in esecuzione sull'istanza VM Compute Engine in modo che si connetta all'istanza Cloud SQL.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

Eliminare l'istanza Cloud SQL

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Seleziona l'istanza quickstart-instance per aprire la pagina Dettagli istanza.
  3. Nella barra delle icone nella parte superiore della pagina, fai clic su Elimina.
  4. Nella finestra di dialogo Elimina istanza, digita quickstart-instance e fai clic su Elimina per eliminare l'istanza.

Eliminare un'istanza VM di Compute Engine

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Seleziona l'istanza quickstart-vm-instance per aprire la pagina Dettagli istanza.
  3. Nella barra delle icone nella parte superiore della pagina, fai clic su Elimina.
  4. Fai clic su Elimina per eliminare l'istanza.

Passaggi facoltativi per la pulizia

Se non utilizzi il ruolo Client Cloud SQL che hai assegnato all'account di servizioCompute Engine default, puoi rimuoverlo.

  1. Nella console Google Cloud, vai alla pagina IAM.

    Vai a IAM

  2. Fai clic sull'icona di modifica (a forma di matita) per l'account IAM denominato Account di servizio predefinito Compute Engine.
  3. Elimina il ruolo Client Cloud SQL.
  4. Fai clic su Salva.

Se non utilizzi l'API attivata nell'ambito di questa guida rapida, puoi disabilitarla.

  • API abilitata in questa guida rapida:
    • API Cloud SQL Admin
  1. Nella console Google Cloud, vai alla pagina API.

    Vai alle API

  2. Seleziona l'API che vuoi disattivare e fai clic sul pulsante Disattiva API.

Passaggi successivi

In base alle tue esigenze, puoi scoprire di più sulla creazione di istanze Cloud SQL.

Puoi anche scoprire come creare utenti e database PostgreSQL per la tua istanza Cloud SQL.

Per ulteriori informazioni sui prezzi, consulta la pagina Prezzi di Cloud SQL per PostgreSQL.

Scopri di più su:

  • Configurare l'istanza Cloud SQL con un indirizzo IP pubblico.
  • Configurare l'istanza Cloud SQL con un indirizzo IP privato.

Inoltre, puoi scoprire come connetterti a un'istanza Cloud SQL da altre applicazioni Google Cloud: