Creare istanze

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

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

Un'istanza appena creata ha un database sqlserver.

Dopo aver creato un'istanza Cloud SQL per SQL Server, aggiungi i database creandoli o importandoli.

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.
  • Vecchia architettura di rete SQL: 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.

Scegli tra la versione Cloud SQL Enterprise Plus e la versione Cloud SQL Enterprise

Quando crei un'istanza Cloud SQL per SQL Server, scegli la configurazione della macchina tra diverse famiglie di macchine, a seconda della versione di Cloud SQL.

Con la versione Enterprise Plus di Cloud SQL, puoi scegliere tra due famiglie di macchine:

  • Ottimizzata per le prestazioni: offre un rapporto prezzo/prestazioni equilibrato per vari workload SQL Server con un rapporto memoria/calcolo di 1 vCPU:8 GB RAM.
  • Ottimizzate per la memoria: offrono rapporti di memoria/calcolo elevati per carichi di lavoro con utilizzo intensivo della memoria con 1 vCPU:32 GB di RAM. Le macchine ottimizzate per la memoria sono particolarmente adatte per i carichi di lavoro di SQL Server che richiedono query, analisi e report di business intelligence complessi che traggono vantaggio dall'archiviazione di set di dati più grandi in memoria durante l'elaborazione dei dati.

Con la versione Enterprise di Cloud SQL, hai a disposizione diverse configurazioni di macchine tra cui scegliere, in base ai tuoi requisiti di vCPU e memoria. Le sezioni seguenti mostrano la configurazione vCPU e della memoria per ogni versione del database e tipo di macchina:

SQL Server 2017 Express, SQL Server 2019 Express e SQL Server 2022 Express

Tipo di macchina vCPU/memoria
Non applicabile
  • 1 vCPU, 3,75 GB
  • 2 vCPU, 8 GB
  • 4 vCPU, 16 GB
  • 8 vCPU, 32 GB
Personalizzato Da 1 a 8 vCPU, da 3,75 a 52 GB

SQL Server 2017 Web, SQL Server 2019 Web e SQL Server 2022 Web

Tipo di macchina vCPU/memoria
Non applicabile
  • 1 vCPU, 3,75 GB
  • 2 vCPU, 8 GB
  • 4 vCPU, 16 GB
  • 8 vCPU, 32 GB
Personalizzato Da 1 a 32 vCPU, da 3,75 GB a 208 GB

SQL Server 2017 Standard, SQL Server 2019 Standard e SQL Server 2022 Standard

Tipo di macchina vCPU/memoria
Non applicabile
  • 1 vCPU, 3,75 GB
  • 2 vCPU, 8 GB
  • 4 vCPU, 16 GB
  • 8 vCPU, 32 GB
Personalizzato Da 1 a 48 vCPU, da 3,75 GB a 312 GB

SQL Server 2017 Enterprise, SQL Server 2019 Enterprise e SQL Server 2022 Enterprise

Tipo di macchina vCPU/memoria
Non applicabile
  • 1 vCPU, 3,75 GB
  • 2 vCPU, 8 GB
  • 4 vCPU, 16 GB
  • 8 vCPU, 32 GB
Personalizzato Da 2 a 96 vCPU, da 3,75 GB a 624 GB
Ottimizzata per le prestazioni
(solo Cloud SQL Enterprise Plus)
  • 2 vCPU, 16 GB
  • 4 vCPU, 32 GB
  • 8 vCPU, 64 GB
  • 16 vCPU, 128 GB
  • 32 vCPU, 256 GB
  • 48 vCPU, 384 GB
  • 64 vCPU, 512 GB
  • 80 vCPU, 640 GB
  • 96 vCPU, 768 GB
  • 128 vCPU, 864 GB
Ottimizzato per la memoria
(solo Cloud SQL Enterprise Plus)
  • 4 vCPU, 128 GB
  • 8 vCPU, 256 GB
  • 16 vCPU, 512 GB

Multi-threading simultaneo

Il multi-threading simultaneo (SMT) su Cloud SQL per SQL Server consente di eseguire due CPU virtuali (vCPU) come thread separati e indipendenti in un singolo core fisico. SMT è abilitato per impostazione predefinita, ma puoi disattivarlo e questo potrebbe ridurre i costi di licenza.

