Creare istanze

Questa pagina descrive come creare un'istanza Cloud SQL per MySQL.

Per informazioni dettagliate su tutte le impostazioni delle istanze, vedi Impostazioni delle istanze.

Un'istanza appena creata ha quattro database di sistema:

  • information_schema: fornisce l'accesso ai metadati del database, informazioni sul server MySQL.
  • mysql: lo schema del sistema. Contiene tabelle che archiviano le informazioni richieste dal server MySQL durante l'esecuzione.
  • performance_schema: una funzionalità per il monitoraggio dell'esecuzione del server MySQL a un basso livello.
  • sys: contiene un insieme di oggetti che aiutano gli amministratori di database e gli sviluppatori a interpretare i dati raccolti dallo schema delle prestazioni.

Il numero massimo di istanze che puoi avere in un singolo progetto dipende dall'architettura di rete di queste istanze:

  • Nuova architettura di rete SQL: puoi avere fino a 1000 istanze per progetto.
  • Architettura di rete SQL precedente: puoi avere fino a 100 istanze per progetto.
  • Utilizzo di entrambe le architetture: il limite sarà compreso tra 100 e 1000, a seconda della distribuzione delle istanze nelle due architetture.

Invia una richiesta di assistenza per richiedere un aumento. Le repliche di lettura vengono conteggiate come istanze.

