Creare istanze

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

Per informazioni dettagliate su tutte le impostazioni dell'istanza, vedi Impostazioni dell'istanza.

Un'istanza appena creata ha un database postgres.

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. 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 senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Install the gcloud CLI.

  5. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. Install the gcloud CLI.

  10. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

    gcloud init
  12. Assicurati di disporre dei seguenti ruoli nel tuo account utente:

    Vai alla pagina IAM

    Scopri di più su ruoli e autorizzazioni.

Crea un'istanza PostgreSQL

Console

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

    Vai a Istanze Cloud SQL

  2. Fai clic su Crea istanza.
  3. Seleziona Nuova istanza.
  4. Nel riquadro Scegli il tuo motore del database della pagina Crea un'istanza, fai clic su Scegli PostgreSQL.
  5. 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.

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

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

  8. 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, se opportuno (ad esempio nei file di log).

  9. Inserisci una password per l'utente postgres.
  10. Per visualizzare la password in testo non crittografato, 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.

  11. (Facoltativo) Configura una policy per le password per l'istanza come segue:
    1. Seleziona la casella di controllo Abilita policy per le password.
    2. Fai clic sul pulsante Imposta policy password, imposta una o più delle seguenti opzioni e fai clic su Salva.
      • Lunghezza minima: specifica il numero minimo di caratteri che deve avere la password.
      • Complessità della password: controlla se la password è una combinazione di lettere minuscole, lettere maiuscole, numeri e caratteri non alfanumerici.
      • Limita il riutilizzo della password: specifica il numero di password precedenti che non puoi riutilizzare.
      • Non consentire il nome utente: impedisce l'utilizzo del nome utente nella password.
      • Imposta l'intervallo di modifica delle password: specifica il numero minimo di ore dopo il quale è possibile modificare la password.
  12. 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 PostgreSQL. Per saperne di più, consulta Informazioni sulle impostazioni delle istanze.

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

    Se stai configurando l'istanza per l'alta affidabilità, puoi selezionare sia una zona principale sia una zona secondaria.

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

    • Le zone predefinite sono Any per la zona principale e Any (different from primary) per la zona secondaria.
    • Se vengono specificate sia la zona primaria sia quella secondaria, devono essere zone distinte.
  13. Nella sezione Personalizza la tua istanza, aggiorna le impostazioni per l'istanza. Fai clic su Mostra opzione di configurazione per visualizzare i gruppi di impostazioni. Quindi, espandi i gruppi che vuoi esaminare e personalizza 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 è un riferimento rapido alle impostazioni dell'istanza. Per ulteriori dettagli su ogni impostazione, consulta la pagina Impostazioni dell'istanza.

    Impostazione Note
    Tipo di macchina
    Tipo di macchina Seleziona Con core condiviso o Con core dedicato. Per i core condivisi, 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 la tua istanza. Scopri di più.
    Cache dei dati
    Abilita la cache dei dati Per impostazione predefinita, l'opzione per abilitare la cache dei dati viene selezionata automaticamente per le istanze Cloud SQL per PostgreSQL Enterprise Plus. Se non vuoi attivare la cache dei dati, deseleziona la casella di controllo Abilita cache dei dati. Per saperne di più sulla cache dei dati, consulta Cache dei dati.
    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. Scegli una connessione di accesso privato ai servizi, una connessione Private Service Connect o entrambe per la tua istanza. La tua selezione fornisce la connessione di rete privata per la tua istanza. In tutti i casi, è necessaria una configurazione aggiuntiva.

    Per selezionare e configurare l'accesso privato ai servizi, segui questi passaggi:

    1. Seleziona la casella di controllo Accesso privato ai servizi (PSA).
    2. Dal menu a discesa Rete VPC, seleziona il nome della rete a cui si connette l'istanza.
    3. Dal menu a discesa Intervallo IP allocato, seleziona Automatico o un intervallo IP con nome specifico dal menu a discesa.

    Per saperne di più sulla configurazione dell'accesso privato ai servizi, consulta Configura l'accesso privato ai servizi. La tua istanza può avere sia un indirizzo IP pubblico che un indirizzo IP privato.

    Per selezionare e configurare Private Service Connect, segui questi passaggi:

    1. Seleziona la casella di controllo Private Service Connect (PSC).
    2. Fai clic su Aggiungi un endpoint.
    3. Nella sezione Configurazione endpoint, segui questi passaggi:
      • Nella scheda Nuovo endpoint, seleziona il progetto in cui vuoi configurare l'endpoint dal menu a discesa Progetto.
      • Seleziona una rete per l'endpoint dal menu a discesa Rete.
      • Se l'API Network Connectivity non è ancora abilitata, fai clic su Abilita.
    4. Per configurare le autorizzazioni per creare automaticamente la policy di connessione al servizio, fai clic su Conferma configurazione di rete.

    Per ulteriori informazioni sulla configurazione di Private Service Connect, consulta Configura Private Service Connect.

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

    L'istanza può avere sia un indirizzo IP pubblico che 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ù.

    Consenti API di dati

    Selezionando questa casella di controllo, consenti agli utenti autorizzati di chiamare l'API Data per eseguire istruzioni SQL sull'istanza. Per le istanze che hanno solo un IP privato, ciò consente agli utenti autorizzati di chiamare l'API di dati da internet pubblico.

    Abilita percorso privato

    Selezionando 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.

    Abilita il pool di connessioni gestito

    Selezionando questa casella di controllo, abiliti il pool di connessioni gestito per la tua istanza. Il pool di connessioni gestito consente di scalare i workload 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 la 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 Google Cloud , l'istanza utilizza l'autorità di certificazione interna gestita da Google (GOOGLE_MANAGED_INTERNAL_CA), che è l'opzione CA per istanza.

    Rotazione automatica del certificato del server

    Se selezioni l'opità di certificazione (CA) CAS gestita da Google (GOOGLE_MANAGED_CAS_CA) o l'autorità di certificazione interna CAS gestita dal cliente (CUSTOMER_MANAGED_CAS_CA) come modalità CA del server per l'istanza, puoi scegliere se ruotare automaticamente il certificato del server per l'istanza. Per saperne di più sulla rotazione automatica dei certificati del server Cloud SQL, consulta Abilita la rotazione automatica dei certificati del server.

    Per impostazione predefinita, questa opzione è disabilitata.
    Protezione dei dati
    Livello di backup L'opzione di backup della tua istanza. Puoi scegliere tra backup avanzati e backup standard.
    Backup automatici Il periodo di tempo in cui vuoi che inizino i backup. Scopri di più.
    Scegli dove archiviare i tuoi backupSeleziona Multiregione per la maggior parte dei casi d'uso. Se devi archiviare i backup in una regione specifica, ad esempio per motivi normativi, 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 il logging write-ahead. Scopri di più.
    Abilita la protezione da eliminazione Determina se proteggere un'istanza dall'eliminazione accidentale. Scopri di più.
    Abilita 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 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 invasiva sull'istanza. Se non imposti il periodo, la manutenzione invasiva può essere eseguita in qualsiasi momento. Scopri di più.
    Ordine degli aggiornamenti La tempistica preferita per gli aggiornamenti delle istanze, rispetto ad altre istanze dello stesso progetto. Scopri di più.
    Flags
    AGGIUNGI SEGNALAZIONE Puoi utilizzare i flag di database per controllare le impostazioni e i parametri della tua istanza. Scopri di più.
    Query Insights
    Abilita Query Insights

    Se selezioni questa casella di controllo, abiliti Query Insights per la tua istanza. Query Insights fornisce informazioni dettagliate sulle query del database, tra cui prestazioni, testo e piani di esecuzione delle query. Dopo aver selezionato Query Insights, puoi attivare funzionalità aggiuntive associate a Query Insights. Per ulteriori informazioni su queste funzionalità e su Query Insights, consulta Utilizza Query Insights per migliorare le prestazioni delle query.

    Etichette
    AGGIUNGI ETICHETTAAggiungi una chiave e un valore per ogni etichetta che aggiungi. Utilizza le etichette per organizzare le istanze.
  14. Fai clic su Crea istanza.

    Nota: la creazione dell'istanza potrebbe richiedere alcuni minuti. Tuttavia, puoi visualizzare 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 \
        --database-version=DATABASE_VERSION \
        --region=REGION \
        --tier=TIER \
        --edition=ENTERPRISE_PLUS
        

    Per le istanze Cloud SQL Enterprise:
        gcloud sql instances create INSTANCE_NAME \
        --database-version=DATABASE_VERSION \
        --region=REGION \
        --cpu=NUMBER_CPUS \
        --memory=MEMORY_SIZE \
        --edition=ENTERPRISE
        
    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:

    • Il numero di vCPU deve essere 1 o un numero pari compreso tra 2 e 96.
    • La memoria deve essere:
      • 0,9-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=POSTGRES_16 \
      --cpu=2 \
      --memory=7680MB \
      --region=us-central1
      

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

      gcloud sql instances create myinstance \
      --database-version=POSTGRES_16 \
      --tier=db-perf-optimized-N-4 \
      --edition=ENTERPRISE_PLUS \
      --region=us-central1
      
    Per saperne di più su come dimensionare l'elaborazione (--cpu) e la memoria (--memory), consulta Scegli una serie di macchine.

    Il valore predefinito per REGION è us-central1.

    Non includere informazioni sensibili o che consentono l'identificazione personale nel nome dell'istanza, che è 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 affidabilità, puoi specificare sia la zona primaria sia 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, deve essere specificata anche quella principale.
    • Se vengono specificate le zone principale e secondaria, devono essere zone distinte.
    • Se sono specificate le zone primaria e secondaria, 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 versione 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, i criteri per le password sono disabilitati. Se viene disattivato utilizzando il parametro --clear-password-policy, gli altri parametri della policy per le 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 assicurarti che la password contenga uno 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.
    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.
    Imposta l'intervallo di modifica delle password --password-policy-password-change-interval Specifica la durata minima dopo la quale puoi cambiare la password, ad esempio 2m per 2 minuti.
    Connettività
    Pool di connessioni gestito --enable-connection-pooling Attiva il pool di connessioni gestito nella nuova istanza. Puoi configurare le impostazioni avanzate di Managed Connection Pooling dopo la creazione dell'istanza.

    Nota : questa funzionalità è disponibile solo per le istanze della versione Cloud SQL Enterprise Plus configurate per soddisfare i requisiti del pool di connessioni gestito.

    IP privato

    Accesso privato ai servizi

    --network

    --no-assign-ip (facoltativo)

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

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



    Private Service Connect

    --no-assign-ip

    --enable-private-service-connect

    --allowed-psc-projects

    --psc-auto-connections

    --enable-psc-auto-connection-policy

    --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. Nei progetti nuovi o vuoti, devi attivare servicenetworking.googleapis.com, allocare un intervallo IP e configurare il peering di rete VPC prima di creare l'istanza. 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 per l'intervallo per cui viene allocato un intervallo IP. Ad esempio, google-managed-services-default. Il nome dell'intervallo deve essere conforme a RFC-1035 e avere una lunghezza compresa tra 1 e 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 che vuoi utilizzare per creare una connessione privata.

    Per le istanze Cloud SQL che utilizzano Private Service Connect per le connessioni IP private, utilizza i seguenti flag:

    --enable-private-service-connect: abilita le connessioni di rete privata all'istanza Cloud SQL utilizzando Private Service Connect. Per ulteriori informazioni, consulta la panoramica di Private Service Connect in Cloud SQL.

    --allowed-psc-projects: un elenco separato da virgole di ID o numeri di progetto consentiti da cui gli endpoint Private Service Connect possono connettersi alle istanze Cloud SQL.

    --psc-auto-connections: se configuri automaticamente gli endpoint per un'istanza Cloud SQL, utilizza il flag per specificare le reti e i progetti consumer per gli endpoint Private Service Connect.

    --enable-psc-auto-connection-policy: se specificato, Google Cloud crea o aggiorna una policy di connessione al servizio nella rete consumer e nel progetto per l'endpoint Private Service Connect.

    Per ulteriori informazioni sulla configurazione di Private Service Connect, consulta Configura Private Service Connect.

    Accesso all'API di dati --data-api-access Controlla la connettività all'istanza utilizzando l'API di dati. È disattivato per impostazione predefinita. Imposta il valore su ALLOW_DATA_API per consentire agli utenti di utilizzare l'API Data per connettersi all'istanza. Per le istanze configurate solo con un indirizzo IP privato, gli utenti autorizzati possono chiamare l'API Data sull'istanza da internet pubblico. Imposta il valore su DISALLOW_DATA_API per non consentire l'utilizzo dell'API Data.
    IP pubblico --authorized-networks Per le connessioni IP pubbliche, solo le connessioni da reti autorizzate possono connettersi alla tua istanza. Scopri di più.
    Applicazione di SSL

    --ssl-mode

    --require-ssl

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

    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 l'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 Google Cloud Certificate Authority Service (servizio CA). Le CA server subordinate in una regione firmano i certificati server e sono condivise tra le istanze nella regione.
    • CUSTOMER_MANAGED_CAS_CA: con questa opzione, definisci la gerarchia delle CA e gestisci la rotazione dei certificati CA. Crea un pool CA nel servizio CA nella stessa regione della tua istanza. Una delle CA nel pool viene utilizzata per firmare il certificato server. Per saperne di più, consulta Utilizza una CA gestita dal cliente.
    Rotazione automatica del certificato del server --server-certificate-rotation-mode

    Il flag --server-certificate-rotation-mode configura il tipo di modalità di rotazione del certificato del server dell'istanza. Puoi selezionare una delle seguenti opzioni:

    • NO_AUTOMATIC_ROTATION: questo è il valore predefinito. Con questa opzione, non verrà eseguita la rotazione automatica del certificato del server. La rotazione dei certificati del server deve essere eseguita manualmente.
    • AUTOMATIC_ROTATION_DURING_MAINTENANCE: con questa opzione, la rotazione automatica dei certificati del server viene attivata durante la manutenzione pianificata di Cloud SQL o gli aggiornamenti di manutenzione self-service. Richiede che server_ca_mode sia GOOGLE_MANAGED_CAS_CA o CUSTOMER_MANAGED_CAS_CA.
    Architettura di rete --enforce-new-sql-network-architecture Imponi l'utilizzo della nuova architettura di rete per l'istanza al momento della creazione. L'utilizzo di questo flag quando crei un'istanza prima che il progetto sia stato completamente aggiornato alla nuova architettura di rete può portare a un consumo eccessivo di indirizzi IP o alla mancata creazione di istanze se non rimangono indirizzi IP sufficienti nell'intervallo IP allocato. Per saperne di più, consulta Esegui l'upgrade di un'istanza alla nuova architettura di rete e Alloca un intervallo di indirizzi IP.
    Tipo di macchina e spazio di 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 Scegli una serie di macchine per le possibili configurazioni.
    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 dimensione massima dello spazio di archiviazione di Cloud SQL che può essere aumentata automaticamente. Scopri di più.
    Cache dei dati (facoltativa) --enable-data-cache Attiva o disattiva la cache dei dati per le istanze. Per saperne di più, consulta la sezione Cache dei dati.
    Backup automatici e alta affidabilità
    Alta affidabilità --availability-type Per un'istanza ad alta affidabilità, imposta su REGIONAL. Scopri di più.
    Zona secondaria --secondary-zone Se stai creando un'istanza per l'alta affidabilità, puoi specificare sia la zona principale 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 zone valide.
    • Se viene specificata la zona secondaria, deve essere specificata anche quella principale.
    • Se vengono specificate le zone primaria e secondaria, queste devono essere distinte.

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

    Backup automatici --backup-start-time La finestra temporale 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ù.
    Impostazioni di conservazione per il logging binario --retained-transaction-log-days Il numero di giorni di conservazione dei log write-ahead 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 il logging 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.
    Pianificazione della manutenzione
    Periodo di manutenzione --maintenance-window-day,
    --maintenance-window-hour
    Determina un periodo di un'ora in cui Cloud SQL può eseguire manutenzione che potrebbe causare interruzioni sulla tua istanza. Se non imposti la finestra temporale, la manutenzione che potrebbe causare interruzioni può essere eseguita in qualsiasi momento. Scopri di più.
    Tempistica per manutenzione --maintenance-release-channel La tempistica preferita per gli aggiornamenti delle istanze, rispetto ad altre istanze dello stesso progetto. Utilizza preview per gli aggiornamenti precedenti e production per gli aggiornamenti successivi. Scopri di più.
    Integrazione con Vertex AI
    --enable-google-ml-integration Consente alle istanze Cloud SQL di connettersi a Vertex AI per inoltrare richieste di previsioni e insight in tempo reale all'AI.
    --database-flags cloudsql.enable_google_ml_integration=on Se attivi questo flag, Cloud SQL può integrarsi con Vertex AI.
    Query Insights
    --insights-config-query-insights-enabled Consente a Query Insights di fornire analisi delle query e dei piani di query.
    SAN personalizzato
    Aggiungi 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 client e nelle applicazioni, devi configurare la mappatura tra il nome DNS e l'indirizzo IP. Questa operazione è nota come risoluzione DNS. Puoi aggiungere un elenco separato da virgole di massimo tre nomi DNS personalizzati all'impostazione SAN personalizzata.

  3. Prendi nota dell'indirizzo IP assegnato automaticamente.

    Se non utilizzi il Cloud SQL Auth Proxy, 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 postgres:
          gcloud sql users set-password postgres \
          --instance=INSTANCE_NAME \
          --password=PASSWORD
          