La disattivazione di SMT potrebbe influire sulle prestazioni dell'istanza. Per comprendere l'impatto della disattivazione di SMT sul rendimento dell'istanza, consigliamo di eseguire test di carico sull'istanza.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.
  5. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

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

    Vai alla pagina IAM

    Scopri di più su ruoli e autorizzazioni.

Crea un'istanza SQL Server

Console

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

    Vai a Istanze Cloud SQL

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

    Per ulteriori informazioni sulle versioni di Cloud SQL, consulta Introduzione alle versioni di Cloud SQL.

  5. Seleziona il preset della versione per l'istanza. Per visualizzare i preset disponibili, fai clic sul menu Preset di modifica.
  6. Nella sezione Informazioni sull'istanza, seleziona la versione del database per l'istanza. Per visualizzare le versioni disponibili, fai clic sul menu Versione database.
  7. Nel campo ID istanza del riquadro Informazioni sull'istanza, inserisci un ID per l'istanza.

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

  8. Nel campo Password, inserisci una password per l'utente.
  9. Per visualizzare la password in testo normale, fai clic sull'icona Mostra password.

    Puoi inserire la password manualmente o fare clic su Genera per consentire a Cloud SQL di crearla automaticamente.

  10. Nella sezione Scegli la disponibilità per regione e zona, seleziona la regione e la zona per l'istanza. La disponibilità delle regioni potrebbe essere diversa in base alla versione di Cloud SQL per SQL Server. Per ulteriori informazioni, consulta Informazioni sulle impostazioni delle istanze.

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

    Se configuri l'istanza per l'alta disponibilità, puoi selezionare sia una zona principale che una secondaria.

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

    • Per impostazione predefinita, le zone sono Any per la zona principale e Any (different from primary) per la zona secondaria.
    • Se sono specificate sia la zona principale che quella secondaria, devono essere zone distinte.
  11. Nella sezione Personalizza la tua istanza, aggiorna le impostazioni per la tua istanza. Per iniziare, fai clic su MOSTRA OPZIONI 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 delle istanze. Per maggiori dettagli su ciascuna impostazione, consulta la pagina delle impostazioni dell'istanza.

    Impostazione Note
    Tipo di macchina
    Tipo di macchina Scegli tra Leggero, Standard (il più comune) o Memoria elevata. 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 Nucleo dedicato, anziché selezionare una configurazione predefinita, seleziona il pulsante Personalizzata per creare un'istanza con una configurazione personalizzata. Quando selezioni questa opzione, devi selezionare il numero di core e la quantità di memoria per l'istanza. Scopri di più.
    Spazio di archiviazione
    Tipo di archiviazione Determina se l'istanza utilizza lo spazio di 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 la tua istanza quando lo spazio libero è insufficiente. Scopri di più.
    Crittografia
    Crittografia gestita da GoogleL'opzione predefinita.
    Chiave di crittografia gestita dalla chiave del cliente (CMEK)Seleziona di utilizzare la chiave con Google Cloud Key Management Service. Scopri di più.
    Connessioni
    IP privato Aggiunge un indirizzo IP privato per l'istanza. Per consentire la connessione all'istanza, è necessaria una configurazione aggiuntiva.
    Se vuoi, puoi specificare un intervallo IP allocato da utilizzare per le connessioni delle tue istanze.
    1. Espandi Mostra opzione intervallo IP allocato.
    2. Seleziona un intervallo IP dal menu a discesa.

    L'istanza può avere sia un indirizzo IP pubblico che uno privato.

    IP pubblico Aggiunge un indirizzo IP pubblico per l'istanza. Puoi quindi aggiungere 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ù.

    Protezione dei dati
    Backup automatici L'intervallo di tempo in cui vuoi che vengano avviati i backup.
    Scegli dove archiviare i tuoi backupSeleziona Più regioni per la maggior parte dei casi d'uso. Se devi archiviare i backup in una regione specifica, ad esempio per motivi normativi, seleziona Regione e la tua regione dal menu a discesa Posizione.
    Scegli quanti backup automatici archiviareIl numero di backup automatici da conservare (da 1 a 365 giorni). Scopri di più.
    Abilita recupero point-in-time Consente di attivare il recupero point-in-time e il logging delle transazioni. Scopri di più.
    Attiva la protezione da eliminazione Determina se proteggere un'istanza dall'eliminazione accidentale. Scopri di più.
    Scegli il numero di giorni di log da conservare Configura la conservazione dei log di scrittura anticipata da 1 a 7 giorni. L'impostazione predefinita è 7 giorni. Scopri di più.
    Manutenzione
    Finestra preferita Determina una finestra di un'ora in cui Cloud SQL può eseguire la manutenzione interattiva della tua istanza. Se non imposti il periodo, la manutenzione interattiva può essere eseguita in qualsiasi momento. Scopri di più.
    Ordine degli aggiornamenti La tempistica preferita per gli aggiornamenti delle istanze rispetto ad altre istanze nello stesso progetto. Scopri di più.
    Flag
    AGGIUNGI FLAG Puoi utilizzare i flag del database per controllare le impostazioni e i parametri della tua istanza. Scopri di più.
    Etichette
    AGGIUNGI ETICHETTAAggiungi una chiave e un valore per ogni etichetta aggiunta. Le etichette ti aiutano a organizzare le istanze.
  12. Fai clic su Crea istanza.

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