Prima di iniziare

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Trusted Cloud project.

  3. Install the gcloud CLI.

  4. Configure the gcloud CLI to use your federated identity.

    For more information, see Sign in to the gcloud CLI with your federated identity.

  5. To initialize the gcloud CLI, run the following command:

    gcloud init
  6. Assicurati di disporre dei ruoli Amministratore Cloud SQL e Visualizzatore Compute sul tuo account utente.

    Vai alla pagina IAM

    Scopri di più su ruoli e autorizzazioni.

  7. Creare un'istanza MySQL

    Console

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

      Vai a Istanze Cloud SQL

    2. Fai clic su Crea istanza.
    3. Nel riquadro Scegli il motore del database della pagina Crea un'istanza, fai clic su Scegli MySQL.
    4. Nella sezione Scegli una versione di Cloud SQL della pagina Crea un'istanza SQL Server, seleziona la versione di Cloud SQL per la tua istanza: Enterprise o Enterprise Plus.

      Per saperne di più sulle versioni di Cloud SQL, consulta Introduzione alle versioni di Cloud SQL.

    5. Seleziona il preset della versione per l'istanza. Per visualizzare i preset disponibili, fai clic sul menu Preset edizione.
    6. Nella sezione Informazioni istanza, seleziona la versione del database per la tua istanza. Per visualizzare le versioni disponibili, fai clic sul menu Versione del database.

      (Facoltativo) Seleziona Mostra versioni secondarie. Quindi scegli una versione secondaria diversa da quella predefinita.

      La versione del database non può essere modificata dopo la creazione dell'istanza.

    7. Nel campo ID istanza del riquadro Informazioni istanza, inserisci un ID per l'istanza.

      Non è necessario includere l'ID progetto nel nome dell'istanza. Questa operazione viene eseguita automaticamente ove opportuno (ad esempio, nei file di log).

    8. Imposta una password per l'utente root.

      Anche se è presente un'opzione per impostare Nessuna password, questa non è consigliata per motivi di sicurezza.

    9. Per visualizzare la password in testo normale, fai clic sull'icona Mostra password.

      Puoi inserire la password manualmente o fare clic su Genera per fare in modo che Cloud SQL crei automaticamente una password.

    10. (Facoltativo) Configura un criterio per le password per l'istanza nel seguente modo:
      1. Seleziona la casella di controllo Abilita policy per le password.
      2. Fai clic sul pulsante Imposta criteri per le password, imposta una o più delle seguenti opzioni e fai clic su Salva.
        • Lunghezza minima: specifica il numero minimo di caratteri che la password deve avere.
        • Complessità della password: verifica se la password è una combinazione di caratteri minuscoli, maiuscoli, numerici e non alfanumerici.
        • Limita il riutilizzo della password: specifica il numero di password precedenti che non puoi riutilizzare.

          Supportato solo su Cloud SQL per MySQL 8.0 e versioni successive.

        • Non consentire il nome utente: impedisce l'utilizzo del nome utente nella password.
    11. Nella sezione Scegli la disponibilità per regione e zona, seleziona la regione e la zona per l'istanza. La disponibilità delle regioni potrebbe variare in base alla tua edizione di Cloud SQL per MySQL. Per ulteriori informazioni, vedi Informazioni sulle impostazioni per le istanze.

      Posiziona l'istanza nella stessa regione delle risorse che vi accedono. La regione selezionata non può essere modificata in futuro. Nella maggior parte dei casi, non è necessario specificare una zona.

      Se stai configurando l'istanza per l'alta disponibilità, puoi selezionare una zona primaria e una secondaria.

      Quando la zona secondaria viene utilizzata durante la creazione dell'istanza, si applicano le seguenti condizioni:

      • Le zone sono impostate per impostazione predefinita su Any per la zona primaria e Any (different from primary) per la zona secondaria.
      • Se vengono specificate sia la zona primaria sia quella secondaria, devono essere zone distinte.
    12. Nella sezione Personalizza la tua istanza, aggiorna le impostazioni per la tua istanza. Inizia facendo clic su MOSTRA OPZIONI DI CONFIGURAZIONE per visualizzare i gruppi di impostazioni. Poi espandi i gruppi per cui vuoi rivedere e personalizzare le impostazioni. A destra viene visualizzato un Riepilogo di tutte le opzioni selezionate. La personalizzazione di queste impostazioni dell'istanza è facoltativa. I valori predefiniti vengono assegnati in tutti i casi in cui non vengono apportate personalizzazioni.

      La tabella seguente fornisce un rapido riferimento alle impostazioni dell'istanza. Per ulteriori dettagli su ciascuna impostazione, consulta la pagina Impostazioni per le istanze.

      Impostazione Note
      Tipo di macchina
      Tipo di macchina Seleziona Con core condiviso o Con core dedicato. Per Shared Core, ogni tipo di macchina è classificato in base al numero di CPU (core) e alla quantità di memoria per l'istanza.
      Core Il numero di vCPU per l'istanza. Scopri di più.
      Memoria La quantità di memoria per l'istanza, in GB. Scopri di più.
      Personalizzato Per il tipo di macchina con core dedicati, anziché selezionare una configurazione predefinita, seleziona il pulsante Personalizzata per creare un'istanza con una configurazione personalizzata. Quando selezioni questa opzione, devi selezionare il numero di core e la quantità di memoria per l'istanza. Scopri di più.
      Spazio di archiviazione
      Tipo di archiviazione Determina se l'istanza utilizza l'archiviazione SSD o HDD. Scopri di più.
      Capacità dello spazio di archiviazione La quantità di spazio di archiviazione di cui è stato eseguito il provisioning per l'istanza. Scopri di più.
      Abilita aumenti automatici dello spazio di archiviazione Determina se Cloud SQL fornisce automaticamente più spazio di archiviazione per l'istanza quando lo spazio libero è in esaurimento. Scopri di più.
      Crittografia
      Crittografia gestita da GoogleL'opzione predefinita.
      Chiave di crittografia gestita dal cliente (CMEK)Seleziona per utilizzare la chiave con Google Cloud Key Management Service. Scopri di più.
      Connessioni
      IP privato Aggiunge un indirizzo IP privato per l'istanza. Per abilitare la connessione all'istanza, è necessaria una configurazione aggiuntiva.
      (Facoltativo) Puoi specificare un intervallo IP allocato che le istanze devono utilizzare per le connessioni.
      1. Espandi Mostra opzione intervallo IP allocato.
      2. Seleziona un intervallo IP dal menu a discesa.

      La tua istanza può avere sia un indirizzo IP pubblico sia uno privato.

      IP pubblico Aggiunge un indirizzo IP pubblico per l'istanza. Puoi quindi aggiungere reti autorizzate per connetterti all'istanza.

      La tua istanza può avere sia un indirizzo IP pubblico sia uno privato.

      Scopri di più sull'utilizzo dell'IP pubblico.

      Reti autorizzate

      Aggiungi il nome della nuova rete e l'indirizzo di rete. Scopri di più.

      Percorso privato per i servizi Trusted Cloud by S3NS

      Selezionando questa casella di controllo, consenti ad altri servizi Trusted Cloud by S3NS , come BigQuery, di accedere ai dati in Cloud SQL ed eseguire query su questi dati tramite una connessione privata.

      Abilita il pool di connessioni gestito

      Selezionando questa casella di controllo, attivi il pool di connessioni gestito per la tua istanza. Il pool di connessioni gestito consente di scalare i carichi di lavoro ottimizzando l'utilizzo delle risorse e la latenza di connessione istanze Cloud SQL utilizzando il pooling e il multiplexing. Per saperne di più sul pool di connessioni gestito, consulta Panoramica del pool di connessioni gestito.

      Sicurezza
      Modalità di autorità di certificazione del server

      Scegli il tipo di autorità di certificazione (CA) che firma il certificato del server per questa istanza Cloud SQL. Scopri di più.

      Per impostazione predefinita, quando crei un'istanza nella console Trusted Cloud , l'istanza utilizza l'autorità di certificazione interna gestita da Google (GOOGLE_MANAGED_INTERNAL_CA), che è l'opzione CA per istanza.

      Protezione dei dati
      Backup automatici Il periodo di tempo in cui vuoi che inizino i backup. Scopri di più.
      Scegli dove archiviare i tuoi backupSeleziona Più regioni per la maggior parte dei casi d'uso. Se devi archiviare i backup in una regione specifica, ad esempio se ci sono motivi normativi per farlo, seleziona Regione e seleziona la tua regione dal menu a discesa Località.
      Scegli quanti backup automatici archiviareIl numero di backup automatici che vuoi conservare (da 1 a 365 giorni). Scopri di più.
      Abilita recupero point-in-time Abilita il recupero point-in-time e la registrazione write-ahead. Scopri di più.
      Attiva la protezione da eliminazione Determina se proteggere un'istanza dall'eliminazione accidentale. Scopri di più.
      Abilitare i backup conservati dopo l'eliminazione dell'istanza Determina se i backup automatici e on demand vengono conservati dopo l'eliminazione di un'istanza. Scopri di più.
      Scegli il numero di giorni di log da conservare Configura la conservazione del log write-ahead da 1 a 7 giorni. L'impostazione predefinita è 7 giorni. Scopri di più.
      Manutenzione
      Finestra preferita Determina una finestra di un'ora in cui Cloud SQL può eseguire la manutenzione interruttiva sulla tua istanza. Se non imposti la finestra, la manutenzione distruttiva può essere eseguita in qualsiasi momento. Scopri di più.
      Ordine degli aggiornamenti Il momento che preferisci per gli aggiornamenti delle istanze, rispetto ad altre istanze dello stesso progetto. Scopri di più.
      Flag
      AGGIUNGI SEGNALAZIONE Puoi utilizzare i flag di database per controllare le impostazioni e i parametri della tua istanza. Scopri di più.
      Etichette
      AGGIUNGI ETICHETTAAggiungi una chiave e un valore per ogni etichetta che aggiungi. Utilizzi le etichette per organizzare le istanze.
      Cache dei dati
      Abilitare la cache dei dati (facoltativo) Attiva la cache dei dati per le istanze di Cloud SQL per MySQL Enterprise Plus. Per ulteriori informazioni sulla cache dei dati, vedi Cache dei dati.
    13. Fai clic su Crea istanza.

      Nota: la creazione dell'istanza potrebbe richiedere qualche minuto. Tuttavia, puoi visualizzare le informazioni sull'istanza durante la sua creazione.

    gcloud

    Per informazioni sull'installazione e su come iniziare a utilizzare gcloud CLI, consulta Installazione di gcloud CLI. Per informazioni sull'avvio di Cloud Shell, consulta la documentazione di Cloud Shell.

    1. Utilizza il comando gcloud sql instances create per creare l'istanza:
    2. Per le istanze della versione Cloud SQL Enterprise Plus:

          gcloud sql instances create INSTANCE_NAME \
          --region=REGION \
          --tier=TIER \
          --database-version=DATABASE_VERSION \
          --edition=ENTERPRISE_PLUS
          

      Per le istanze Cloud SQL Enterprise:

          gcloud sql instances create INSTANCE_NAME \
          --cpu=NUMBER_CPUS \
          --memory=MEMORY_SIZE \
          --region=REGION
          
      In alternativa, puoi utilizzare il flag --tier se scegli db-f1-micro o db-g1-small come tipo di macchina:
          gcloud sql instances create INSTANCE_NAME \
            --tier=API_TIER_STRING \
            --region=REGION
        

      Esistono limitazioni per i valori di vCPU e dimensioni della memoria:

      • Le vCPU devono essere 1 o un numero pari compreso tra 2 e 96.
      • La memoria deve essere:
        • Da 0,9 a 6,5 GB per vCPU
        • Un multiplo di 256 MB
        • Almeno 3,75 GB (3840 MB)

      Ad esempio, il seguente comando crea un'istanza Cloud SQL Enterprise con due vCPU e 7680 MB di memoria:

        gcloud sql instances create myinstance \
        --database-version=MYSQL_8_0 \
        --cpu=2 \
        --memory=7680MB \
        --region=us-central1
        

      Il seguente comando crea un'istanza di Cloud SQL Enterprise Plus con quattro core:

        gcloud sql instances create myinstance \
        --database-version=MYSQL_8_0_31 \
        --tier=db-perf-optimized-N-4 \
        --edition=ENTERPRISE_PLUS \
        --region=us-central1
        

      Il valore predefinito per REGION è us-central1.

      Non includere informazioni sensibili o che consentono l'identificazione personale nel nome dell'istanza, in quanto è visibile esternamente.
      Non è necessario includere l'ID progetto nel nome dell'istanza. Questa operazione viene eseguita automaticamente ove opportuno (ad esempio, nei file di log).

      Se stai creando un'istanza per l'alta disponibilità, puoi specificare sia la zona principale sia quella secondaria utilizzando i parametri --zone e --secondary-zone. Quando la zona secondaria viene utilizzata durante la creazione o la modifica dell'istanza, si applicano le seguenti condizioni:

      • Le zone devono essere valide.
      • Se viene specificata la zona secondaria, deve essere specificata anche quella principale.
      • Se vengono specificate le zone primaria e secondaria, devono essere zone distinte.
      • Se vengono specificate le zone primaria e secondaria, queste devono appartenere alla stessa regione.

      Puoi aggiungere altri parametri per determinare altre impostazioni dell'istanza:

      Impostazione Parametro Note
      Parametri obbligatori
      Versione database --database-version La versione del database, che si basa sulla tua edizione di Cloud SQL.
      Regione --region Visualizza i valori validi.
      Imposta criteri relativi alle password
      Abilita la policy delle password --enable-password-policy Attiva la policy per le password quando viene utilizzata. Per impostazione predefinita, il criterio delle password è disattivato. Se disattivato utilizzando il parametro --clear-password-policy, gli altri parametri delle norme relative alle password vengono reimpostati.
      Lunghezza minima --password-policy-min-length Specifica il numero minimo di caratteri che deve contenere la password.
      Complessità della password --password-policy-complexity Attiva il controllo della complessità della password per assicurarsi che la password contenga un carattere di ciascuno di questi tipi: minuscolo, maiuscolo, numerico e non alfanumerico. Imposta il valore su COMPLEXITY_DEFAULT.
      Limita il riutilizzo della password --password-policy-reuse-interval Specifica il numero di password precedenti che non puoi riutilizzare. Supportato solo su Cloud SQL per MySQL 8.0 e versioni successive.
      Non consentire nome utente --password-policy-disallow-username-substring Impedisce l'utilizzo del nome utente nella password. Utilizza il parametro --no-password-policy-disallow-username-substring per disattivare il controllo.
      Connettività
      IP privato --network

      --no-assign-ip (facoltativo)

      --allocated-ip-range-name (facoltativo)

      --enable-google-private-path (facoltativo)

      --network: specifica il nome della rete VPC che vuoi utilizzare per questa istanza. L'accesso privato ai servizi deve essere già configurato per la rete. Disponibile solo per il comando beta (gcloud beta sql instances create).

      --no-assign-ip: L'istanza avrà solo un indirizzo IP privato.

      --allocated-ip-range-name: se specificato, imposta un nome di intervallo per il quale viene allocato un intervallo IP. Ad esempio, google-managed-services-default. Il nome dell'intervallo deve rispettare RFC-1035 ed essere compreso tra 1 e 63 caratteri. (gcloud alpha sql instances create).

      --enable-google-private-path: se utilizzi questo parametro, consenti ad altri servizi Trusted Cloud by S3NS , come BigQuery, di accedere ai dati in Cloud SQL ed eseguire query su questi dati tramite una connessione privata.

      Questo parametro è valido solo se:

      • Utilizzi il parametro --no-assign-ip.
      • Utilizza il parametro --network per specificare il nome della rete VPC che vuoi utilizzare per creare una connessione privata.

      IP pubblico --authorized-networks Per le connessioni con IP pubblico, solo le connessioni provenienti da reti autorizzate possono connettersi all'istanza. Scopri di più.
      Applicazione di SSL

      --ssl-mode

      --require-ssl

      Il parametro ssl-mode applica l'applicazione di SSL/TLS per le connessioni. Per saperne di più, consulta Impostazioni per Cloud SQL per MySQL.

      Il parametro require-ssl determina se le connessioni SSL su IP sono applicate o meno. require-ssl è un parametro precedente. Utilizza invece ssl-mode. Per saperne di più, consulta IpConfiguration.

      Modalità CA server --server-ca-mode

      Il flag --server-ca-mode configura il tipo di autorità di certificazione (CA) del server per un'istanza. Puoi selezionare una delle seguenti opzioni:

      • GOOGLE_MANAGED_INTERNAL_CA: questo è il valore predefinito. Con questa opzione, una CA interna dedicata a ogni istanza Cloud SQL firma il certificato server per quell'istanza.
      • GOOGLE_MANAGED_CAS_CA: con questa opzione, viene utilizzata una gerarchia di CA costituita da una CA radice e da CA server subordinate gestite da Cloud SQL e ospitate su Trusted Cloud Certificate Authority Service (CA Service). Le CA server subordinate in una regione firmano i certificati server e sono condivise tra le istanze nella regione. Questa opzione è supportata solo su MySQL 8.0.30 e versioni successive.
      • CUSTOMER_MANAGED_CAS_CA: con questa opzione, definisci la gerarchia CA e gestisci la rotazione dei certificati CA. Crea un pool di CA nel servizio CA nella stessa regione dell'istanza. Una delle CA nel pool viene utilizzata per firmare il certificato server. Questa opzione è supportata solo su MySQL 8.0.30 e versioni successive. Per saperne di più, vedi Utilizzare una CA gestita dal cliente.
      Tipo di macchina e archiviazione
      Tipo di macchina --tier Utilizzato per specificare un'istanza con core condiviso (db-f1-micro o db-g1-small). Per una configurazione personalizzata dell'istanza, utilizza invece i parametri --cpu o --memory. Consulta Configurazione personalizzata dell'istanza.
      Tipo di archiviazione --storage-type Determina se l'istanza utilizza l'archiviazione SSD o HDD. Scopri di più.
      Capacità dello spazio di archiviazione --storage-size La quantità di spazio di archiviazione di cui è stato eseguito il provisioning per l'istanza, in GB. Scopri di più.
      Aumento automatico dello spazio di archiviazione --storage-auto-increase Determina se Cloud SQL fornisce automaticamente più spazio di archiviazione per l'istanza quando lo spazio libero è in esaurimento. Scopri di più.
      Limite di aumento automatico dello spazio di archiviazione --storage-auto-increase-limit Determina la quantità di spazio di archiviazione che Cloud SQL può aumentare automaticamente. Disponibile solo per il comando beta (gcloud beta sql instances create). Scopri di più.
      Cache dei dati (facoltativa) --enable-data-cache Attiva o disattiva la cache dei dati per le istanze. Per ulteriori informazioni, vedi cache dei dati.
      Backup automatici e alta disponibilità
      Alta disponibilità --availability-type Per un'istanza ad alta disponibilità, imposta questo valore su REGIONAL. Scopri di più.
      Zona secondaria --secondary-zone Se stai creando un'istanza per l'alta disponibilità, puoi specificare sia la zona primaria sia quella secondaria utilizzando --zone e --secondary-zone parameters. Quando la zona secondaria viene utilizzata durante la creazione o la modifica dell'istanza, si applicano le seguenti limitazioni:
      • Le zone devono essere valide.
      • Se viene specificata la zona secondaria, deve essere specificata anche quella principale.
      • Se vengono specificate le zone primaria e secondaria, devono essere zone distinte.

        Se vengono specificate le zone primaria e secondaria, queste devono appartenere alla stessa regione.

      Backup automatici --backup-start-time Il periodo di tempo in cui vuoi che inizino i backup. Scopri di più.
      Impostazioni di conservazione per i backup automatici --retained-backups-count Il numero di backup automatici da conservare. Scopri di più.
      Logging binario --enable-bin-log Il logging binario consente la replica e il recupero point-in-time. Scopri di più.
      Impostazioni di conservazione per il logging binario --retained-transaction-log-days Il numero di giorni di conservazione dei log binari per il recupero point-in-time. Scopri di più.
      Recupero point-in-time --enable-point-in-time-recovery Abilita il recupero point-in-time e la registrazione write-ahead. Scopri di più.
      Aggiungere flag di database
      Flag di database --database-flags Puoi utilizzare i flag di database per controllare le impostazioni e i parametri della tua istanza. Scopri di più sui flag di database. Scopri di più su come formattare questo parametro.
      Pianificazione della manutenzione
      Periodo di manutenzione --maintenance-window-day,
      --maintenance-window-hour
      Determina una finestra di un'ora in cui Cloud SQL può eseguire la manutenzione distruttiva dell'istanza. Se non imposti la finestra, la manutenzione distruttiva può essere eseguita in qualsiasi momento. Scopri di più.
      Tempistica per manutenzione --maintenance-release-channel Il momento che preferisci per gli aggiornamenti delle istanze, rispetto ad altre istanze dello stesso progetto. Utilizza preview per gli aggiornamenti precedenti e production per quelli successivi. Scopri di più.
      SAN personalizzato
      Aggiungere un nome alternativo del soggetto (SAN) personalizzato --custom-subject-alternative-names=DNS_NAMES

      Se vuoi utilizzare un nome DNS personalizzato per connetterti a un'istanza Cloud SQL anziché utilizzare un indirizzo IP, configura l'impostazione del nome alternativo del soggetto (SAN) personalizzato durante la creazione dell'istanza. Il nome DNS personalizzato che inserisci nell'impostazione SAN personalizzata viene aggiunto al campo SAN del certificato server dell'istanza. In questo modo puoi utilizzare il nome DNS personalizzato con la convalida del nome host in modo sicuro.

      Prima di poter utilizzare il nome DNS personalizzato nei tuoi client e nelle tue applicazioni, devi configurare il mapping tra il nome DNS e l'indirizzo IP. Questa operazione è nota come risoluzione DNS. Puoi aggiungere un elenco separato da virgole di un massimo di tre nomi DNS personalizzati all'impostazione SAN personalizzata.

    3. Prendi nota dell'indirizzo IP assegnato automaticamente.

      Se non utilizzi il proxy di autenticazione Cloud SQL, utilizzerai questo indirizzo come indirizzo host che le tue applicazioni o i tuoi strumenti utilizzano per connettersi all'istanza.

    4. Imposta la password per l'utente MySQL "root@%":
            gcloud sql users set-password root \
            --host=% \
            --instance INSTANCE_NAME \
            --password PASSWORD
            

    Terraform

    Per creare un'istanza, utilizza una risorsa Terraform.

    resource "google_sql_database_instance" "mysql_pvp_instance_name" {
      name             = "mysql-pvp-instance-name"
      region           = "asia-northeast1"
      database_version = "MYSQL_8_0"
      root_password    = "abcABC123!"
      settings {
        tier = "db-f1-micro"
        password_validation_policy {
          min_length                  = 6
          complexity                  = "COMPLEXITY_DEFAULT"
          reuse_interval              = 2
          disallow_username_substring = true
          enable_password_policy      = 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 di Terraform in un progetto Trusted Cloud , completa i passaggi nelle sezioni seguenti.

    Prepara Cloud Shell

    1. Avvia Cloud Shell.
    2. Imposta il progetto Trusted Cloud predefinito in cui 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 nel file di configurazione Terraform.

    Prepara la directory

    Ogni file di configurazione di Terraform deve avere la propria directory (chiamata anche modulo radice).

    1. In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione .tf, ad esempio main.tf. In questo tutorial, il file viene 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 file main.tf appena creato.

      (Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.

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

      (Facoltativo) Per utilizzare l'ultima versione del provider Google, includi l'opzione -upgrade:

      terraform init -upgrade

    Applica le modifiche

    1. Rivedi la configurazione e verifica che le risorse che Terraform creerà o aggiornerà corrispondano alle tue aspettative:
      terraform plan

      Apporta le correzioni necessarie alla configurazione.

    2. Applica la configurazione di Terraform eseguendo il comando seguente e inserendo yes al prompt:
      terraform apply

      Attendi che Terraform visualizzi il messaggio "Apply complete!" (Applicazione completata).

    3. Apri il tuo Trusted Cloud progetto per visualizzare i risultati. Nella console Trusted Cloud , vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.

    Elimina le modifiche

    Per eliminare le modifiche:

    1. Per disattivare la protezione dall'eliminazione, imposta l'argomento deletion_protection su false nel file di configurazione Terraform.
      deletion_protection =  "false"
    2. Applica la configurazione Terraform aggiornata eseguendo il comando seguente e inserendo yes al prompt:
      terraform apply
    1. Rimuovi le risorse applicate in precedenza con la configurazione Terraform eseguendo il seguente comando e inserendo yes al prompt:

      terraform destroy

    REST v1

    Crea l'istanza

    Questo esempio crea un'istanza. Sono inclusi anche alcuni parametri facoltativi, come i backup e la registrazione binaria. Per un elenco completo dei parametri per questa chiamata, consulta la pagina Instances:insert. Per informazioni sulle impostazioni dell'istanza, inclusi i valori validi per la regione, vedi Impostazioni dell'istanza.

    Non includere informazioni sensibili o che consentono l'identificazione personale nell'ID istanza, in quanto è visibile esternamente.
    Non è necessario includere l'ID progetto nel nome dell'istanza. Questa operazione viene eseguita automaticamente ove opportuno (ad esempio, nei file di log).

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

    • PROJECT_ID: il tuo ID progetto
    • INSTANCE_ID: il tuo ID istanza
    • DATABASE_VERSION: la versione del database. Ad esempio: MYSQL_8_4 o MYSQL_8_0_37. Se non specifichi una versione del database, la versione predefinita è MYSQL_8_0.
    • REGION: la regione
    • MACHINE_TYPE: il tipo di macchina
    • EDITION_TYPE: la tua versione di Cloud SQL
    • DATA_CACHE_ENABLED: (facoltativo) impostato su true per abilitare la cache dei dati per l'istanza
    • PRIVATE_NETWORK: specifica il nome della rete Virtual Private Cloud (VPC) che vuoi utilizzare per questa istanza. L'accesso privato ai servizi deve essere già configurato per la rete.
    • AUTHORIZED_NETWORKS: per le connessioni con IP pubblico, specifica le connessioni dalle reti autorizzate che possono connettersi alla tua istanza.
    • CA_MODE: specifica una gerarchia di autorità di certificazione per l'istanza, GOOGLE_MANAGED_INTERNAL_CA o GOOGLE_MANAGED_CAS_CA. Se non specifichi serverCaMode, la configurazione predefinita è GOOGLE_MANAGED_INTERNAL_CA. Questa funzionalità è in anteprima.
    • DNS_NAMES: aggiungi un elenco separato da virgole di massimo tre nomi DNS al certificato del server dell'istanza Cloud SQL. Puoi proteggere più nomi DNS con un unico certificato. Questa funzionalità è disponibile in Anteprima e solo per le istanze CUSTOMER_MANAGED_CAS_CA.

    Per impostare un criterio per le password durante la creazione di un'istanza, includi l'oggetto passwordValidationPolicy nella richiesta. Imposta i seguenti parametri, se necessario:

    • enablePasswordPolicy: attiva la policy per le password quando è impostato su true.

      Per rimuovere il criterio per le password, puoi utilizzare una richiesta PATCH con null come valore per enablePasswordPolicy. In questo caso, gli altri parametri del criterio della password vengono reimpostati.

    • minLength: specifica il numero minimo di caratteri che la password deve avere.
    • complexity: verifica se la password è una combinazione di caratteri minuscoli, maiuscoli, numerici e non alfanumerici. Il valore predefinito è COMPLEXITY_DEFAULT.
    • reuseInterval: specifica il numero di password precedenti che non puoi riutilizzare.

      Supportato solo su Cloud SQL per MySQL 8.0 e versioni successive.

    • disallowUsernameSubstring: impedisce l'utilizzo del nome utente nella password se impostato su true.

    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",
        "edition": "EDITION_TYPE",
        "dataCacheConfig": {
          "dataCacheEnabled": DATA_CACHE_ENABLED
        },
        "backupConfiguration": {
          "binaryLogEnabled": true,
          "enabled": true
        },
        "passwordValidationPolicy": {
          "enablePasswordPolicy": true
          "minLength": "MIN_LENGTH",
          "complexity": COMPLEXITY_DEFAULT,
          "reuseInterval": "REUSE_INTERVAL",
          "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING",
        }
        "ipConfiguration": {
          "privateNetwork": "PRIVATE_NETWORK",
          "authorizedNetworks": [AUTHORIZED_NETWORKS],
          "ipv4Enabled": false,
          "enablePrivatePathForGoogleCloudServices": true,
          "serverCaMode": "CA_MODE",
          "customSubjectAlternativeNames": "DNS_NAMES"
        }
      }
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
      "status": "PENDING",
      "user": "user@example.com",
      "insertTime": "2019-09-25T22:19:33.735Z",
      "operationType": "CREATE",
      "name": "OPERATION_ID",
      "targetId": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
    }
    

    La risposta è un'operazione di lunga durata, che potrebbe richiedere alcuni minuti.

    Aggiorna la password di root

    Al termine dell'inizializzazione dell'istanza, aggiorna la password root:

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

    • project-id: il tuo ID progetto
    • instance-id: l'ID istanza creato nel passaggio precedente
    • root-password: password root desiderata

    Metodo HTTP e URL:

    PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?host=%25&name=root

    Corpo JSON della richiesta:

    {
      "name": "root",
      "host": "%",
      "password": "root-password"
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2019-09-26T14:32:30.592Z",
      "startTime": "2019-09-26T14:32:30.594Z",
      "endTime": "2019-09-26T14:32:33.518Z",
      "operationType": "UPDATE_USER",
      "name": "operation-id",
      "targetId": "instance-id",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
      "targetProject": "project-id"
    }
    

    Recupera l'indirizzo IPv4

    Recupera l'indirizzo IPv4 assegnato automaticamente alla nuova istanza:

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

    • project-id: il tuo ID progetto
    • instance-id: l'ID istanza creato nel passaggio precedente

    Metodo HTTP e URL:

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

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_8_0_18",
      "settings": {
        "authorizedGaeApplications": [],
        "tier": "db-f1-micro",
        "kind": "sql#settings",
        "pricingPlan": "PER_USE",
        "replicationType": "SYNCHRONOUS",
        "activationPolicy": "ALWAYS",
        "ipConfiguration": {
          "authorizedNetworks": [],
          "ipv4Enabled": true
        },
        "locationPreference": {
          "zone": "us-west1-a",
          "kind": "sql#locationPreference"
        },
        "dataDiskType": "PD_SSD",
        "backupConfiguration": {
          "startTime": "18:00",
          "kind": "sql#backupConfiguration",
          "enabled": true,
          "binaryLogEnabled": true
        },
        "settingsVersion": "1",
        "storageAutoResizeLimit": "0",
        "storageAutoResize": true,
        "dataDiskSizeGb": "10"
      },
      "etag": "--redacted--",
      "ipAddresses": [
        {
          "type": "PRIMARY",
          "ipAddress": "10.0.0.1"
        }
      ],
      "serverCaCert": {
        ...
      },
      "instanceType": "CLOUD_SQL_INSTANCE",
      "project": "project-id",
      "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.s3ns-system.iam.gserviceaccount.com",
      "backendType": "SECOND_GEN",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
      "connectionName": "project-id:region:instance-id",
      "name": "instance-id",
      "region": "us-west1",
      "gceZone": "us-west1-a"
    }
    

    Cerca il campo ipAddress nella risposta.

    REST v1beta4

    Crea l'istanza

    Questo esempio crea un'istanza. Sono inclusi anche alcuni parametri facoltativi, come i backup e la registrazione binaria. Per un elenco completo dei parametri per questa chiamata, consulta la pagina instances:insert. Per informazioni sulle impostazioni dell'istanza, inclusi i valori validi per la regione, vedi Impostazioni dell'istanza.

    Non includere informazioni sensibili o che consentono l'identificazione personale nell'ID istanza, in quanto è visibile esternamente.
    Non è necessario includere l'ID progetto nel nome dell'istanza. Questa operazione viene eseguita automaticamente ove opportuno (ad esempio, nei file di log).

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

    • PROJECT_ID: il tuo ID progetto
    • INSTANCE_ID: il tuo ID istanza
    • DATABASE_VERSION: la versione del database. Ad esempio: MYSQL_8_4 o MYSQL_8_0_37. Se non specifichi una versione del database, la versione predefinita è MYSQL_8_0.
    • REGION: la regione
    • MACHINE_TYPE: il tipo di macchina
    • EDITION_TYPE: la tua versione di Cloud SQL .
    • DATA_CACHE_ENABLED: (facoltativo) impostato su true per abilitare la cache dei dati per l'istanza
    • PRIVATE_NETWORK: specifica il nome della rete Virtual Private Cloud (VPC) che vuoi utilizzare per questa istanza. L'accesso privato ai servizi deve essere già configurato per la rete.
    • AUTHORIZED_NETWORKS: per le connessioni con IP pubblico, specifica le connessioni dalle reti autorizzate che possono connettersi alla tua istanza.
    • CA_MODE: specifica una gerarchia di autorità di certificazione per l'istanza, GOOGLE_MANAGED_INTERNAL_CA o GOOGLE_MANAGED_CAS_CA. Se non specifichi serverCaMode, la configurazione predefinita è GOOGLE_MANAGED_INTERNAL_CA. Questa funzionalità è in anteprima.
    • DNS_NAMES: aggiungi un elenco separato da virgole di massimo tre nomi DNS al certificato del server dell'istanza Cloud SQL. Puoi proteggere più nomi DNS con un unico certificato. Questa funzionalità è disponibile in Anteprima e solo per le istanze CUSTOMER_MANAGED_CAS_CA.

    Per impostare un criterio per le password durante la creazione di un'istanza, includi l'oggetto passwordValidationPolicy nella richiesta. Imposta i seguenti parametri, se necessario:

    • enablePasswordPolicy: attiva la policy per le password quando è impostato su true.

      Per rimuovere il criterio per le password, puoi utilizzare una richiesta PATCH con null come valore per enablePasswordPolicy. In questo caso, gli altri parametri del criterio della password vengono reimpostati.

    • minLength: specifica il numero minimo di caratteri che la password deve avere.
    • complexity: verifica se la password è una combinazione di caratteri minuscoli, maiuscoli, numerici e non alfanumerici. Il valore predefinito è COMPLEXITY_DEFAULT.
    • reuseInterval: specifica il numero di password precedenti che non puoi riutilizzare.

      Supportato solo su Cloud SQL per MySQL 8.0 e versioni successive.

    • disallowUsernameSubstring: impedisce l'utilizzo del nome utente nella password se impostato su true.

    Metodo HTTP e URL:

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

    Corpo JSON della richiesta:

    {
      "name": "INSTANCE_ID",
      "region": "REGION",
      "databaseVersion": "DATABASE_VERSION",
      "settings": {
        "tier": "MACHINE_TYPE",
        "edition": "EDITION_TYPE",
        "dataCacheConfig" {
          "dataCacheEnabled": DATA_CACHE_ENABLED
        },
        "backupConfiguration": {
          "binaryLogEnabled": true,
          "enabled": true
        },
        "passwordValidationPolicy": {
          "enablePasswordPolicy": true
          "minLength": "MIN_LENGTH",
          "complexity": COMPLEXITY_DEFAULT,
          "reuseInterval": "REUSE_INTERVAL",
          "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING",
        }
        "ipConfiguration": {
          "privateNetwork": "PRIVATE_NETWORK",
          "authorizedNetworks": [AUTHORIZED_NETWORKS],
          "ipv4Enabled": false,
          "enablePrivatePathForGoogleCloudServices": true,
          "serverCaMode": "CA_MODE",
          "customSubjectAlternativeNames": "DNS_NAMES"
        }
      }
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
      "status": "PENDING",
      "user": "user@example.com",
      "insertTime": "2019-09-25T22:19:33.735Z",
      "operationType": "CREATE",
      "name": "OPERATION_ID",
      "targetId": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
    }
    

    La risposta è un'operazione di lunga durata, che potrebbe richiedere alcuni minuti.

    Aggiorna la password di root

    Al termine dell'inizializzazione dell'istanza, aggiorna la password root:

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

    • project-id: il tuo ID progetto
    • instance-id: l'ID istanza creato nel passaggio precedente
    • root-password: password root desiderata

    Metodo HTTP e URL:

    PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?host=%25&name=root

    Corpo JSON della richiesta:

    {
      "name": "root",
      "host": "%",
      "password": "root-password"
    }
    

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
      "status": "DONE",
      "user": "user@example.com",
      "insertTime": "2019-09-26T14:32:30.592Z",
      "startTime": "2019-09-26T14:32:30.594Z",
      "endTime": "2019-09-26T14:32:33.518Z",
      "operationType": "UPDATE_USER",
      "name": "operation-id",
      "targetId": "instance-id",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
      "targetProject": "project-id"
    }
    

    La risposta è un'operazione di lunga durata, che potrebbe richiedere alcuni minuti.

    Recupera l'indirizzo IPv4

    Recupera l'indirizzo IPv4 assegnato automaticamente alla nuova istanza:

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

    • project-id: il tuo ID progetto
    • instance-id: l'ID istanza creato nel passaggio precedente

    Metodo HTTP e URL:

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

    Per inviare la richiesta, espandi una di queste opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_8_0_18",
      "settings": {
        "authorizedGaeApplications": [],
        "tier": "db-f1-micro",
        "kind": "sql#settings",
        "pricingPlan": "PER_USE",
        "replicationType": "SYNCHRONOUS",
        "activationPolicy": "ALWAYS",
        "ipConfiguration": {
          "authorizedNetworks": [],
          "ipv4Enabled": true
        },
        "locationPreference": {
          "zone": "us-west1-a",
          "kind": "sql#locationPreference"
        },
        "dataDiskType": "PD_SSD",
        "backupConfiguration": {
          "startTime": "18:00",
          "kind": "sql#backupConfiguration",
          "enabled": true,
          "binaryLogEnabled": true
        },
        "settingsVersion": "1",
        "storageAutoResizeLimit": "0",
        "storageAutoResize": true,
        "dataDiskSizeGb": "10"
      },
      "etag": "--redacted--",
      "ipAddresses": [
        {
          "type": "PRIMARY",
          "ipAddress": "10.0.0.1"
        }
      ],
      "serverCaCert": {
        ...
      },
      "instanceType": "CLOUD_SQL_INSTANCE",
      "project": "project-id",
      "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.s3ns-system.iam.gserviceaccount.com",
      "backendType": "SECOND_GEN",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
      "connectionName": "project-id:region:instance-id",
      "name": "instance-id",
      "region": "us-west1",
      "gceZone": "us-west1-a"
    }
    

    Cerca il campo ipAddress nella risposta.

    Per vedere come viene creata la richiesta API REST sottostante per questa attività, consulta API Explorer nella pagina instances:insert.

    Genera l'endpoint di scrittura

    Un endpoint di scrittura è un nome DNS (Domain Name Service) globale che viene risolto automaticamente nell'indirizzo IP dell'istanza primaria corrente. Questo endpoint reindirizza automaticamente le connessioni in entrata alla nuova istanza principale in caso di operazione di failover o switchover della replica. Puoi utilizzare l'endpoint di scrittura in una stringa di connessione SQL anziché un indirizzo IP. Utilizzando un endpoint di scrittura, puoi evitare di dover apportare modifiche alla connessione dell'applicazione quando si verifica un'interruzione della regione.

    Per saperne di più sull'utilizzo di un endpoint di scrittura per connettersi a un'istanza, vedi Connettersi a un'istanza utilizzando un endpoint di scrittura.

    Specifica la versione secondaria del database per MySQL 8.0

    Puoi specificare la versione secondaria di un'istanza MySQL 8.0 esistente utilizzando gcloud o l'API REST.

    gcloud

    Utilizza il comando gcloud sql instances create con il flag --database-version.

    Sostituisci le seguenti variabili prima di eseguire il comando:

    • INSTANCE_NAME: il nome dell'istanza.
    • DATABASE_VERSION: la versione secondaria del database dell'istanza: MYSQL_8_0_18, MYSQL_8_0_26, MYSQL_8_0_27, MYSQL_8_0_28, MYSQL_8_0_29, MYSQL_8_0_30, MYSQL_8_0_31, MYSQL_8_0_32, MYSQL_8_0_33, MYSQL_8_0_34, MYSQL_8_0_35, MYSQL_8_0_36, MYSQL_8_0_37, MYSQL_8_0_39, MYSQL_8_0_40, MYSQL_8_0_41 (versione secondaria predefinita per MySQL 8.0) o MYSQL_8_0_42. Se specifichi MYSQL_8_0, viene utilizzata la versione secondaria predefinita.

      Se non specifichi questo flag, viene utilizzata la versione principale predefinita, MYSQL_8_0.

    gcloud sql instances create INSTANCE_NAME \
    --database-version=DATABASE_VERSION

    Per informazioni dettagliate, consulta la documentazione sulla creazione di un'istanza utilizzando gcloud.

    REST v1

    Utilizza una richiesta POST con il metodo instances:insert e il flag databaseVersion.

        POST https://sqladmin.googleapis.com/v1/projects/project-id/instances
    Prima di utilizzare i dati della richiesta, sostituisci queste variabili:
    • project_id: l'ID del progetto.
    • instance_id: il nome dell'istanza.
    • databaseVersion: la versione del database dell'istanza: MYSQL_8_0_18, MYSQL_8_0_26, MYSQL_8_0_27, MYSQL_8_0_28, MYSQL_8_0_29, MYSQL_8_0_30, MYSQL_8_0_31, MYSQL_8_0_32, MYSQL_8_0_33, MYSQL_8_0_34, MYSQL_8_0_35, MYSQL_8_0_36, MYSQL_8_0_37, MYSQL_8_0_39, MYSQL_8_0_40, MYSQL_8_0_41 (versione secondaria predefinita per MySQL 8.0) o MYSQL_8_0_42. Se specifichi MYSQL_8_0 come versione, viene utilizzata la versione secondaria predefinita. Se non specifichi il flag databaseVersion, viene utilizzata la versione principale predefinita, MYSQL_8_0.

    Per informazioni dettagliate, consulta la documentazione sulla creazione di un'istanza utilizzando l'API REST v1.

    REST v1beta4

    Utilizza una richiesta POST con il metodo instances:insert e il flag databaseVersion.

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

    Prima di utilizzare i dati della richiesta, sostituisci queste variabili:

    • project_id: l'ID del progetto.
    • instance_id: il nome dell'istanza.
    • databaseVersion: La versione del database dell'istanza: MYSQL_8_0_18, MYSQL_8_0_26, MYSQL_8_0_27, MYSQL_8_0_28, MYSQL_8_0_29, MYSQL_8_0_30, MYSQL_8_0_31, MYSQL_8_0_32, MYSQL_8_0_33. MYSQL_8_0_34, MYSQL_8_0_35, MYSQL_8_0_36, MYSQL_8_0_37, MYSQL_8_0_39, MYSQL_8_0_40, MYSQL_8_0_41 (versione secondaria predefinita per MySQL 8.0) o MYSQL_8_0_42. Se specifichi MYSQL_8_0, viene utilizzata la versione secondaria predefinita. Se non specifichi il flag databaseVersion, viene utilizzata la versione principale predefinita, MYSQL_8_0.

    Per informazioni dettagliate, consulta la documentazione sulla creazione di un'istanza utilizzando l'API REST v1beta4.

    Versione secondaria del database per repliche di lettura, cloni e PITR

    Quando crei una replica di lettura, puoi specificare la versione secondaria del database della replica di lettura. Per impostazione predefinita, le nuove repliche di lettura vengono create nella versione secondaria predefinita.

    Quando cloni un'istanza, la nuova istanza creata ha la stessa versione secondaria dell'origine.

    Quando esegui un ripristino temporizzato, l'istanza appena creata ha la stessa versione secondaria del database dell'istanza di origine.

    Configurazioni personalizzate delle istanze

    Determina la memoria e i core virtuali disponibili per l'istanza Cloud SQL. I tipi di macchine fanno parte di una serie di macchine e la disponibilità delle serie di macchine è determinata dalla tua versione di Cloud SQL.

    Per le istanze della versione Cloud SQL Enterprise Plus, Cloud SQL offre tipi di macchine predefiniti per le istanze nelle serie di macchine N2 e C4A.

    Per le istanze Cloud SQL Enterprise, Cloud SQL offre tipi di macchine predefiniti e personalizzati.

    Se hai bisogno di un'elaborazione in tempo reale, ad esempio l'elaborazione delle transazioni online (OLTP), assicurati che l'istanza disponga di memoria sufficiente per contenere l'intero set di lavoro. Tuttavia, esistono altri fattori che possono influire sui requisiti di memoria, come il numero di connessioni attive e i processi di overhead interni. Esegui test di carico per evitare problemi di prestazioni nel tuo ambiente di produzione.

    Quando configuri l'istanza, seleziona memoria e vCPU sufficienti per soddisfare le tue esigenze e aumenta le dimensioni dell'istanza man mano che i requisiti aumentano. Una configurazione della macchina con vCPU insufficienti potrebbe perdere la copertura dello SLA. Per ulteriori informazioni, consulta le linee guida operative.

    Per saperne di più sui tipi di macchine e sulle serie di macchine disponibili per l'istanza Cloud SQL, consulta Panoramica delle serie di macchine.

    Risoluzione dei problemi

    Problema Risoluzione dei problemi
    Messaggio di errore: Failed to create subnetwork. Couldn't find free blocks in allocated IP ranges. Please allocate new ranges for this service provider. Non sono disponibili altri indirizzi nell'intervallo IP allocato. Possono verificarsi diversi scenari possibili:

    • La dimensione dell'intervallo IP allocato per la connessione al servizio privato è inferiore a /24.
    • La dimensione dell'intervallo IP allocato per la connessione di servizio privato è troppo piccola per il numero di istanze Cloud SQL.
    • Il requisito relativo alle dimensioni dell'intervallo IP allocato sarà maggiore se le istanze vengono create in più regioni. Vedi dimensione dell'intervallo allocato

    Per risolvere il problema, puoi espandere l'intervallo IP allocato esistente o allocare un intervallo IP aggiuntivo alla connessione di servizio privato. Per saperne di più, consulta Allocare un intervallo di indirizzi IP.

    Se hai utilizzato il flag --allocated-ip-range-name durante la creazione dell'istanza Cloud SQL, puoi espandere solo l'intervallo IP specificato.

    Se stai allocando un nuovo intervallo, assicurati che l'allocazione non si sovrapponga ad allocazioni esistenti.

    Dopo aver creato un nuovo intervallo IP, aggiorna il peering VPC con il seguente comando:

    gcloud services vpc-peerings update \
    --service=servicenetworking.googleapis.com \
    --ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \
    --network=VPC_NETWORK \
    --project=PROJECT_ID \
    --force
        

    Se stai espandendo un'allocazione esistente, fai attenzione ad aumentare solo l'intervallo di allocazione e non a diminuirlo. Ad esempio, se l'allocazione originale era 10.0.10.0/24, la nuova allocazione deve essere almeno 10.0.10.0/23.

    In generale, se si parte da un'allocazione /24, diminuire la maschera di 1 per ogni condizione (gruppo di tipi di istanza aggiuntivo, regione aggiuntiva) è una buona regola pratica. Ad esempio, se provi a creare entrambi i gruppi di tipi di istanza nella stessa allocazione, è sufficiente passare da /24 a /23.

    Dopo aver espanso un intervallo IP esistente, aggiorna il peering VPC con il seguente comando:

    gcloud services vpc-peerings update \
    --service=servicenetworking.googleapis.com \
    --ranges=RESERVED_RANGE_NAME \
    --network=VPC_NETWORK \
    --project=PROJECT_ID
        
    Messaggio di errore: Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID]. Prova a creare di nuovo l'istanza Cloud SQL.
    Messaggio di errore: HTTPError 400: Invalid request: Incorrect Service Networking config for instance: PROJECT_ID:INSTANCE_NAME:SERVICE_NETWORKING_NOT_ENABLED.

    Abilita l'API Service Networking utilizzando il comando seguente e prova a creare di nuovo l'istanza Cloud SQL.

    gcloud services enable servicenetworking.googleapis.com \
    --project=PROJECT_ID
        
    Messaggio di errore: Failed to create subnetwork. Required 'compute.projects.get' permission for PROJECT_ID. Quando crei un'istanza utilizzando un indirizzo IP privato, viene creato un service account just-in-time utilizzando l'API Service Networking. Se hai abilitato di recente l'API Service Networking, il account di servizio potrebbe non essere creato e la creazione dell'istanza non riesce. In questo caso, devi attendere che il account di servizio si propaghi in tutto il sistema o aggiungerlo manualmente con le autorizzazioni richieste.
    Messaggio di errore: More than 3 subject alternative names are not allowed. Stai tentando di utilizzare un nome comune del soggetto personalizzato per aggiungere più di tre nomi DNS al certificato del server di un'istanza Cloud SQL. Non puoi aggiungere più di tre nomi DNS all'istanza.
    Messaggio di errore: Subject alternative names %s is too long. The maximum length is 253 characters. Assicurati che i nomi DNS che vuoi aggiungere al certificato del server di un'istanza Cloud SQL non superino i 253 caratteri.
    Messaggio di errore: Subject alternative name %s is invalid.

    Verifica che i nomi DNS che vuoi aggiungere al certificato del server di un'istanza Cloud SQL soddisfino i seguenti criteri:

    • Non contengono caratteri jolly.
    • Non hanno punti finali.
    • Soddisfano le specifiche RFC 1034.

    Passaggi successivi

    1. Crea un database MySQL sull'istanza.
    2. Crea utenti MySQL sull'istanza.
    3. Proteggi e controlla l'accesso all'istanza.
    4. Connettiti all'istanza con un client MySQL.
    5. Importa i dati nel database.
    6. Scopri di più sulle impostazioni dell'istanza.