Connettersi a Cloud SQL per MySQL da Cloud Functions

Scopri come eseguire il deployment di un'app di esempio su Cloud Functions connessa a un'istanza MySQL utilizzando la console Google Cloud e un'applicazione client.

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

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  5. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  6. Abilita le API Cloud necessarie per eseguire un'app Cloud SQL di esempio su Cloud Functions.

    Console

    Fai clic su Abilita API per abilitare le API richieste per questa guida rapida.

    Abilita le API

    Ciò consente le seguenti API:

    • API Cloud Functions
    • API Cloud SQL Admin
    • API Cloud Run Admin
    • API Cloud Build
    • API Artifact Registry
    • API Eventarc
    • API Compute Engine
    • API Service Networking
    • API Cloud Logging

    gcloud

    Fai clic sul pulsante seguente per aprire Cloud Shell, che fornisce l'accesso tramite riga di comando alle risorse Google Cloud direttamente dal browser. Puoi utilizzare Cloud Shell per eseguire i comandi gcloud presentati in questa guida rapida.

    Apri Cloud Shell

    Esegui questo comando gcloud utilizzando Cloud Shell:

    gcloud services enable cloudfunctions.googleapis.com sqladmin.googleapis.com run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com eventarc.googleapis.com compute.googleapis.com servicenetworking.googleapis.com pubsub.googleapis.com logging.googleapis.com

    Questo comando abilita le API seguenti:

    • API Cloud Functions
    • API Cloud SQL Admin
    • API Cloud Run
    • API Cloud Build
    • API Artifact Registry
    • API Eventarc
    • API Compute Engine
    • API Service Networking
    • API Cloud Logging
  7. Aggiungi il ruolo IAM Invoker di Cloud Functions all'utente.

    Aggiungere il ruolo

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. Dal menu di navigazione SQL, seleziona Database.
  4. Fai clic su Crea database.
    1. Nel campo Nome database della finestra di dialogo Crea un database, inserisci quickstart-db. Lascia i valori per il set di caratteri e le regole di confronto.
    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. Dal menu di navigazione SQL, seleziona Utenti.
  4. Fai clic su Aggiungi account utente.
    • Nella pagina Aggiungi un account utente per quickstart-instance, aggiungi le seguenti informazioni:
      • Nel campo Nome utente, inserisci quickstart-user.
      • Nel campo Password, specifica una password per l'utente del database. Annotalo per utilizzarlo in un passaggio successivo di questa guida rapida.
  5. Fai clic su Aggiungi.

gcloud

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

  1. DB_PASS con una password per l'utente del database. Annotalo 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=DB_PASS

I limiti di lunghezza dei nomi utente sono gli stessi per Cloud SQL e per MySQL on-premise: 32 caratteri per MySQL 8.0, 16 caratteri per le versioni precedenti.

Configura un account di servizio Cloud Functions

Configura l'account di servizio utilizzato da Cloud Functions in modo che disponga del ruolo Client Cloud SQL con le autorizzazioni per la connessione a Cloud SQL.

Console

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

    Vai a IAM

  2. Per l'account di servizio denominato Account di servizio predefinito di Compute Engine, fai clic sull'icona a forma di matita.
  3. Fai clic su AGGIUNGI UN ALTRO RUOLO.
  4. Aggiungi il Ruolo denominato Client Cloud SQL.
  5. Fai clic su Salva.

gcloud

  1. Esegui questo comando gcloud per ottenere un elenco degli account di servizio del progetto:
    gcloud iam service-accounts list
  2. Copia l'EMAIL dell'account di servizio Compute Engine.
  3. Esegui questo comando per aggiungere il ruolo Client Cloud SQL all'account di servizio Compute Engine:
    gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
      --role="roles/cloudsql.client"

crea una funzione

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

    Vai a Cloud Functions

  2. Fai clic su Crea funzione.
  3. Per Ambiente, seleziona 2a generazione.
  4. Nel campo Nome funzione, inserisci quickstart-function.
  5. Nella regione Autenticazione, seleziona Consenti chiamate non autenticate.
  6. Tocca Avanti.
  7. Dal menu Runtime, seleziona una delle seguenti lingue:
  8. linguaggio Numero di versione
    Go 1,20
    Java 17
    Node.js 18
    Python 3.10
  9. Nel menu Codice sorgente, verifica che sia selezionato l'Editor incorporato. In questo passaggio, utilizzerai la funzione predefinita fornita nell'editor.

Esegui il deployment della funzione

  1. Nella parte inferiore della pagina Cloud Functions, fai clic su Esegui il deployment. La console Google Cloud ti reindirizza alla pagina dei dettagli della funzione.
  2. Una volta completato il deployment della funzione, fai clic sul link URL per visualizzare un browser web su cui è visualizzato il messaggio Hello, World!.

Esegui il deployment dell'app Cloud SQL di esempio come funzione

Puoi configurare ed eseguire il deployment dell'app di esempio Cloud SQL come funzione in Cloud Functions. Prima utilizza Cloud Shell per configurare e creare l'app di esempio, quindi utilizzerai Cloud Functions per eseguire il deployment dell'app di esempio.

Esistono due modi per configurare, creare ed eseguire il deployment dell'app, a seconda che tu abbia creato un'istanza Cloud SQL per MySQL con IP pubblico o IP privato.

Configura un'app di esempio Cloud SQL

Esegui il deployment dell'app di esempio

I passaggi per eseguire il deployment dell'esempio in Cloud Functions dipendono dal tipo di indirizzo IP assegnato 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.

  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.
  5. Nella console Google Cloud, vai alla pagina Cloud Functions.

    Vai a Cloud Functions

  6. Seleziona la casella di controllo accanto al nome del servizio quickstart-function.
  7. Fai clic su Elimina nella parte superiore della pagina di Cloud Functions.

Passaggi di pulizia facoltativi

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

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

    Vai a IAM

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

Se non utilizzi le API che sono state abilitate in questa guida rapida, puoi disabilitarle.

  • API che sono state abilitate in questa guida rapida:
    • API Compute Engine
    • API Cloud SQL Admin
    • API Cloud Run
    • API Container Registry
    • API Cloud Build
  1. Nella console Google Cloud, vai alla pagina API.

    Vai alle API

  2. Seleziona un'API da disabilitare, quindi fai clic sul pulsante Disabilita API.

Passaggi successivi

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

Scopri di più sulla creazione di utenti MySQL e database per la tua istanza Cloud SQL.

Per ulteriori informazioni sui prezzi, consulta la pagina relativa ai prezzi di Cloud SQL per MySQL.

Scopri di più su:

  • Configurazione dell'istanza Cloud SQL con un indirizzo IP pubblico.
  • Configurazione dell'istanza Cloud SQL con un indirizzo IP privato.

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