gcloud

Per informazioni su come installare e iniziare a utilizzare la gcloud CLI, consulta Installazione di gcloud CLI. Per informazioni su come avviare Cloud Shell, consulta la documentazione di Cloud Shell.

Devi utilizzare gcloud versione 243.0.0 o successive.

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

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

    Per le istanze Cloud SQL Enterprise:

          gcloud sql instances create INSTANCE_NAME \
          --database-version=DATABASE_VERSION \
          --region=REGION \
          --cpu=NUMBER_OF_vCPUs \
          --memory=MEMORY_SIZE \
          --root-password=ROOT_PASSWORD \
          --edition=ENTERPRISE
        

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

    I valori per le vCPU e le dimensioni della memoria sono limitati per la versione Enterprise di Cloud SQL. Per maggiori informazioni, consulta Scegliere tra la versione Cloud SQL Enterprise Plus e la versione Cloud SQL Enterprise.

    Ad esempio, la seguente stringa crea un'istanza con due vCPU e 7680 MB di memoria:

        gcloud sql instances create myinstance \
        --database-version=SQLSERVER_2017_STANDARD \
        --region=us-central1 \
        --cpu=2 \
        --memory=7680MB \
        --root-password=EXAMPLE_PASSWORD \
        --edition=ENTERPRISE
        

    Per alcuni valori di esempio, consulta Tipi di macchine di esempio.

    Per informazioni sui parametri per le impostazioni delle istanze, consulta gcloud sql instances create.

    Il valore predefinito per REGION è us-central1.

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

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

    • Le zone devono essere zone valide.
    • Se è specificata la zona secondaria, deve essere specificata anche quella principale.
    • Se le zone principali e secondarie sono specificate, devono essere zone distinta
    • Se le zone principali e secondarie sono specificate, 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, basata sulla tua versione di Cloud SQL.
    Regione --region Visualizza i valori validi.
    Connettività
    IP privato --network

    --no-assign-ip (facoltativo)

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

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

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

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

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

    IP pubblico --authorized-networks Per le connessioni con IP pubblico, solo le connessioni da reti autorizzate possono collegarsi all'istanza. Scopri di più.
    Modalità CA del 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 del server per quell'istanza.
    • GOOGLE_MANAGED_CAS_CA: con questa opzione viene utilizzata una gerarchia di CA composta da una CA principale e da CA di server subordinate gestite da Cloud SQL e ospitate su Google Cloud Certificate Authority Service (servizio CA). Le CA del server subordinate in una regione firmano i certificati del server e vengono condivise tra le istanze della regione.

      L'utilizzo del flag --server-ca-mode è in Anteprima.

      Questa opzione è in Anteprima.
    • CUSTOMER_MANAGED_CAS_CA: con questa opzione puoi definire la gerarchia delle CA e gestire la rotazione dei certificati CA. Crea un pool di CA nel servizio CA nella stessa regione dell'istanza. Una delle CA del pool viene utilizzata per firmare il certificato del server. Questa opzione è in Anteprima. Per ulteriori informazioni, vedi Utilizzare una CA gestita dal cliente.
    Tipo di macchina e archiviazione
    Tipo di macchina --tier
    Tipo di archiviazione --storage-type Determina se l'istanza utilizza lo spazio di 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 la tua istanza quando lo spazio libero è insufficiente. Scopri di più.
    Limite di aumento automatico dello spazio di archiviazione --storage-auto-increase-limit Determina la dimensione dello spazio di archiviazione che Cloud SQL può aumentare automaticamente. Disponibile solo per il comando beta (gcloud beta sql instances create). Scopri di più.
    Backup automatici e alta disponibilità
    Alta disponibilità --availability-type Per un'istanza ad alta disponibilità, imposta il valore su REGIONAL. Scopri di più.
    Zona secondaria --secondary-zone Se stai creando un'istanza per l'alta disponibilità, puoi specificare sia le zone principali che quelle secondarie 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 è specificata la zona secondaria, deve essere specificata anche quella principale.
    • Se le zone principali e secondarie sono specificate, devono essere zone distinta

      Se le zone principali e secondarie sono specificate, devono appartenere alla stessa regione.

    Backup automatici --backup-start-time L'intervallo di tempo in cui vuoi che vengano avviati i backup.
    Impostazioni di conservazione per i backup automatici --retained-backups-count Il numero di backup automatici da conservare. Scopri di più.
    Impostazioni di conservazione per i log delle transazioni --retained-transaction-log-days Il numero di giorni in cui conservare i log delle transazioni per il recupero in un determinato momento. Scopri di più.
    Recupero point-in-time --enable-point-in-time recovery Consente il recupero point-in-time e i log delle transazioni. Scopri di più.
    Aggiungere flag di database
    Flag di database --database-flags Puoi utilizzare i flag del 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 una finestra di un'ora in cui Cloud SQL può eseguire manutenzioni interruttive sulla tua istanza. Se non imposti il periodo, la manutenzione interattiva 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 nello stesso progetto. Utilizza preview per gli aggiornamenti precedenti e production per quelli successivi. Scopri di più.
    SAN personalizzato
    Aggiungere un nome alternativo dell'oggetto (SAN) personalizzato --custom-subject-alternative-names=DNS_NAMES

    Se vuoi utilizzare un nome DNS personalizzato per connetterti a un'istanza Cloud SQL anziché un indirizzo IP, configura l'impostazione del nome alternativo dell'oggetto (SAN) personalizzato durante la creazione dell'istanza. Il nome DNS personalizzato inserito nell'impostazione SAN personalizzata viene aggiunto al campo SAN del certificato del 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 procedura è 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 proxy di autenticazione Cloud SQL, utilizzerai questo indirizzo come indirizzo dell'host utilizzato dalle tue applicazioni o dai tuoi strumenti per connettersi all'istanza.

  4. Imposta la password per l'utente:
          gcloud sql users set-password sqlserver no-host --instance=[INSTANCE_NAME] \
           --password=[PASSWORD]
          

