Configurazione dell'IP pubblico

Questa pagina descrive come configurare la connettività con IP pubblico per un di Cloud SQL.

Introduzione

Puoi configurare l'istanza Cloud SQL in modo che abbia un indirizzo IPv4 e per accettare connessioni da indirizzi IP specifici o da un intervallo indirizzi IP mediante l'aggiunta di indirizzi autorizzati all'istanza.

Non puoi specificare una rete privata (ad esempio, 10.x.x.x) come in ogni rete.

Indirizzi IP pubblici per le istanze SQL Server:

  • IPv6: le istanze non supportano IPv6.
  • IPv4: alle istanze viene assegnato automaticamente un indirizzo IPv4 statico. C'è un piccolo addebito per l'indirizzo IP ogni volta che l'istanza è disattivata (disattivata).

Per ricevere assistenza sulla connessione di un client di amministrazione al tuo istanza su una connessione IP, vedi Connettere il client sqlcmd utilizzando gli indirizzi IP.

Se configuri l'istanza in modo da accettare connessioni utilizzando il suo indirizzo IP pubblico, configuralo anche per l'utilizzo di SSL per mantenere i tuoi dati al sicuro. Per ulteriori informazioni consulta l'articolo Configurare SSL per le istanze.

Per configurare l'istanza con un indirizzo IP non esposto al a internet pubblico, vedi Configurazione della connettività IP privato.

Abilita l'IP pubblico e aggiungi un indirizzo o un intervallo di indirizzi autorizzati

Quando abiliti l'IP pubblico per la tua istanza, Cloud SQL configura con un indirizzo IPv4 pubblico e statico. Dopo aver abilitato l'IP pubblico, è necessario impostare l'autorizzazione per le connessioni ai database. Consulta le Opzioni di autorizzazione per ulteriori informazioni.

Per abilitare l'IP pubblico e aggiungere un indirizzo autorizzato:

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 Connections (Connessioni).
  4. Fai clic sulla scheda Networking.
  5. Seleziona la casella di controllo IP pubblico.
  6. Fai clic su Aggiungi rete.
  7. Facoltativamente, nel campo Nome, inserisci un nome per questa rete.
  8. Nel campo Rete, inserisci l'indirizzo IP o l'intervallo di indirizzi da per le quali vuoi consentire le connessioni.

    Utilizza le funzionalità di Notazione CIDR.

  9. Fai clic su Fine.
  10. Fai clic su Salva.

gcloud

  1. Se non lo hai già fatto, aggiungi un indirizzo IPv4 all'istanza:
    gcloud sql instances patch INSTANCE_NAME\
    --assign-ip
    
  2. Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:
    gcloud sql instances describe INSTANCE_NAME
    

    Cerca le voci authorizedNetwork in ipConfiguration prendi nota degli indirizzi autorizzati che vuoi conservare.

  3. Aggiorna l'elenco di reti autorizzate, inclusi tutti gli indirizzi che vuoi includere.
    gcloud sql instances patch INSTANCE_NAME \
    --authorized-networks=IP_ADDR1,IP_ADDR2...
    

    Utilizza le funzionalità di Notazione CIDR.

  4. Conferma le modifiche:
    gcloud sql instances describe INSTANCE_NAME
    

REST v1

  1. Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Aggiorna l'istanza, inclusi tutti gli indirizzi che vuoi impostare sull'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • network_range_1 Un indirizzo o un intervallo IP autorizzato
    • network_range_2 Un altro indirizzo o intervallo IP autorizzato

    Metodo HTTP e URL:

    PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

    Corpo JSON della richiesta:

    {
      "settings":
      {
        "ipConfiguration":
        {
          "authorizedNetworks":
            [{"value": "network_range_1"}, {"value": "network_range_2"}]
        }
      }
    }
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Utilizza le funzionalità di Notazione CIDR.

  3. Conferma le modifiche:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • ip-address1: il formato CIDR del primo indirizzo IP
    • ip-address-name1: il nome del primo indirizzo IP
    • ip-address2: il formato CIDR del secondo indirizzo IP
    • ip-address-name2: il nome del secondo indirizzo IP
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Terraform

Per abilitare l'IP pubblico e aggiungere un indirizzo o un intervallo di indirizzi autorizzato, utilizza una risorsa Terraform.

