1. Panoramica
Ultimo aggiornamento: 2020-07-23
Che cos'è Cloud Spanner?
Google Cloud Spanner è un database distribuito a livello globale e conforme ad ACID che gestisce automaticamente repliche, partizionamento orizzontale ed elaborazione delle transazioni, consentendoti di scalare rapidamente per soddisfare qualsiasi modello di utilizzo e garantire il successo dei tuoi prodotti.
Funzionalità principali
- Database relazionale, creato per la scalabilità: tutto quello che ti aspetti da un database relazionale (schemi, query SQL e transazioni ACID), testato sul campo e pronto per scalare a livello globale.
- Disponibilità del 99,999%: Cloud Spanner offre una disponibilità leader di settore del 99,999% per le istanze multiregionali, con tempi di inattività 10 volte inferiori rispetto a "a quattro nove", e fornisce una replica trasparente e sincrona tra regioni e configurazioni multiregionali.
- partizionamento orizzontale automatico:Cloud Spanner ottimizza le prestazioni facendo partizionare automaticamente i dati in base al carico di richieste e alle dimensioni dei dati. Di conseguenza, puoi dedicare meno tempo a come scalare il tuo database e concentrarti invece sulla scalabilità del tuo business.
Visualizza tutte le funzionalità
Cosa imparerai a fare
- Come utilizzare il provider Terraform di Google Cloud.
- Utilizzo di Terraform per creare istanze e database Cloud Spanner.
- Utilizzo di Terraform per modificare le risorse Cloud Spanner.
- Utilizzo di Terraform per eliminare le risorse Cloud Spanner.
2. Configurazione e requisiti
Configurazione dell'ambiente da seguire in modo autonomo
Se non disponi già di un account Google (Gmail o Google Apps), devi crearne uno. Accedi alla console della piattaforma Google Cloud ( console.cloud.google.com) e crea un nuovo progetto:
Ricorda l'ID progetto, un nome univoco in tutti i progetti Google Cloud (il nome precedente è già stato utilizzato e non funzionerà correttamente). Verrà indicato più avanti in questo codelab come PROJECT_ID.
Successivamente, per utilizzare le risorse Google Cloud, dovrai abilitare la fatturazione nella console Cloud.
L'esecuzione di questo codelab non dovrebbe costare più di qualche euro, ma potrebbe essere più costoso se decidi di utilizzare più risorse o se le lasci in esecuzione (consulta la sezione relativa alla pulizia alla fine di questo documento).
I nuovi utenti della piattaforma Google Cloud hanno diritto a una prova senza costi di$300.
Autenticazione
Se non lo hai già fatto, installa lo strumento a riga di comando gcloud. Una volta installato gcloud, attiva le credenziali predefinite dell'applicazione eseguendo questo comando nel tuo terminale:
$ gcloud auth application-default login
Terraform
Se non hai già installato Terraform, installalo.
3. Provider Terraform Google Cloud
Il provider Google Cloud Terraform offre quattro risorse Cloud Spanner:
- google_spanner_instance
- google_spanner_database
- google_spanner_instance_iam
- google_spanner_database_iam
In questo codelab, creeremo e gestiremo le istanze e i database di Cloud Spanner.
Ambiente
Nel tuo ambiente di sviluppo, crea una nuova directory per i file di configurazione di Terraform.
$ mkdir ~/terraform-spanner $ cd ~/terraform-spanner
Quindi, crea un file denominato "main.tf". con i contenuti seguenti e sostituisci PROJECT_ID con il tuo ID progetto Google Cloud:
$ cat >> main.tf <<'EOF' provider "google" { project = "PROJECT_ID" } EOF
Nella parte restante del codelab, modificheremo questo file e applicare le modifiche.
4. Creazione di istanze e database
Modifica il file main.tf con il contenuto seguente per aggiungere una nuova istanza di Cloud Spanner:
provider "google" { project = "PROJECT_ID" } resource "google_spanner_instance" "main" { config = "regional-us-central1" display_name = "first-terraform-instance" num_nodes = 3 }
Esegui questo comando per applicare le modifiche:
$ terraform apply # ... Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes # ... Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Una volta applicate le modifiche, potrai visualizzare l'istanza nella console Google Cloud. Tieni presente che non è possibile modificare la configurazione regionale dopo la creazione di un'istanza.
Dopo aver creato l'istanza, creeremo un database nei passaggi successivi. Modifica main.tf con il seguente contenuto:
provider "google" { project = "PROJECT_ID" } resource "google_spanner_instance" "main" { config = "regional-us-central1" display_name = "first-terraform-instance" num_nodes = 3 } resource "google_spanner_database" "database" { instance = google_spanner_instance.main.name name = "my-first-database" }
Anche in questo caso, utilizza il seguente comando per applicare le modifiche:
$ terraform apply # ... Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
Se l'operazione riesce, my-first-database sarà disponibile nell'istanza:
5. Modifica di un'istanza
Come indicato nella sezione precedente, non tutte le proprietà delle istanze sono modificabili. Tuttavia, puoi aumentare o diminuire il numero di nodi per regolare le risorse utilizzate dall'istanza. L'istanza creata aveva 3 nodi. Modificando il file main.tf, aumenteremo il numero di nodi a 5:
provider "google" { project = "PROJECT_ID" } resource "google_spanner_instance" "main" { config = "regional-us-central1" display_name = "first-terraform-instance" num_nodes = 5 } resource "google_spanner_database" "database" { instance = google_spanner_instance.main.name name = "my-first-database" }
Il passaggio successivo consiste nell'applicazione delle modifiche:
$ terraform apply # ... Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
Se l'operazione è riuscita, l'istanza utilizzerà 5 nodi.
6. Eliminazione di un database
Puoi eliminare definitivamente un database quando non ti serve più. Basta rimuovere il database da main.tf e applicare le modifiche.
provider "google" { project = "PROJECT_ID" } resource "google_spanner_instance" "main" { config = "regional-us-central1" display_name = "first-terraform-instance" num_nodes = 5 }
$ terraform apply # ... Apply complete! Resources: 0 added, 0 changed, 1 destroyed.
Una volta completata l'operazione, il database verrà eliminato definitivamente.
7. Eliminare un'istanza
Puoi eliminare definitivamente un'istanza quando non ti serve più. Basta rimuovere l'istanza da main.tf e applicare le modifiche.
provider "google" { project = "PROJECT_ID" }
$ terraform apply # ... Apply complete! Resources: 0 added, 0 changed, 1 destroyed.
Una volta completata l'operazione, l'istanza verrà eliminata definitivamente.
8. Complimenti!
Hai creato, modificato ed eliminato le risorse Cloud Spanner utilizzando Terraform.
Argomenti trattati
- Come utilizzare il provider Terraform per Google Cloud.
- Utilizzo di Terraform per creare istanze e database Cloud Spanner.
- Utilizzo di Terraform per modificare le risorse Cloud Spanner.
- Utilizzo di Terraform per eliminare le risorse Cloud Spanner.
Scopri di più
- Visualizza la documentazione di Google Cloud Spanner.
- Scopri di più sulla risorsa Terraform di Google Cloud Spanner.
- Scopri di più sull'impostazione delle regole IAM per istanze e database.