Terraform

Per creare un'istanza, utilizza una risorsa Terraform.

resource "google_sql_database_instance" "instance" {
  name             = "sqlserver-instance"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_STANDARD"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    tier = "db-custom-2-7680"
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

Applica le modifiche

Per applicare la configurazione Terraform in un progetto Google Cloud, completa i passaggi nelle seguenti sezioni.

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 farlo in qualsiasi directory.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione Terraform.

Prepara la directory

Ogni file di configurazione di Terraform deve avere una 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 è denominato main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se stai seguendo un tutorial, puoi copiare il codice di esempio in ogni sezione o passaggio.

    Copia il codice di esempio nel main.tf appena creato.

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

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

    Se vuoi, per utilizzare la versione più recente del provider Google, includi l'opzione -upgrade:

    terraform init -upgrade

Applica le modifiche

  1. Rivedi la configurazione e verifica che le risorse che Terraform sta per creare o aggiornare corrispondano alle tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

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

    Attendi che Terraform mostri il messaggio "Applicazione completata".

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

  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 seguente comando e inserendo yes al prompt:
    terraform apply
  1. Rimuovi le risorse applicate in precedenza con la configurazione Terraform eseguendo il seguente comando e inserendo yes al prompt:

    terraform destroy

REST v1

1. Crea l'istanza

Non tutti i campi possibili sono mostrati nella seguente chiamata API di base. Per un prototipo di una richiesta JSON, consulta Impostazioni.

Consulta anche la pagina Instances:insert. Per informazioni sulle impostazioni delle istanze, inclusi i valori validi per le regioni, consulta Impostazioni delle istanze. Per informazioni sui tipi di macchine, consulta Configurazioni delle istanze personalizzate.

Non includere informazioni sensibili o che consentono l'identificazione personale in instance-id; il valore è visibile all'esterno.

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

Il campo collation (non mostrato nella seguente chiamata API di base) consente di impostare un valore predefinito per il tipo di regole di confronto utilizzato per i database nell'istanza. Questa regola di confronto predefinita è permanente a livello di istanza, ma non a livello di database. Puoi modificare questo valore predefinito con uno strumento di amministrazione del database, ma solo per un database specifico che stai creando o aggiornando. Non puoi modificare la regola di confronto predefinita per un'istanza dopo averla creata (a meno che non la recrei). Per informazioni sulle regole di confronto in SQL Server, consulta Supporto di regole di confronto e Unicode. Per un prototipo di una richiesta JSON, consulta Impostazioni. Puoi specificare la seguente stringa di esempio per il parametro collation: SQL_Latin1_General_CP1_CI_AS.

Il campo timeZone (non mostrato nella seguente chiamata API di base) consente di impostare un fuso orario per un'istanza. Dopo aver creato un'istanza, puoi modificarne il fuso orario. Per ulteriori informazioni e un elenco di stringhe accettate, consulta Impostazioni. Puoi specificare la seguente stringa di esempio per il timeZone campo: "Pacific Standard Time". Scopri di più.

Per creare un'istanza integrata con Microsoft AD gestito, specifica un dominio, ad esempio subdomain.mydomain.com, per il domain campo. Per ulteriori informazioni, consulta la sezione Creare un'istanza con l'autenticazione Windows. Inoltre, tieni presente le procedure e i vincoli per l'integrazione con un dominio AD Microsoft gestito in un progetto diverso.

Per informazioni su come impostare il valore di machine-type nel corpo della richiesta, consulta Configurazioni delle istanze personalizzate.

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

  • PROJECT_ID: il tuo ID progetto.
  • INSTANCE_ID: l'ID istanza.
  • REGION: il nome della regione.
  • DATABASE_VERSION: una stringa enum della versione del database. Ad esempio: SQLSERVER_2017_STANDARD.
  • PASSWORD: la password per l'utente root.
  • MACHINE_TYPE: una stringa enum del tipo di macchina (livello). Ad esempio:
    db-perf-optimized-N-4.
  • EDITION_TYPE: la tua versione Cloud SQL. Il valore predefinito è ENTERPRISE.
  • DATA_CACHE_ENABLED: (facoltativo) per attivare la cache dei dati per l'istanza, imposta il valore di questo parametro su true.
  • 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.
  • CA_MODE: specifica una gerarchia di autorità di certificazione per l'istanza, GOOGLE_MANAGED_INTERNAL_CA o GOOGLE_MANAGED_CAS_CA. Se non specifichi serverCaMode, la configurazione predefinita è GOOGLE_MANAGED_INTERNAL_CA. Questa funzionalità è in Anteprima.
  • DNS_NAMES: aggiungi un elenco separato da virgole di massimo tre nomi DNS al certificato del server della tua 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.

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",
    "backupConfiguration": {
      "enabled": true
    },
    "dataCacheConfig" = {
      "dataCacheEnabled": DATA_CACHE_ENABLED
    },
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [AUTHORIZED_NETWORKS],
      "ipv4Enabled": false,
      "serverCaMode": "CA_MODE",
      "customSubjectAlternativeNames": "DNS_NAMES"
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-01T19:13:21.834Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Una volta creata l'istanza, puoi configurare ulteriormente l'account utente predefinito.

2. Recupera l'indirizzo IPv4 dell'istanza

Se vuoi, puoi recuperare l'indirizzo IPv4 assegnato automaticamente. Nella risposta, l'indirizzo si trova nel campo ipAddress.

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

  • PROJECT_ID: il tuo ID progetto
  • INSTANCE_ID: l'ID istanza creato nel passaggio precedente

Metodo HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "DATABASE_VERSION",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "MACHINE_TYPE",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "ZONE",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "19:00",
      "kind": "sql#backupConfiguration",
      "enabled": true
    },
    "settingsVersion": "1",
    "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": "BACKEND_TYPE",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "connectionName": "PROJECT_ID:REGION:INSTANCE_ID",
  "name": "INSTANCE_ID",
  "region": "REGION",
  "gceZone": "ZONE"
}