resource "google_sql_database_instance" "sqlserver_public_ip_instance_name" {
  name             = "sqlserver-public-ip-instance-name"
  region           = "europe-west4"
  database_version = "SQLSERVER_2019_ENTERPRISE"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    tier              = "db-custom-2-7680"
    availability_type = "ZONAL"
    ip_configuration {
      # Add optional authorized networks
      # Update to match the customer's networks
      authorized_networks {
        name  = "test-net-3"
        value = "203.0.113.0/24"
      }
      # Enable public IP
      ipv4_enabled = true
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

Applica le modifiche

Per applicare la configurazione Terraform a un progetto Google Cloud, completa i passaggi nella le sezioni seguenti.

Prepara Cloud Shell

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google Cloud predefinito dove vuoi applicare le configurazioni Terraform.

    Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Le variabili di ambiente vengono sostituite se imposti valori espliciti in Terraform di configurazione del deployment.

Prepara la directory

Ogni file di configurazione Terraform deve avere una directory (inoltre chiamato modulo principale).

  1. In Cloud Shell, crea una directory e un nuovo all'interno di quella directory. Il nome del file deve contenere .tf, ad esempio main.tf. In questo tutorial, il file è denominato main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.

    Copia il codice campione nel nuovo oggetto main.tf.

    Facoltativamente, copia il codice da GitHub. Opzione consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.

  3. Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
  4. Salva le modifiche.
  5. Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
    terraform init

    Facoltativamente, per utilizzare la versione più recente del provider Google, includi -upgrade :

    terraform init -upgrade

Applica le modifiche

  1. Rivedi la configurazione e verifica che le risorse che Terraform creerà o che l'aggiornamento soddisfi le tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

  2. Applica la configurazione Terraform eseguendo questo comando e inserendo yes alla richiesta:
    terraform apply

    Attendi finché Terraform non visualizzi il messaggio "Applicazione completata!". .

  3. Apri il progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nella UI per assicurarti create o aggiornate da Terraform.

Elimina le modifiche

Per eliminare le modifiche:

  1. Per disabilitare la protezione dall'eliminazione, nel file di configurazione Terraform imposta la classe Argomento deletion_protection per false.
    deletion_protection =  "false"
  2. Applica la configurazione Terraform aggiornata eseguendo il comando seguente inserendo yes alla richiesta:
    terraform apply
  1. Rimuovi le risorse applicate in precedenza con la tua configurazione Terraform eseguendo questo comando e inserendo yes al prompt:

    terraform destroy

REST v1beta4

  1. Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Aggiorna l'istanza, inclusi tutti gli indirizzi che vuoi impostare sull'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • network_range_1 Un indirizzo o un intervallo IP autorizzato
    • network_range_2 Un altro indirizzo o intervallo IP autorizzato

    Metodo HTTP e URL:

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    Corpo JSON della richiesta:

    {
      "settings":
      {
        "ipConfiguration":
        {
          "authorizedNetworks":
            [{"value": "network_range_1"}, {"value": "network_range_2"}]
        }
      }
    }
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    Utilizza le funzionalità di Notazione CIDR.

  3. Conferma le modifiche:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • ip-address1: il formato CIDR del primo indirizzo IP
    • ip-address-name1: il nome del primo indirizzo IP
    • ip-address2: il formato CIDR del secondo indirizzo IP
    • ip-address-name2: il nome del secondo indirizzo IP
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Rimuovere un indirizzo o un intervallo di indirizzi autorizzati

Per rimuovere un indirizzo autorizzato:

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 Connections (Connessioni) dal menu di navigazione SQL.
  4. Fai clic sull'icona Elimina Elimina. relativa all'indirizzo da eliminare.
  5. Fai clic su Salva per aggiornare l'istanza.

gcloud

  1. Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:
    gcloud sql instances describe INSTANCE_NAME
    

    Cerca le voci authorizedNetwork in ipConfiguration prendi nota degli indirizzi autorizzati che vuoi conservare.

  2. Aggiorna l'elenco di reti autorizzate, eliminando gli indirizzi da rimuovere.
    gcloud sql instances patch INSTANCE_NAME \
    --authorized-networks=IP_ADDR1,IP_ADDR2...
    
  3. Conferma le modifiche:
    gcloud sql instances describe INSTANCE_NAME
    

REST v1

  1. Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • ip-address1: il formato CIDR del primo indirizzo IP
    • ip-address-name1: il nome del primo indirizzo IP
    • ip-address2: il formato CIDR del secondo indirizzo IP
    • ip-address-name2: il nome del secondo indirizzo IP
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Aggiorna l'istanza, includendo tutti gli indirizzi che vuoi conservare abbandonare gli indirizzi che vuoi rimuovere:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • network_range_1 L'indirizzo IP o l'intervallo di rete autorizzato da rimuovere

    Metodo HTTP e URL:

    PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

    Corpo JSON della richiesta:

    {
      "settings":
      {
        "ipConfiguration":
        {
          "authorizedNetworks":
            [{"value": "network_range_1"}]
        }
      }
    }
    
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Conferma le modifiche:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • ip-address: il formato CIDR dell'indirizzo IP
    • ip-address-name: il nome dell'indirizzo IP
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

  1. Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • ip-address1: il formato CIDR del primo indirizzo IP
    • ip-address-name1: il nome del primo indirizzo IP
    • ip-address2: il formato CIDR del secondo indirizzo IP
    • ip-address-name2: il nome del secondo indirizzo IP
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Aggiorna l'istanza, includendo tutti gli indirizzi che vuoi conservare abbandonare gli indirizzi che vuoi rimuovere:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • network_range_1 L'indirizzo IP o l'intervallo di rete autorizzato da rimuovere

    Metodo HTTP e URL:

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    Corpo JSON della richiesta:

    {
      "settings":
      {
        "ipConfiguration":
        {
          "authorizedNetworks":
            [{"value": "network_range_1"}]
        }
      }
    }
    
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Conferma le modifiche:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • ip-address: il formato CIDR dell'indirizzo IP
    • ip-address-name: il nome dell'indirizzo IP
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Configura un'istanza per rifiutare tutte le connessioni con IP pubblico

Per configurare un'istanza in modo da rifiutare tutte le connessioni con IP pubblico:

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 Connections (Connessioni) dal menu di navigazione SQL.
  4. Fai clic sull'icona Elimina Elimina. per tutti gli indirizzi autorizzati.
  5. Fai clic su Salva per aggiornare l'istanza.

gcloud

  1. Cancella l'elenco di indirizzi autorizzati:
    gcloud sql instances patch INSTANCE_NAME \
    --clear-authorized-networks
    
  2. Conferma le modifiche:
    gcloud sql instances describe INSTANCE_NAME
    

REST v1

  1. Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • ip-address1: il formato CIDR del primo indirizzo IP
    • ip-address-name1: il nome del primo indirizzo IP
    • ip-address2: il formato CIDR del secondo indirizzo IP
    • ip-address-name2: il nome del secondo indirizzo IP
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Aggiorna l'istanza con un elenco di indirizzi vuoto:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

    Corpo JSON della richiesta:

    {
      "settings":
      {
        "ipConfiguration":
        {
          "authorizedNetworks": []
        }
      }
    }
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Conferma le modifiche:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

  1. Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • ip-address1: il formato CIDR del primo indirizzo IP
    • ip-address-name1: il nome del primo indirizzo IP
    • ip-address2: il formato CIDR del secondo indirizzo IP
    • ip-address-name2: il nome del secondo indirizzo IP
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Aggiorna l'istanza con un elenco di indirizzi vuoto:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza

    Metodo HTTP e URL:

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    Corpo JSON della richiesta:

    {
      "settings":
      {
        "ipConfiguration":
        {
          "authorizedNetworks": []
        }
      }
    }
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Conferma le modifiche:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Disabilita l'IP pubblico

Puoi disabilitare l'IP pubblico, ma solo se l'istanza è anche configurata per l'utilizzo dell'IP privato. Per abilitare l'IP privato, vedi Configurare un'istanza esistente per l'utilizzo dell'IP privato.

Per disabilitare l'IP pubblico:

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 Connections (Connessioni) dal menu di navigazione SQL.
  4. Deseleziona la casella di controllo IP pubblico.
  5. Fai clic su Salva per aggiornare l'istanza.

gcloud

  1. Aggiorna l'istanza:
    gcloud sql instances patch INSTANCE_NAME \
    --no-assign-ip
    
  2. Conferma le modifiche:
    gcloud sql instances describe INSTANCE_NAME
    

REST v1

  1. Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • ip-address1: il formato CIDR del primo indirizzo IP
    • ip-address-name1: il nome del primo indirizzo IP
    • ip-address2: il formato CIDR del secondo indirizzo IP
    • ip-address-name2: il nome del secondo indirizzo IP
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Aggiorna l'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: L'ID del progetto
    • INSTANCE_ID: L'ID dell'istanza
    • VPC_NETWORK_NAME: Specifica il nome della rete Virtual Private Cloud (VPC) che che vuoi utilizzare per questa istanza. L'accesso privato ai servizi deve essere già configurato per in ogni rete.
    • RANGE_NAME: Facoltativo. Se specificato, imposta il nome di un intervallo per cui un intervallo IP i dati strutturati vengono allocati. Il nome dell'intervallo deve essere conforme a RFC-1035 e contenere da 1 a 63 caratteri.
    • AUTHORIZED_NETWORKS: Per le connessioni con IP pubblico, specifica le connessioni provenienti dalle persone autorizzate reti che possono connettersi all'istanza.

    Per il parametro ipv4Enabled, imposta il valore su true se utilizzi un indirizzo IP pubblico per la tua istanza o false se l'istanza ha un l'indirizzo IP privato.

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

    Corpo JSON della richiesta:

    {
      "name": "INSTANCE_ID",
      "region": "region",
      "databaseVersion": "database-version",
      "settings": {
        "tier": "machine-type",
        "ipConfiguration": {
          "ipv4Enabled": false,
          "privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME",
          "allocatedIpRange": "RANGE_NAME"
          "authorizedNetworks": [AUTHORIZED_NETWORKS],
          
        }
      }
    }
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Conferma le modifiche:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

REST v1beta4

  1. Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • ip-address1: il formato CIDR del primo indirizzo IP
    • ip-address-name1: il nome del primo indirizzo IP
    • ip-address2: il formato CIDR del secondo indirizzo IP
    • ip-address-name2: il nome del secondo indirizzo IP
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  2. Aggiorna l'istanza:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • PROJECT_ID: L'ID del progetto
    • INSTANCE_ID: L'ID dell'istanza
    • VPC_NETWORK_NAME: Specifica il nome della rete Virtual Private Cloud (VPC) che che vuoi utilizzare per questa istanza. L'accesso privato ai servizi deve essere già configurato per in ogni rete.
    • RANGE_NAME: Facoltativo. Se specificato, imposta il nome di un intervallo per cui un intervallo IP i dati strutturati vengono allocati. Il nome dell'intervallo deve essere conforme a RFC-1035 e contenere da 1 a 63 caratteri.
    • AUTHORIZED_NETWORKS: Per le connessioni con IP pubblico, specifica le connessioni provenienti dalle persone autorizzate reti che possono connettersi all'istanza.

    Per il parametro ipv4Enabled, imposta il valore su true se utilizzi un indirizzo IP pubblico per la tua istanza o false se l'istanza ha un l'indirizzo IP privato.

    Metodo HTTP e URL:

    POST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances

    Corpo JSON della richiesta:

    {
      "name": "INSTANCE_ID",
      "region": "region",
      "databaseVersion": "database-version",
      "settings": {
        "tier": "machine-type",
        "ipConfiguration": {
          "ipv4Enabled": false,
          "privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME",
          "allocatedIpRange": "RANGE_NAME"
          "authorizedNetworks": [AUTHORIZED_NETWORKS],
          
        }
      }
    }
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

  3. Conferma le modifiche:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • project-id: l'ID progetto
    • instance-id: l'ID istanza
    • machine-type Il tipo di macchina dell'istanza
    • zone La zona dell'istanza

    Metodo HTTP e URL:

    GET  https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

Risoluzione dei problemi

Problema Risoluzione dei problemi
Aborted connection. Il problema potrebbe essere:
  • Instabilità Networking.
  • Nessuna risposta ai comandi keep-alive TCP (client o server non reattivo, probabilmente sovraccarico)
  • La durata della connessione del motore del database è stata superata e il server termina la connessione.

Le applicazioni devono tollerare gli errori di rete e seguire best practice ad esempio il pool di connessioni e nuovi tentativi. La maggior parte dei pooler di connessioni rileva ove possibile. In caso contrario, l'applicazione deve riprovare puoi fallire con eleganza.

Per riprovare la connessione, consigliamo i seguenti metodi:

  1. Esponenziale il backoff. Aumenta in modo esponenziale l'intervallo di tempo tra un nuovo tentativo e l'altro.
  2. Aggiungi anche un backoff casuale.

La combinazione di questi metodi consente di ridurre la limitazione.

Passaggi successivi