Per supportare i workload di lettura e scrittura in un cluster AlloyDB per PostgreSQL, puoi creare un'istanza principale utilizzando la console Google Cloud , Google Cloud CLI, Terraform o l'API AlloyDB. L'istanza principale fornisce le risorse di computing che elaborano le transazioni e coordinano le operazioni di lettura e scrittura per il tuo cluster.
Prima di iniziare
- Il progetto Google Cloud che stai utilizzando deve essere stato abilitato per accedere ad AlloyDB.
- Devi disporre di uno di questi ruoli IAM nel progetto Google Cloud che stai utilizzando:
roles/alloydb.admin(il ruolo IAM predefinito AlloyDB Admin)roles/owner(il ruolo IAM di base Proprietario)roles/editor(il ruolo IAM di base Editor)
Se non disponi di nessuno di questi ruoli, contatta l'Amministratore organizzazione per richiedere l'accesso.
Crea un'istanza principale AlloyDB
Console
Vai alla pagina Cluster.
Fai clic su un cluster nella colonna Nome risorsa.
Nella pagina Panoramica, vai a Istanze nel cluster e fai clic su Crea istanza principale.
Configura l'istanza principale:
- Nel campo ID istanza, inserisci un ID per l'istanza principale.
- In Disponibilità a livello di zona, seleziona una delle seguenti opzioni:
- Per creare un'istanza di produzione ad alta affidabilità con failover automatico, seleziona Più zone (alta affidabilità).
- Per creare un'istanza di base che non deve essere ad alta affidabilità, seleziona Zona singola.
Seleziona una delle seguenti serie di macchine:
- C4A (serie di macchine basate su Google Axion)
- N2 (serie di macchine basate su x86). Questa è la serie di macchine predefinita.
- C4 (serie di macchine basate su x86)
- Z3 (serie di macchine basate su Intel Xeon)
Seleziona un tipo di macchina.
- C4A supporta 1, 2, 4, 8, 16, 32, 48, 64 e 72 vCPU
- N2 supporta 2, 4, 8, 16, 32, 64, 96 e 128 vCPU
- C4 supporta 4, 8, 16, 24, 32, 48, 96, 144, 192 e 288 vCPU
- Z3 supporta 8, 14, 16, 22, 32, 44 e 88 vCPU
(Facoltativo) Per connettere applicazioni e client sulla rete internet pubblica, seleziona la casella Abilita IP pubblico in Connettività IP pubblico. L'abilitazione dell'IP pubblico potrebbe richiedere una configurazione aggiuntiva per garantire una connessione sicura. Per saperne di più, consulta Connettiti utilizzando un IP pubblico.
Per impostazione predefinita, l'IP privato è sempre abilitato. Per saperne di più, consulta Abilita l'accesso privato ai servizi.
(Facoltativo) Per abilitare il pool di connessioni gestito, seleziona Abilita pool di connessioni gestito in Pool di connessioni gestito. Per saperne di più, consulta Configura il pooling delle connessioni gestite.
(Facoltativo) Per impostare flag personalizzati per l'istanza, espandi Opzioni di configurazione avanzate, quindi segui questi passaggi per ogni flag:
- Fai clic su Aggiungi flag.
- Seleziona un flag dall'elenco Nuovo flag di database.
- Specifica un valore per il flag.
- Fai clic su Fine.
(Facoltativo) Per configurare i requisiti SSL o del connettore nell'istanza, espandi Opzioni di configurazione avanzate, quindi segui questi passaggi:
- Per impostazione predefinita, le istanze AlloyDB richiedono che tutte le connessioni utilizzino la crittografia SSL. Per consentire connessioni non SSL, deseleziona la casella di controllo Consenti solo connessioni SSL.
- Per richiedere che tutte le connessioni del database all'istanza utilizzino il proxy di autenticazione AlloyDB o le librerie dei connettori sicuri fornite da Google, seleziona Applica mTLS mediante connettori AlloyDB.
Fai clic su Crea istanza.
gcloud
Per utilizzare gcloud CLI, puoi installare e inizializzare Google Cloud CLI oppure puoi utilizzare Cloud Shell.
Utilizza il comando gcloud alloydb instances create per creare un'istanza principale.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--availability-type=AVAILABILITY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_IDINSTANCE_ID: l'ID dell'istanza che stai creando. Deve iniziare con una lettera minuscola e può contenere lettere minuscole, numeri e trattini.AVAILABILITY: indica se questa istanza deve essere ad alta affidabilità (HA), con nodi in più zone. I valori validi includono:REGIONAL: crea un'istanza ad alta affidabilità con nodi attivi e in standby separati e failover automatico tra di essi. Questo è il valore predefinito, adatto per gli ambienti di produzione.ZONAL: crea un'istanza di base, contenente un solo nodo e nessun failover automatico.
REGION_ID: la regione in cui vuoi posizionare l'istanza. Ad esempio,us-central1.CLUSTER_ID: l'ID del cluster in cui vuoi posizionare l'istanza.CPU_COUNT: il numero di vCPU che vuoi per l'istanza.- Devi specificare
cpu_countomachine_type. - Se viene fornito solo
cpu_count, viene creata un'istanza N2 con le seguenti specifiche:- 2: 2 vCPU, 16 GB di RAM
- 4: 4 vCPU, 32 GB di RAM
- 8: 8 vCPU, 64 GB di RAM
- 16: 16 vCPU, 128 GB di RAM
- 32: 32 vCPU, 256 GB di RAM
- 64: 64 vCPU, 512 GB di RAM
- 96: 96 vCPU, 768 GB di RAM
- 128: 128 vCPU, 864 GB di RAM
- Se vengono forniti sia
machine_typechecpu_count, il valorecpu_countdeve essere in linea con il numero di vCPU specificato inmachine_type. Ad esempio, semachine_typeèn2-highmem-4, devi impostarecpu_countsu4.
- Devi specificare
MACHINE_TYPE: seleziona da un elenco di tipi di macchine supportati, ad esempion2-highmem-4,c4-highmem-4-lssdoc4a-highmem-4-lssd. Per saperne di più, consulta Scegli un tipo di macchina AlloyDB.Quando utilizzi
machine_typeecpu_countinsieme, i valori incpu_countemachine_typedevono corrispondere. Ad esempio, semachine_typeèn2-highmem-4, devi impostarecpu_countsu4.PROJECT_ID: l'ID del progetto in cui si trova il cluster.
Per impostazione predefinita, le nuove istanze richiedono che tutte le connessioni utilizzino la crittografia SSL. Per consentire connessioni non SSL all'istanza, aggiungi il flag --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED al comando:
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTEDPer applicare una connessione sicura tra il client e un'istanza AlloyDB tramite il proxy di autenticazione o altre applicazioni che utilizzano librerie di connettori fornite da Google, aggiungi il flag --require-connectors al comando:
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--require-connectorsPer abilitare il pool di connessioni gestito nella tua istanza AlloyDB, aggiungi il flag --enable-connection-pooling al comando gcloud alloydb instances create:
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--enable-connection-poolingPuoi anche creare un'istanza AlloyDB con Private Service Connect abilitato. Per informazioni sulla creazione di un'istanza principale per un cluster abilitato per Private Service Connect, consulta Crea un'istanza AlloyDB.
Terraform
Crea un'istanza
Per creare un'istanza all'interno del cluster di database, utilizza una risorsa Terraform.
resource "google_alloydb_instance" "default" {
cluster = google_alloydb_cluster.default.name
instance_id = "alloydb-instance"
instance_type = "PRIMARY"
machine_config {
cpu_count = 2
}
depends_on = [google_service_networking_connection.vpc_connection]
}
resource "google_alloydb_cluster" "default" {
cluster_id = "alloydb-cluster"
location = "us-central1"
network_config {
network = google_compute_network.default.id
}
initial_user {
password = "alloydb-cluster"
}
}
data "google_project" "project" {}
resource "google_compute_network" "default" {
name = "alloydb-network"
}
resource "google_compute_global_address" "private_ip_alloc" {
name = "alloydb-cluster"
address_type = "INTERNAL"
purpose = "VPC_PEERING"
prefix_length = 16
network = google_compute_network.default.id
}
resource "google_service_networking_connection" "vpc_connection" {
network = google_compute_network.default.id
service = "servicenetworking.googleapis.com"
reserved_peering_ranges = [google_compute_global_address.private_ip_alloc.name]
}
Questo esempio crea un'istanza N2. Per un elenco di altri tipi di macchine supportati, come n2-highmem-4, c4-highmem-4-lssd o c4a-highmem-4-lssd, consulta Scegli un tipo di macchina AlloyDB.
Prepara Cloud Shell
Per applicare la configurazione Terraform in un progetto Google Cloud , prepara Cloud Shell come segue:
- Avvia Cloud Shell.
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 di Terraform.
Prepara la directory
Ogni file di configurazione Terraform deve avere la propria directory, chiamata anche modulo principale.
- In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve essere un file TF, ad esempio
main.tf. In questo documento, il file è denominatomain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
- Copia il codice campione nel file
main.tfappena creato. Facoltativamente, copia il codice da GitHub. Questa opzione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.git clone https://github.com/terraform-google-modules/terraform-docs-samples
- Nella directory
terraform-docs-samples, vai alla directoryalloydb.cd terraform-docs-samples/alloydb
- Copia il codice campione nel file
main.tfappena creato. Sostituiscicp SAMPLE_FILE main.tf
<var>SAMPLE_FILE</var>con il nome del file di esempio da copiare, ad esempiomain.tf. - Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
- Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
(Facoltativo) Per utilizzare l'ultima versione del provider Google, includi l'opzioneterraform init
-upgrade:terraform init -upgrade
Applica le modifiche
- Esamina la configurazione per verificare che gli aggiornamenti di Terraform corrispondano alle tue aspettative:
Apporta le correzioni necessarie alla configurazione.terraform plan
- Applica la configurazione Terraform eseguendo il comando seguente e inserendo
yesal prompt: Attendi finché Terraform non visualizza il messaggioterraform apply
Apply complete!.
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.
REST v1
Crea un'istanza
Questo esempio crea un'istanza principale. Per un elenco completo dei parametri di questa chiamata, consulta Metodo: projects.locations.clusters.instances.create. Per informazioni sulle impostazioni dei cluster, consulta Visualizza le impostazioni dei cluster e delle istanze.
Non includere informazioni sensibili o che consentono l'identificazione personale nell'ID cluster, perché sono visibili esternamente. Non è necessario includere l'ID progetto nel nome del cluster, perché questa operazione viene eseguita automaticamente, se opportuno, ad esempio nei file di log.
Per inviare la richiesta, salva il corpo della richiesta in un file denominato instance_request.json.
{
"instance_type": "PRIMARY",
"machine_config": {
"cpu_count": CPU_COUNT
}
}
Sostituisci quanto segue:
CPU_COUNT: il numero di core della CPU visibili nell'istanza che vuoi creare.
L'esempio precedente crea un'istanza N2 con le seguenti specifiche:
- 2: 2 vCPU, 16 GB di RAM
- 4: 4 vCPU, 32 GB di RAM
- 8: 8 vCPU, 64 GB di RAM
- 16: 16 vCPU, 128 GB di RAM
- 32: 32 vCPU, 256 GB di RAM
- 64: 64 vCPU, 512 GB di RAM
- 96: 96 vCPU, 768 GB di RAM
- 128: 128 vCPU, 864 GB di RAM
"machine_config": {
"machine_type": "MACHINE_TYPE"
}
Sostituisci MACHINE_TYPE con un tipo di macchina supportato, ad esempio n2-highmem-4, c4-highmem-4-lssd o c4a-highmem-4-lssd. Per ulteriori informazioni sui tipi di macchine supportati, consulta Scegli un tipo di macchina AlloyDB.
Utilizza il seguente metodo HTTP e URL:
POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID
Effettua le seguenti sostituzioni:
PROJECT_ID: l'ID del progetto in cui vuoi che si trovi il cluster.LOCATION_ID: l'ID della regione del cluster.CLUSTER_ID: l'ID del cluster che crei. L'ID deve iniziare con una lettera minuscola e può contenere lettere minuscole, numeri e trattini.INSTANCE_ID: il nome dell'istanza principale che vuoi creare.
Puoi utilizzare curl per eseguire la richiesta, come mostrato nell'esempio seguente:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID -d @instance_request.json