REST v1beta4

1. Crea l'istanza

Non tutti i campi possibili sono mostrati nella seguente chiamata API di base. Per un prototipo di una richiesta JSON, consulta Impostazioni.

Consulta anche la pagina Instances:insert. Per informazioni sulle impostazioni delle istanze, inclusi i valori validi per le regioni, consulta Impostazioni delle istanze. Per informazioni sui tipi di macchine, consulta Configurazioni delle istanze personalizzate.

Non includere informazioni sensibili o che consentono l'identificazione personale in instance-id; il valore è visibile all'esterno.

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

Il campo collation (non mostrato nella seguente chiamata API di base) consente di impostare un valore predefinito per il tipo di concatenazione utilizzato per i database dell'istanza. Questa regola di confronto predefinita è permanente a livello di istanza, ma non a livello di database. Puoi modificare questo valore predefinito con uno strumento di amministrazione del database, ma solo per un database specifico che stai creando o aggiornando. Non puoi modificare la regola di confronto predefinita per un'istanza dopo averla creata (a meno che non la recrei). Per informazioni sulle regole di confronto in SQL Server, consulta Supporto di regole di confronto e Unicode. Per un prototipo di una richiesta JSON, consulta Impostazioni. Puoi specificare la seguente stringa di esempio per il parametro collation: SQL_Latin1_General_CP1_CI_AS.

