Questa pagina descrive come creare un'istanza Cloud SQL per MySQL.
Per informazioni dettagliate su tutte le impostazioni delle istanze, consulta Impostazioni istanza.
Un'istanza appena creata ha quattro database di sistema:
information_schema
: fornisce l'accesso ai metadati del database, alle informazioni sul server MySQL.mysql
: lo schema di sistema. Contiene tabelle che archiviano le informazioni richieste dal server MySQL durante l'esecuzione.performance_schema
: una funzionalità per monitorare l'esecuzione a basso livello del server MySQL.sys
: contiene un insieme di oggetti che aiuta gli autori di nomi e gli sviluppatori a interpretare i dati raccolti dallo schema del rendimento.
Prima di iniziare
- 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.
-
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Assicurati di disporre dei ruoli Amministratore Cloud SQL e Visualizzatore Compute nel tuo account utente.
Scopri di più su ruoli e autorizzazioni.
Creare un'istanza MySQL
Console
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Fai clic su Crea istanza.
- Nel riquadro Scegli il motore del database della pagina Crea un'istanza, fai clic su Scegli MySQL.
- 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 appropriato (ad esempio nei file di log).
- Imposta una password per l'utente root.
Sebbene sia disponibile l'opzione Nessuna password, non è consigliabile per motivi di sicurezza.
(Facoltativo) Configura un criterio relativo alle password per l'istanza nel seguente modo:
- Seleziona la casella di controllo Attiva criteri per le password.
- Fai clic sul pulsante Imposta criterio 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 contenere.
- Complessità della password: verifica se la password è una combinazione di caratteri minuscoli, maiuscoli, numerici e non alfanumerici.
- Limita il riutilizzo delle password: specifica il numero di password precedenti che non puoi riutilizzare.
Supportata solo su Cloud SQL per MySQL 8.0.
- Non consentire nome utente: impedisce l'utilizzo del nome utente nella password.
- Seleziona la versione del database per la tua istanza: MySQL 8.0 (impostazione predefinita), MySQL 5.7 o MySQL 5.6.
- (Facoltativo) Seleziona Mostra versioni secondarie. Quindi scegli una versione secondaria diversa da quella secondaria predefinita.
- Seleziona la versione Cloud SQL per l'istanza:
Enterprise
oEnterprise plus
. Per saperne di più sulle versioni di Cloud SQL, consulta Introduzione alle versioni di Cloud SQL. - Nella sezione Scegli la disponibilità a livello di regione e zona, seleziona la regione e la zona per la tua istanza.
La disponibilità delle regioni potrebbe variare in base alla versione di Cloud SQL in uso. Per saperne di più, consulta Informazioni sulle impostazioni dell'istanza.
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 sia una zona principale che una secondaria.
Le condizioni seguenti si applicano quando la zona secondaria viene utilizzata durante la creazione dell'istanza:
- Il valore predefinito delle zone è
Any
per la zona principale eAny (different from primary)
per la zona secondaria. - Se sono specificate sia la zona principale che quella secondaria, devono essere zone distinte.
- Il valore predefinito delle zone è
- Nella sezione Personalizza la tua istanza, aggiorna le impostazioni per l'istanza.
Inizia facendo clic su MOSTRA OPZIONI DI CONFIGURAZIONE per visualizzare i gruppi di impostazioni. Poi, espandi i gruppi che ti interessano per esaminare e personalizzare le impostazioni.
A destra è visualizzato un riepilogo di tutte le opzioni selezionate.
La personalizzazione di queste impostazioni dell'istanza è facoltativa. I valori predefiniti vengono assegnati ogni volta che non viene effettuata alcuna personalizzazione.
La tabella seguente fornisce un riferimento rapido alle impostazioni dell'istanza. Per ulteriori dettagli su ciascuna impostazione, consulta la pagina relativa alle impostazioni dell'istanza.
Impostazione Note Tipo di macchina Tipo di macchina Seleziona Core condiviso o Core dedicato. Per il core condiviso, ogni tipo di macchina è classificato in base al numero di CPU (core) e alla quantità di memoria per la tua istanza. Core Il numero di vCPU per la tua istanza. Scopri di più. Memoria La quantità di memoria per l'istanza, in GB. Scopri di più. Personalizzata Per il tipo di macchina con core dedicata, anziché selezionare una configurazione predefinita, seleziona il pulsante Personalizzato 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 Google L'opzione predefinita. Chiave di crittografia gestita dal cliente (CMEK) Scegli se 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 un'ulteriore configurazione.
Facoltativamente, puoi specificare un intervallo IP allocato per le tue istanze da utilizzare per le connessioni.- Espandi Mostra l'opzione dell'intervallo IP allocato.
- Seleziona un intervallo IP dal menu a discesa.
L'istanza può avere un indirizzo IP sia pubblico che privato.
- Scopri di più sull'utilizzo dell'IP privato.
- Scopri di più sugli intervalli di indirizzi IP allocati.
IP pubblico Aggiunge un indirizzo IP pubblico per l'istanza. Puoi quindi aggiungere reti autorizzate per la connessione all'istanza. L'istanza può avere un indirizzo IP sia pubblico che 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 Google Cloud Se selezioni questa casella di controllo, consenti ad altri servizi Google Cloud, come BigQuery, di accedere ai dati in Cloud SQL ed eseguire query su questi dati tramite una connessione privata.
Protezione dei dati Backup automatici La finestra temporale in cui vuoi avviare i backup. Scopri di più. Scegli dove archiviare i tuoi backup Seleziona Più regioni per la maggior parte dei casi d'uso. Se devi archiviare i backup in una regione specifica, ad esempio in presenza di motivi normativi, seleziona Regione e scegli la tua regione dal menu a discesa Località. Scegli quanti backup automatici archiviare Il 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 il logging write-ahead. Scopri di più. Attiva la protezione da eliminazione Consente di stabilire se proteggere un'istanza dall'eliminazione accidentale. Scopri di più. Scegli il numero di giorni di log da conservare Configura la conservazione dei log write-ahead da 1 a 7 giorni. L'impostazione predefinita è 7 giorni. Scopri di più. Manutenzione Finestra preferita Determina un periodo di un'ora in cui Cloud SQL può eseguire la manutenzione di disturbo sull'istanza. Se non imposti la finestra, la manutenzione invasiva può essere eseguita in qualsiasi momento. Scopri di più. Ordine degli aggiornamenti La tua tempistica preferita 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 dell'istanza. Scopri di più. Etichette AGGIUNGI ETICHETTA Aggiungi una chiave e un valore per ogni etichetta che aggiungi. Puoi utilizzare le etichette per organizzare le istanze. Cache dei dati (Facoltativo) Attiva la cache dei dati Abilita la cache dei dati per le istanze della versione Cloud SQL per MySQL Enterprise Plus. Per ulteriori informazioni sulla cache dei dati, consulta la pagina relativa alla cache di dati. -
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.
Per visualizzare la password in chiaro, fai clic sull'icona Mostra password.
Puoi inserire la password manualmente o fare clic su Genera per fare in modo che Cloud SQL crei una password per te automaticamente.
La versione del database non può essere modificata dopo la creazione dell'istanza.
gcloud
Per informazioni su come installare e iniziare a utilizzare gcloud CLI, consulta Installazione di gcloud CLI. Per informazioni sull'avvio di Cloud Shell, consulta la documentazione di Cloud Shell.
- Utilizza il comando
gcloud sql instances create
per creare l'istanza:
Per le istanze della versione Cloud SQL Enterprise Plus:gcloud sql instances create INSTANCE_NAME \ --region=REGION \ --tier=TIER \ --database-version=MYSQL_8_0_31 \ --edition=ENTERPRISE_PLUS
Per le istanze della versione 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 sui valori per le vCPU e le 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, la stringa seguente crea un'istanza della versione 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
La stringa seguente crea un'istanza della versione 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, poiché sono visibili esternamente.
Non è necessario includere l'ID progetto nel nome dell'istanza. Questa operazione viene eseguita automaticamente ove appropriato (ad esempio nei file di log).Se crei un'istanza per l'alta disponibilità, puoi specificare sia la zona principale che quella secondaria utilizzando i parametri
--zone
e--secondary-zone
. Le seguenti condizioni si applicano quando la zona secondaria viene utilizzata durante la creazione o la modifica dell'istanza:- Le zone devono essere zone valide.
- Se viene specificata la zona secondaria, è necessario specificare anche quella primaria.
- Se vengono specificate le zone primarie e secondarie, devono essere zone distinte.
- Se sono specificate le zone primarie e secondarie, 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 versione Cloud SQL in uso. Regione --region
Visualizza i valori validi. Impostare i criteri relativi alle password Abilita il criterio delle password --enable-password-policy
Attiva il criterio per le password quando viene utilizzato. Per impostazione predefinita, il criterio relativo alle password è disattivato. Se la funzionalità viene disattivata usando il parametro --clear-password-policy
, gli altri parametri dei criteri relativi alle password vengono reimpostati.Lunghezza minima --password-policy-min-length
Specifica il numero minimo di caratteri che la password deve contenere. Complessità della password --password-policy-complexity
Consente di attivare il controllo della complessità della password per garantire che la password contenga uno di ciascuno di questi tipi di caratteri: 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. Supportata solo su Cloud SQL per MySQL 8.0. Non consentire nome utente --password-policy-disallow-username-substring
Impedisce di utilizzare il nome utente nella password. Utilizza il parametro --no-password-policy-disallow-username-substring
per disabilitare 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 da 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 il nome di un intervallo per il quale è allocato un intervallo IP. Ad esempio,google-managed-services-default
. Il nome dell'intervallo deve essere conforme aRFC-1035
e deve contenere da 1 a 63 caratteri. (gcloud alpha sql instances create
).--enable-google-private-path
: se utilizzi questo parametro, consenti ad altri servizi Google Cloud, 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 da utilizzare per creare una connessione privata.
Scopri di più sulla configurazione dell'IP privato.
IP pubblico --authorized-networks
Per le connessioni con IP pubblico, solo le connessioni da reti autorizzate possono connettersi all'istanza. Scopri di più. Applicazione SSL --ssl-mode
--require-ssl
Il parametro
ssl-mode
applica l'applicazione forzata di SSL/TLS per le connessioni. Per maggiori informazioni, consulta Impostazioni per Cloud SQL per MySQL.Il parametro
require-ssl
determina se le connessioni SSL su IP vengono applicate o meno.require-ssl
è un parametro precedente. Usa invece il criteriossl-mode
. Per saperne di più, consulta IpConfiguration.Tipo di macchina e archiviazione Tipo di macchina --tier
Utilizzato per specificare un'istanza con core condiviso ( db-f1-micro
odb-g1-small
). Per una configurazione di istanza personalizzata, utilizza invece i parametri--cpu
o--memory
. Consulta Configurazione dell'istanza personalizzata.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 in che modo Cloud SQL di grandi dimensioni può aumentare automaticamente lo spazio di archiviazione. Disponibile solo per il comando beta ( gcloud beta sql instances create
). Scopri di più.Cache dei dati (facoltativa) --enable-data-cache
Abilita o disattiva la cache dei dati per le istanze. Per maggiori informazioni, consulta Cache di dati. Backup automatici e alta disponibilità Alta disponibilità --availability-type
Per un'istanza a disponibilità elevata, imposta il valore su REGIONAL
. Scopri di più.Zona secondaria --secondary-zone
Se vuoi creare un'istanza per l'alta disponibilità, puoi specificare sia la zona principale che 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 zone valide.
- Se viene specificata la zona secondaria, è necessario specificare anche quella primaria.
Se vengono specificate le zone primarie e secondarie, devono essere zone distinte.
Se sono specificate le zone primarie e secondarie, devono appartenere alla stessa regione.
Backup automatici --backup-start-time
La finestra temporale in cui vuoi avviare 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 cui conservare i log binari per il recupero point-in-time.Scopri di più. Aggiungi flag di database Flag di database --database-flags
Puoi utilizzare i flag di database per controllare le impostazioni e i parametri dell'istanza. Scopri di più sui flag di database. Scopri di più su come formattare questo parametro. Programma di manutenzione Periodo di manutenzione --maintenance-window-day
,--maintenance-window-hour
Determina un periodo di un'ora in cui Cloud SQL può eseguire la manutenzione di disturbo sull'istanza. Se non imposti la finestra, la manutenzione in corso può essere eseguita in qualsiasi momento. Scopri di più. Tempistica per manutenzione --maintenance-release-channel
La tua tempistica preferita per gli aggiornamenti delle istanze, rispetto ad altre istanze dello stesso progetto. Utilizza preview
per gli aggiornamenti precedenti eproduction
per quelli successivi. Scopri di più. - Prendi nota dell'indirizzo IP assegnato automaticamente.
Se non utilizzi il proxy di autenticazione Cloud SQL, utilizzerai questo indirizzo come indirizzo host che le applicazioni o gli strumenti utilizzano per connettersi all'istanza.
- 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.
Applica le modifiche
Per applicare la configurazione Terraform in un progetto Google Cloud, completa i passaggi nelle sezioni seguenti.
prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Google Cloud predefinito a 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
Se imposti valori espliciti nel file di configurazione Terraform, le variabili di ambiente vengono sostituite.
Prepara la directory
Ogni file di configurazione Terraform deve avere una propria directory (detta anche modulo principale).
-
In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome del file deve avere l'estensione
.tf
, ad esempiomain.tf
. In questo tutorial, il file è indicato comemain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
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.Se vuoi, copia il codice da GitHub. Questa opzione è consigliata se lo snippet Terraform fa parte di una soluzione end-to-end.
- Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
terraform init
Facoltativamente, per utilizzare la versione più recente del provider Google, includi l'opzione
-upgrade
:terraform init -upgrade
Applica le modifiche
-
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.
-
Applica la configurazione Terraform eseguendo il comando seguente e inserendo
yes
al prompt:terraform apply
Attendi finché Terraform non visualizza il messaggio "Applicazione completata".
- Apri il progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.
Elimina le modifiche
Per eliminare le modifiche:
- Per disabilitare la protezione dall'eliminazione, nel file di configurazione Terraform imposta
l'argomento
deletion_protection
sufalse
.deletion_protection = "false"
- Applica la configurazione Terraform aggiornata eseguendo il comando seguente e inserendo
yes
al prompt:terraform apply
-
Rimuovi le risorse applicate in precedenza con la tua configurazione Terraform eseguendo il comando seguente e inserendo
yes
al prompt:terraform destroy
REST v1
Crea l'istanza
In questo esempio viene creata un'istanza. Sono inclusi anche alcuni parametri facoltativi, come backup e logging binario. 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, consulta Impostazioni istanza.
Non includere informazioni sensibili o che consentono l'identificazione personale
nell'ID istanza: sono visibili esternamente.
Non è necessario includere l'ID progetto nel nome dell'istanza. Questa operazione viene eseguita automaticamente ove appropriato (ad esempio nei file di log).
Prima di utilizzare i dati della richiesta, effettua 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_0
oMYSQL_8_0_31
. - REGION: la regione
- MACHINE_TYPE: il tuo 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 la tua 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 da reti autorizzate che possono connettersi alla tua istanza.
Per impostare un criterio per le password durante la creazione di un'istanza, includi l'oggetto passwordValidationPolicy nella richiesta. Imposta i seguenti parametri come richiesto:
enablePasswordPolicy
: attiva il criterio per le password se viene impostato sutrue
.Per rimuovere il criterio relativo alle password, puoi utilizzare una richiesta
PATCH
connull
come valore perenablePasswordPolicy
. In questo caso, gli altri parametri dei criteri relativi alle password vengono reimpostati.minLength
: specifica il numero minimo di caratteri che la password deve contenere.complexity
: controlla 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.Supportata solo su Cloud SQL per MySQL 8.0.
disallowUsernameSubstring
: impedisce l'utilizzo del nome utente nella password se impostata sutrue
.
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 } } }
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 a lunga esecuzione, il cui completamento potrebbe richiedere alcuni minuti.
Aggiorna la password root
Al termine dell'inizializzazione dell'istanza, aggiorna la password root:
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: 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 per la nuova istanza:
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: 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.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
In questo esempio viene creata un'istanza. Sono inclusi anche alcuni parametri facoltativi, come backup e logging binario. Per un elenco completo dei parametri di questa chiamata, consulta la pagina instances:insert. Per informazioni sulle impostazioni dell'istanza, inclusi i valori validi per la regione, consulta Impostazioni istanza
Non includere informazioni sensibili o che consentono l'identificazione personale
nell'ID istanza: sono visibili esternamente.
Non è necessario includere l'ID progetto nel nome dell'istanza. Questa operazione viene eseguita automaticamente ove appropriato (ad esempio nei file di log).
Prima di utilizzare i dati della richiesta, effettua 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_0
oMYSQL_8_0_31
. - REGION: la regione
- MACHINE_TYPE: il tuo 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 la tua istanza
Per impostare un criterio per le password durante la creazione di un'istanza, includi l'oggetto passwordValidationPolicy nella richiesta. Imposta i seguenti parametri come richiesto:
enablePasswordPolicy
: attiva il criterio per le password se viene impostato sutrue
.Per rimuovere il criterio relativo alle password, puoi utilizzare una richiesta
PATCH
connull
come valore perenablePasswordPolicy
. In questo caso, gli altri parametri dei criteri relativi alle password vengono reimpostati.minLength
: specifica il numero minimo di caratteri che la password deve contenere.complexity
: controlla 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.Supportata solo su Cloud SQL per MySQL 8.0.
disallowUsernameSubstring
: impedisce l'utilizzo del nome utente nella password se impostata sutrue
.
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", } } }
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 a lunga esecuzione, il cui completamento potrebbe richiedere alcuni minuti.
Aggiorna la password root
Al termine dell'inizializzazione dell'istanza, aggiorna la password root:
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: 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 a lunga esecuzione, il cui completamento potrebbe richiedere alcuni minuti.
Recupera l'indirizzo IPv4
Recupera l'indirizzo IPv4 assegnato automaticamente per la nuova istanza:
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: il tuo ID progetto
- instance-id: 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.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.
Specifica la versione secondaria del database
Puoi specificare la versione secondaria di un'istanza 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
(versione secondaria predefinita per MySQL 8.0),MYSQL_8_0_32
oMYSQL_8_0_33
. Se specifichiMYSQL_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 mediante gcloud
.
REST v1
Utilizza una richiesta POST con il metodo
instances:insert e il flag databaseVersion
.
POST https://sqladmin.googleapis.com/sql/v1/projects/project-id/instancesPrima 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
(versione secondaria predefinita per MySQL 8.0),MYSQL_8_0_32
oMYSQL_8_0_33
. Se specifichiMYSQL_8_0
, viene utilizzata la versione secondaria predefinita. Se non specifichi questo flag, viene utilizzata la versione principale predefinita,MYSQL_8_0
.
Per informazioni dettagliate, consulta la documentazione sulla creazione di un'istanza tramite 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
(versione secondaria predefinita per MySQL 8.0),MYSQL_8_0_32
oMYSQL_8_0_33
. Se specifichiMYSQL_8_0
, viene utilizzata la versione secondaria predefinita. Se non specifichi questo flag, viene utilizzata la versione principale predefinita,MYSQL_8_0
.
Per informazioni dettagliate, consulta la documentazione relativa alla 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.
Durante la clonazione di un'istanza, l'istanza appena creata ha la stessa versione secondaria dell'origine.
Quando esegui un recupero point-in-time, l'istanza appena creata ha la stessa versione secondaria del database dell'origine.
Configurazioni di istanze personalizzate
Determina la memoria e i core virtuali disponibili per la tua istanza Cloud SQL. La disponibilità dei tipi di macchina è determinata dalla versione di Cloud SQL in uso.
Per i carichi di lavoro che richiedono l'elaborazione in tempo reale, come 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 interni di overhead. Devi eseguire test di carico per evitare problemi di prestazioni nel tuo ambiente di produzione.
Quando configuri l'istanza, seleziona memoria e vCPU sufficienti per gestire il carico di lavoro ed esegui l'upgrade man mano che il carico di lavoro aumenta. Una configurazione di macchina con vCPU insufficienti potrebbe perdere la copertura dello SLA (accordo sul livello del servizio). Per ulteriori informazioni, consulta le linee guida operative.
Tipi di macchine per le istanze della versione Cloud SQL Enterprise Plus
Per le istanze della versione Cloud SQL Enterprise Plus, i tipi di macchine sono predefiniti come segue:
Tipo di macchina Enterprise Plus | vCPUs | Memoria (GB) | SSD locale |
---|---|---|---|
db-perf-optimized-N-2 | 2 | 16 | 375 |
db-perf-optimized-N-4 | 4 | 32 | 375 |
db-perf-optimized-N-8 | 8 | 64 | 375 |
db-perf-optimized-N-16 | 16 | 128 | 750 |
db-perf-optimized-N-32 | 32 | 256 | 1500 |
db-perf-optimized-N-48 | 48 | 384 | 3000 |
db-perf-optimized-N-64 | 64 | 512 | 6000 |
db-perf-optimized-N-80 | 80 | 640 | 6000 |
db-perf-optimized-N-96 | 96 | 768 | 6000 |
db-perf-optimized-N-128 | 128 | 864 | 9000 |
Tipi di macchine per le istanze della versione Cloud SQL Enterprise
Per le istanze della versione Cloud SQL Enterprise, puoi anche creare configurazioni di istanze personalizzate utilizzando il comando gcloud sql
instances create
.
Le configurazioni di istanze personalizzate consentono di selezionare la quantità di memoria e CPU necessaria per l'istanza. Questa flessibilità consente di scegliere
la forma di VM appropriata per il tuo carico di lavoro.
I nomi dei tipi di macchina utilizzano il seguente formato:
db-custom-#-#
Sostituisci il primo segnaposto # con il numero di CPU nella macchina e il secondo segnaposto # con la quantità di memoria nella macchina.
Ad esempio, se il nome della tua macchina è db-custom
e la tua macchina ha 1 CPU e 3840 MB di RAM, il formato della macchina sarà db-custom-1-3840
.
Quando selezioni il numero di CPU e la quantità di memoria, la configurazione scelta prevede alcune restrizioni:
- 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)
La seguente tabella elenca i nomi di ogni tipo di macchina legacy, il numero di CPU e RAM per ogni tipo di macchina e la stringa risultante per il tipo di macchina.
Puoi creare il tipo di macchina equivalente specificando la CPU e la RAM equivalenti nella console Google Cloud, utilizzando gcloud CLI oppure specificando db-custom-#-#
nell'API.
Tipo di macchina precedente | vCPUs | Memoria (MB) | Stringa db-custom-CPU-RAM (stringa del livello API) |
---|---|---|---|
db-n1-standard-1 | 1 | 3840 | db-custom-1-3840 |
db-n1-standard-2 | 2 | 7680 | db-custom-2-7680 |
db-n1-standard-4 | 4 | 15360 | db-custom-4-15360 |
db-n1-standard-8 | 8 | 30720 | db-custom-8-30720 |
db-n1-standard-16 | 16 | 61440 | db-custom-16-61440 |
db-n1-standard-32 | 32 | 122880 | db-custom-32-122880 |
db-n1-standard-64 | 64 | 245760 | db-custom-64-245760 |
db-n1-standard-96 | 96 | 368640 | db-custom-96-368640 |
db-n1-highmem-2 | 2 | 13312 | db-custom-2-13312 |
db-n1-highmem-4 | 4 | 26624 | db-custom-4-26624 |
db-n1-highmem-8 | 8 | 53248 | db-custom-8-53248 |
db-n1-highmem-16 | 16 | 106496 | db-custom-16-106496 |
db-n1-highmem-32 | 32 | 212992 | db-custom-32-212992 |
db-n1-highmem-64 | 64 | 425984 | db-custom-64-425984 |
db-n1-highmem-96 | 96 | 638976 | db-custom-96-638976 |
Risolvere i 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 presenti altri indirizzi disponibili nell'intervallo IP allocato. Possono esserci diversi scenari:
Per risolvere il problema, puoi espandere l'intervallo IP allocato esistente o allocare un intervallo IP aggiuntivo alla connessione privata al servizio. Per maggiori informazioni, consulta Assegnare un intervallo di indirizzi IP. Se hai utilizzato il flag Se assegni un nuovo intervallo, assicurati che l'allocazione non si sovrapponga ad alcuna allocazione esistente. 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, assicurati di aumentare solo l'intervallo di allocazione e non di diminuirlo. Ad esempio, se l'allocazione originale era 10.0.10.0/24, imposta la nuova allocazione ad almeno 10.0.10.0/23. In generale, se parte da un'allocazione /24, una buona regola generale è diminuire la dimensione /mask di 1 per ogni condizione (gruppo di tipi di istanza aggiuntivo, regione aggiuntiva). Ad esempio, se si cerca di creare entrambi i gruppi di tipi di istanza sulla 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. |
Passaggi successivi
- Crea un database MySQL sull'istanza.
- Crea utenti MySQL nell'istanza.
- Proteggere e controllare l'accesso all'istanza.
- Connettiti all'istanza con un client MySQL.
- Importare i dati nel database.