Terraform

Per creare un'istanza, utilizza una risorsa Terraform.

resource "google_sql_database_instance" "postgres_pvp_instance_name" {
  name             = "postgres-pvp-instance-name"
  region           = "asia-northeast1"
  database_version = "POSTGRES_14"
  root_password    = "abcABC123!"
  settings {
    tier = "db-custom-2-7680"
    password_validation_policy {
      min_length                  = 6
      reuse_interval              = 2
      complexity                  = "COMPLEXITY_DEFAULT"
      disallow_username_substring = true
      password_change_interval    = "30s"
      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 Google Cloud , completa i passaggi descritti nelle sezioni seguenti.

Prepara Cloud Shell

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google 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 Terraform deve avere la propria directory (chiamata anche modulo principale).

  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 chiamato 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.

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

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

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

    terraform init -upgrade

Applica le modifiche

  1. Esamina 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 Terraform eseguendo il comando seguente e inserendo yes al prompt:
    terraform apply

    Attendi che Terraform visualizzi il messaggio "Apply complete!".

  3. Apri il tuo Google Cloud progetto 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:

  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 questo 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 il log 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 dell'istanza.

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

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

  • PROJECT_ID: il tuo ID progetto
  • INSTANCE_ID: l'ID della tua istanza
  • REGION: la regione
  • DATABASE_VERSION: stringa enum della versione del database (ad esempio POSTGRES_18)
  • PASSWORD: la password per l'utente root
  • MACHINE_TYPE: stringa enum del tipo di macchina (livello), come: db-custom-[CPUS]-[MEMORY_MBS]
  • EDITION_TYPE: la tua versione di Cloud SQL

  • DATA_CACHE_ENABLED: (facoltativo) impostato su true per attivare 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 IP pubbliche, 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.
  • SERVER_CERTIFICATE_ROTATION_MODE: per la rotazione automatica del certificato del server per l'istanza, specifica AUTOMATIC_ROTATION_DURING_MAINTENANCE. Se non specifichi serverCertificateRotationMode, la configurazione predefinita è NO_AUTOMATIC_ROTATION.
  • DNS_NAMES: aggiungi un elenco separato da virgole di massimo tre nomi DNS al certificato 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 una policy 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 è impostata su true.

    Per rimuovere la policy relativa alle password, puoi utilizzare una richiesta PATCH con null come valore per enablePasswordPolicy. In questo caso, gli altri parametri della policy password vengono reimpostati.

  • minLength: specifica il numero minimo di caratteri che la password deve avere.
  • complexity: controlla se la password è una combinazione di lettere minuscole, lettere maiuscole, numeri e caratteri non alfanumerici. Il valore predefinito è COMPLEXITY_DEFAULT.
  • reuseInterval: specifica il numero di password precedenti che non puoi riutilizzare.
  • disallowUsernameSubstring: impedisce l'utilizzo del nome utente nella password se impostato su true.
  • passwordChangeInterval: specifica la durata minima dopo la quale puoi cambiare la password. Il valore è espresso in secondi con un massimo di nove cifre frazionarie, terminato da s. Ad esempio: 3.5s.

Per creare l'istanza in modo che possa integrarsi con Vertex AI, includi l'oggetto enableGoogleMlIntegration nella richiesta. Questa integrazione consente di applicare modelli linguistici di grandi dimensioni (LLM), ospitati in Vertex AI, a un database Cloud SQL per PostgreSQL.

Imposta i seguenti parametri, se necessario:

  • enableGoogleMlIntegration: quando questo parametro è impostato su true, le istanze Cloud SQL possono connettersi a Vertex AI per inoltrare richieste di previsioni in tempo reale e insight all'AI
  • cloudsql.enable_google_ml_integration: quando questo parametro è impostato su on, Cloud SQL può integrarsi con Vertex AI

Puoi utilizzare il campo sqlNetworkArchitecture per applicare l'utilizzo della nuova architettura di rete per l'istanza al momento della creazione, anche se non è stato eseguito l'upgrade completo del progetto. Per ulteriori dettagli sulla nuova architettura di rete e sulle sue implicazioni, consulta Esegui l'upgrade di un'istanza alla nuova architettura di rete e Alloca un intervallo di indirizzi IP.

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",
  "rootPassword": "PASSWORD",
  "settings": {
    "tier": "MACHINE_TYPE",
    "edition": "EDITION_TYPE",
    "enableGoogleMlIntegration": "true" | "false"
    "databaseFlags":
    [
      {
        "name": "cloudsql.enable_google_ml_integration",
        "value": "on" | "off"
      }
    ]
    "dataCacheConfig": {
      "dataCacheEnabled": DATA_CACHE_ENABLED
    },
    "backupConfiguration": {
      "enabled": true
    },
    "passwordValidationPolicy": {
      "enablePasswordPolicy": true
      "minLength": "MIN_LENGTH",
      "complexity": COMPLEXITY_DEFAULT,
      "reuseInterval": "REUSE_INTERVAL",
      "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING",
      "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL"
    },
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [AUTHORIZED_NETWORKS],
      "ipv4Enabled": false,
      "enablePrivatePathForGoogleCloudServices": true,
      "serverCaMode": "CA_MODE",
      "serverCertificateRotationMode": "SERVER_CERTIFICATE_ROTATION_MODE",
      "customSubjectAlternativeNames": "DNS_NAMES"
    },
    "dataApiAccess": "ALLOW_DATA_API"
  },
  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE"
}

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, che potrebbe richiedere alcuni minuti per essere completata.

Recupera l'indirizzo IPv4

Recupera l'indirizzo IPv4 assegnato automaticamente alla nuova istanza:

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

  • 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.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 il log 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 dell'istanza

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

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

  • PROJECT_ID: il tuo ID progetto
  • INSTANCE_ID: l'ID della tua istanza
  • REGION: la regione
  • DATABASE_VERSION: stringa enum della versione del database (ad esempio POSTGRES_18)
  • PASSWORD: la password per l'utente root
  • MACHINE_TYPE: stringa enum del tipo di macchina (livello), come: db-custom-[CPUS]-[MEMORY_MBS]
  • 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 IP pubbliche, specifica le connessioni dalle reti autorizzate che possono connettersi alla tua istanza.
  • CA_MODE: specifica una gerarchia delle 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.
  • SERVER_CERTIFICATE_ROTATION_MODE: per la rotazione automatica del certificato del server per la tua istanza, specifica AUTOMATIC_ROTATION_DURING_MAINTENANCE. Se non specifichi serverCertificateRotationMode, la configurazione predefinita è NO_AUTOMATIC_ROTATION.
  • DNS_NAMES: aggiungi un elenco separato da virgole di massimo tre nomi DNS al certificato 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 una policy 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 è impostata su true.

    Per rimuovere la policy relativa alle password, puoi utilizzare una richiesta PATCH con null come valore per enablePasswordPolicy. In questo caso, gli altri parametri della policy password vengono reimpostati.

  • minLength: specifica il numero minimo di caratteri che la password deve avere.
  • complexity: controlla se la password è una combinazione di lettere minuscole, lettere maiuscole, numeri e caratteri non alfanumerici. Il valore predefinito è COMPLEXITY_DEFAULT.
  • reuseInterval: specifica il numero di password precedenti che non puoi riutilizzare.
  • disallowUsernameSubstring: impedisce l'utilizzo del nome utente nella password se impostato su true.
  • passwordChangeInterval: specifica la durata minima dopo la quale puoi modificare la password. Il valore è espresso in secondi con un massimo di nove cifre frazionarie, terminato da s. Ad esempio: 3.5s.

Per creare l'istanza in modo che possa integrarsi con Vertex AI, includi l'oggetto enableGoogleMlIntegration nella richiesta. Questa integrazione consente di applicare modelli linguistici di grandi dimensioni (LLM), ospitati in Vertex AI, a un database Cloud SQL per PostgreSQL.

Imposta i seguenti parametri, se necessario:

  • enableGoogleMlIntegration: quando questo parametro è impostato su true, le istanze Cloud SQL possono connettersi a Vertex AI per inoltrare richieste di previsioni in tempo reale e insight all'AI
  • cloudsql.enable_google_ml_integration: quando questo parametro è impostato su on, Cloud SQL può integrarsi con Vertex AI

Puoi utilizzare il campo sqlNetworkArchitecture per applicare l'utilizzo della nuova architettura di rete per l'istanza al momento della creazione, anche se non è stato eseguito l'upgrade completo del progetto. Per ulteriori dettagli sulla nuova architettura di rete e sulle sue implicazioni, consulta Esegui l'upgrade di un'istanza alla nuova architettura di rete e Alloca un intervallo di indirizzi IP.

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",
  "rootPassword": "PASSWORD",
  "settings": {
    "tier": "MACHINE_TYPE",
    "edition": "EDITION_TYPE",
    "enableGoogleMlIntegration": "true" | "false"
    "databaseFlags":
    [
      {
        "name": "cloudsql.enable_google_ml_integration",
        "value": "on" | "off"
      }
    ]
    "dataCacheConfig": {
      "dataCacheEnabled": DATA_CACHE_ENABLED
    },
    "backupConfiguration": {
      "enabled": true
    },
    "passwordValidationPolicy": {
      "enablePasswordPolicy": true
      "minLength": "MIN_LENGTH",
      "complexity": COMPLEXITY_DEFAULT,
      "reuseInterval": "REUSE_INTERVAL",
      "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING",
      "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL"
    },
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [AUTHORIZED_NETWORKS],
      "ipv4Enabled": false,
      "enablePrivatePathForGoogleCloudServices": true,
      "serverCaMode": "CA_MODE",
      "serverCertificateRotationMode": "SERVER_CERTIFICATE_ROTATION_MODE",
      "customSubjectAlternativeNames": "DNS_NAMES"
    },
    "dataApiAccess": "ALLOW_DATA_API"
  },
  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE"
}

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": "2020-01-01T19:13:21.834Z",
  "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, che potrebbe richiedere alcuni minuti per essere completata.