Il campo timeZone (non mostrato nella seguente chiamata API di base) consente di impostare un fuso orario per un'istanza. Dopo aver creato un'istanza, puoi modificare il fuso orario di un'istanza. Per ulteriori informazioni e un elenco di stringhe accettate, consulta Impostazioni. Puoi specificare la seguente stringa di esempio per il timeZone campo: "Pacific Standard Time". Scopri di più.

Per creare un'istanza integrata con Microsoft AD gestito, specifica un dominio, ad esempio subdomain.mydomain.com, per il campo domain. Per ulteriori informazioni, consulta Creare un'istanza con l'autenticazione Windows. Inoltre, tieni presente le procedure e i vincoli per l'integrazione con un dominio Microsoft AD gestito in un progetto diverso.

Per informazioni su come impostare il valore di machine-type nel corpo della richiesta, consulta Configurazioni delle istanze personalizzate.

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

  • PROJECT_ID: il tuo ID progetto.
  • INSTANCE_ID: l'ID istanza.
  • REGION: il nome della regione.
  • DATABASE_VERSION: una stringa enum della versione del database.
  • MACHINE_TYPE: una stringa enum del tipo di macchina (livello). Ad esempio:
    db-perf-optimized-N-4.
  • PASSWORD: la password per l'utente root.
  • MACHINE_TYPE: una stringa enum del tipo di macchina (livello), ad esempio: db-custom-[CPUS]-[MEMORY_MBS].
  • EDITION_TYPE: la tua versione Cloud SQL. Il valore predefinito è ENTERPRISE.
  • DATA_CACHE_ENABLED: (facoltativo) per attivare la cache dei dati per l'istanza, imposta il valore di questo parametro su true.
  • 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.
  • CA_MODE: specifica una gerarchia di autorità di certificazione per l'istanza, GOOGLE_MANAGED_INTERNAL_CA o GOOGLE_MANAGED_CAS_CA. Se non specifichi serverCaMode, la configurazione predefinita è GOOGLE_MANAGED_INTERNAL_CA. Questa funzionalità è in Anteprima.
  • DNS_NAMES: aggiungi un elenco separato da virgole di massimo tre nomi DNS al certificato del server della tua 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.

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",
    "backupConfiguration": {
      "enabled": true
    },
    "dataCacheConfig" = {
      "dataCacheEnabled": DATA_CACHE_ENABLED
    },
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [AUTHORIZED_NETWORKS],
      "ipv4Enabled": false,
      "serverCaMode": "CA_MODE",
      "customSubjectAlternativeNames": "DNS_NAMES"
    }
  }
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "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"
}

Dopo aver creato l'istanza, puoi configurare ulteriormente l'account utente predefinito.

2. Recupera l'indirizzo IPv4 dell'istanza

Se vuoi, puoi recuperare l'indirizzo IPv4 assegnato automaticamente. Nella risposta, l'indirizzo si trova nel campo ipAddress.

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

  • PROJECT_ID: il tuo ID progetto
  • INSTANCE_ID: l'ID istanza creato nel passaggio precedente

Metodo HTTP e URL:

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

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "DATABASE_VERSION",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "MACHINE_TYPE",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "ZONE",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "19:00",
      "kind": "sql#backupConfiguration",
      "enabled": true
    },
    "settingsVersion": "1",
    "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": "BACKEND_TYPE",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "connectionName": "PROJECT_ID:REGION:INSTANCE_ID",
  "name": "INSTANCE_ID",
  "region": "REGION",
  "gceZone": "ZONE"
}
Per scoprire come viene costruita la richiesta dell'API REST sottostante per questa attività, consulta API Explorer nella pagina instances:insert.

Genera l'endpoint di scrittura

Se prevedi di creare un'istanza Cloud SQL Enterprise Plus e vuoi che Cloud SQL genere automaticamente un endpoint di scrittura per l'istanza, abilita l'API Cloud DNS per il tuo progetto Google Cloud.

Se hai già un'istanza Cloud SQL Enterprise Plus e vuoi che Cloud SQL generi automaticamente un endpoint di scrittura, crea una replica abilitata per il ripristino di emergenza avanzato.

Un endpoint di scrittura è un nome DNS (Domain Name Service) globale che si risolve automaticamente nell'indirizzo IP dell'istanza principale corrente. Questo endpoint reindirizza automaticamente le connessioni in arrivo 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é in un indirizzo IP. Utilizzando un endpoint di scrittura, puoi evitare di apportare modifiche alle connessioni delle applicazioni in caso di interruzione del servizio a livello regionale.

Per ulteriori informazioni su come ottenere l'endpoint di scrittura per l'istanza, consulta Visualizzare le informazioni sull'istanza. Per maggiori informazioni sull'utilizzo dell'endpoint di scrittura per connettersi all'istanza, consulta Eseguire la connessione utilizzando un endpoint di scrittura.

Configurazioni delle istanze personalizzate

Le configurazioni delle istanze personalizzate ti consentono di selezionare la quantità di memoria e CPU di cui necessita la tua istanza. Questa flessibilità ti consente di scegliere la forma VM appropriata per il tuo carico di lavoro. La disponibilità del tipo di macchina è determinata dalla versione di Cloud SQL per SQL Server.

Per i carichi di lavoro che richiedono l'elaborazione in tempo reale, 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 le procedure di overhead interno. Devi eseguire test di carico per evitare problemi di prestazioni nell'ambiente di produzione.

Quando configuri l'istanza, seleziona memoria e vCPU sufficienti per gestire il tuo workload ed esegui l'upgrade man mano che il workload aumenta. Una configurazione della macchina con vCPU insufficienti potrebbe perdere la copertura dell'SLA. Per ulteriori informazioni, consulta le linee guida operative.