Recupera l'indirizzo IPv4

Recupera l'indirizzo IPv4 assegnato automaticamente alla nuova istanza:

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

  • 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.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 Explorer API nella pagina instances:insert.

Genera l'endpoint di scrittura

Un endpoint di scrittura è un nome DNS (Domain Name Service) globale che si risolve automaticamente nell'indirizzo IP dell'istanza principale attuale. 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.

Tipi di macchina

Determina la memoria e i core virtuali disponibili per la tua istanza Cloud SQL. Puoi configurare i tipi di macchina di diverse serie di macchine. La disponibilità delle diverse serie di macchine è determinata dalla versione e dalla regione di Cloud SQL.

Se hai bisogno di un'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 di overhead interni. Esegui test di carico per evitare problemi di prestazioni nell'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 saperne di più, consulta le linee guida operative.

Per saperne di più, consulta Scegli una serie di macchine.

Risoluzione dei problemi

Problema Risoluzione dei problemi
Messaggio di errore: The zone or region does not have sufficient resources to handle the request at the moment.

La zona selezionata non dispone di capacità sufficiente per le risorse richieste o per il tipo di VM al momento della richiesta di creazione dell'istanza. Al momento della richiesta, potrebbe esserci un'elevata domanda operativa simultanea in quella specifica località regionale.

Per risolvere il problema, riprova a creare l'istanza in un'altra zona o riprova a creare l'istanza nella stessa zona che ha ricevuto l'errore in un momento diverso della giornata.

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 esserci 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 servizi privati è 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 dimensioni 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 Alloca 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 a quelle 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, assicurati di aumentare solo l'intervallo di allocazione e non di 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, decrementare la maschera di 1 per ogni condizione (gruppo di tipi di istanza aggiuntivo, regione aggiuntiva) è una buona regola generale. 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 nuovamente 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 l'API Service Networking solo di recente, il account di servizio potrebbe non essere creato e la creazione dell'istanza non riesce. In questo caso, devi attendere che ilaccount di serviziot 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 SAN 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 server di un'istanza Cloud SQL soddisfino i seguenti criteri:

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

Passaggi successivi

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