Tipi di macchine per le istanze della versione Enterprise di Cloud SQL

Per le istanze Cloud SQL Enterprise, puoi anche creare configurazioni di istanze personalizzate utilizzando il comando gcloud sql instances create.

I nomi dei tipi di macchine utilizzano il seguente formato: db-custom-NUMBER_OF_vCPUs-MEMORY

Sostituisci NUMBER_OF_vCPUs con il numero di CPU nella macchina e MEMORY con la quantità di memoria nella macchina.

Ad esempio, se il nome della macchina è db-custom e la macchina ha 1 CPU e 3840 MB di RAM, il formato della macchina è db-custom-1-3840.

Quando selezioni il numero di CPU e la quantità di memoria, ci sono alcune limitazioni alla configurazione scelta:

  • Il numero di vCPU che puoi configurare per l'istanza dipende dalla versione di SQL Server.
  • Il numero di vCPU deve essere 1 o un numero pari compreso tra 2 e 96.
  • La dimensione della memoria deve essere:
    • Da 0,9 a 6,5 GB per vCPU
    • Un multiplo di 256 MB
    • Almeno 3,75 GB (3840 MB)

Tipi di macchine per le istanze della versione Enterprise Plus di Cloud SQL

Per le istanze della versione Cloud SQL Enterprise Plus, i tipi di macchine sono predefiniti come descritto nelle sezioni seguenti.

Famiglia di macchine ottimizzate per le prestazioni

Questa famiglia di macchine offre un rapporto qualità-prezzo equilibrato per un'ampia gamma di carichi di lavoro SQL Server con un rapporto memoria/elaborazione di 1 vCPU:8 GB di RAM. La famiglia di macchine ottimizzate per le prestazioni offre i seguenti tipi di macchine tra cui scegliere:

Tipo di macchina Enterprise Plus vCPU Memoria (GB)
db-perf-optimized-N-2 2 16
db-perf-optimized-N-4 4 32
db-perf-optimized-N-8 8 64
db-perf-optimized-N-16 16 128
db-perf-optimized-N-32 32 256
db-perf-optimized-N-48 48 384
db-perf-optimized-N-64 64 512
db-perf-optimized-N-80 80 640
db-perf-optimized-N-96 96 768
db-perf-optimized-N-128 128 864

Famiglia di macchine ottimizzate per la memoria

Questa famiglia di macchine offre rapporti di memoria/calcolo elevati per carichi di lavoro con utilizzo intensivo di memoria con una vCPU per 32 GB di RAM. Le macchine ottimizzate per la memoria sono particolarmente adatte per i carichi di lavoro di SQL Server che richiedono query complesse, analisi e report di business intelligence che traggono vantaggio dalla memorizzazione di set di dati più grandi in memoria durante l'elaborazione dei dati. La famiglia di macchine ottimizzate per la memoria offre i seguenti tipi di macchine tra cui scegliere:

Tipo di macchina vCPU Memoria (GB)
db-memory-optimized-N-4 4 128
db-memory-optimized-N-8 8 256
db-memory-optimized-N-16 16 512

Limitazioni

  • Non puoi utilizzare un SAN personalizzato per aggiungere più di tre nomi DNS al certificato del server di un'istanza Cloud SQL.
  • La lunghezza massima di un nome DNS che puoi aggiungere al certificato di un'istanza utilizzando un SAN personalizzato è 253 caratteri.
  • I nomi DNS che aggiungi al certificato dell'istanza non possono contenere caratteri jolly (*) o punti finali (ad esempio test.example.com.).
  • I nomi DNS devono essere validi, come specificato da RFC 1034.
  • Puoi utilizzare una SAN personalizzata solo per le istanze CUSTOMER_MANAGED_CAS_CA.

Risoluzione dei problemi

Problema Risoluzione dei problemi
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

  1. Crea un database SQL Server nell'istanza.
  2. Crea utenti SQL Server nell'istanza.
  3. Proteggere e controllare l'accesso all'istanza.
  4. Connettiti all'istanza con un client SQL Server.
  5. Importa i dati nel database.
  6. Scopri di più sulle impostazioni delle istanze.