Questa pagina descrive come creare l'istanza principale in un cluster AlloyDB.
Prima di iniziare
- Il Google Cloud progetto che utilizzi 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 primaria.
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 disponibilità con failover automatico, seleziona Più zone (alta disponibilità).
- Per creare un'istanza di base che non deve essere a disponibilità elevata, 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.
Seleziona un tipo di macchina.
- C4A supporta 1, 4, 8, 16, 32, 48, 64 e 72 tipi o forme di macchine.
- N2 supporta 2, 4, 8, 16, 32, 64, 96 e 128 tipi o forme di macchine.
Per saperne di più sull'utilizzo della serie di macchine C4A basate su Axion, incluso il tipo di macchina con 1 vCPU, consulta Considerazioni sull'utilizzo della serie di macchine C4A basate su Axion.
(Facoltativo) Per connettere applicazioni e client tramite la rete internet pubblica, seleziona la casella Abilita IP pubblico in Connettività IP pubblico. L'attivazione dell'IP pubblico potrebbe richiedere un'ulteriore configurazione per assicurarti di avere una connessione sicura. Per ulteriori informazioni, vedi Connettersi utilizzando l'IP pubblico.
Per impostazione predefinita, l'IP privato è sempre abilitato. Per ulteriori informazioni, vedi Attivare l'accesso privato ai servizi.
(Facoltativo) Per attivare e utilizzare il pool di connessioni gestito, seleziona la casella Abilita pool di connessioni gestito in Pool di connessioni gestito. Per ulteriori informazioni, vedi Configurare il pool di connessioni gestito.
(Facoltativo) Per impostare flag personalizzati per la tua istanza, espandi Opzioni di configurazione avanzate, poi segui questi passaggi per ogni flag:
- Fai clic su Aggiungi flag.
- Seleziona un flag dall'elenco Nuovo flag database.
- Specifica un valore per il flag.
- Fai clic su Fine.
(Facoltativo) Per configurare i requisiti SSL o del connettore sull'istanza, espandi Opzioni di configurazione avanzata, quindi procedi nel seguente modo:
- 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 al database all'istanza utilizzino il proxy di autenticazione AlloyDB o le librerie di connettori sicuri fornite da Google, seleziona Richiedi connettori.
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 primaria.
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à, con nodi in più zone. I valori validi includono:REGIONAL: crea un'istanza HA con nodi attivo e di standby separati e failover automatico tra di loro. Questo è il valore predefinito, adatto agli 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 inserire 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 valore dicpu_countdeve corrispondere al numero di vCPU specificato inmachine_type. Ad esempio, semachine_typeèn2-highmem-4, devi impostarecpu_countsu4.
- Devi specificare
MACHINE_TYPE: il tipo di macchina dell'istanza.Per la serie di macchine C4A basate su Axion, i seguenti sono valori validi:
c4a-highmem-1c4a-highmem-4-lssdc4a-highmem-8-lssdc4a-highmem-16-lssdc4a-highmem-32-lssdc4a-highmem-48-lssdc4a-highmem-64-lssdc4a-highmem-72-lssd
Per la serie di macchine N2, i seguenti sono valori validi:
n2-highmem-2n2-highmem-4n2-highmem-8n2-highmem-16n2-highmem-32n2-highmem-64n2-highmem-96n2-highmem-128
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 forzare 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 nell'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 a Private Service Connect, consulta Creare 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]
}
Nell'esempio precedente viene creata un'istanza N2. Per creare un'istanza C4A,
utilizza il campo machine_type all'interno della struttura machine_config, come mostrato
nel seguente esempio:
machine_config {
machine_type = "c4a-highmem-4-lssd"
}
Prepara Cloud Shell
Per applicare la configurazione Terraform in un progetto Google Cloud , prepara Cloud Shell nel seguente modo:
- 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 Terraform.
Prepara la directory
Ogni file di configurazione di 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
main.tfappena creato. (Facoltativo) 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
main.tfappena creato. Sostituiscicp SAMPLE_FILE
<var>SAMPLE_FILE</var>con il nome del file di esempio da copiare, ad esempiomain.tf. - Rivedi e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
- Inizializza Terraform. Devi effettuare 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
- Rivedi la configurazione per verificare che gli aggiornamenti di Terraform corrispondano alle tue aspettative:
Apporta le correzioni necessarie alla configurazione.terraform plan
- Applica la configurazione di Terraform eseguendo il comando seguente e inserendo
yesal prompt: Attendi che Terraform visualizzi il messaggioterraform apply
Apply complete!.
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.
REST v1
Crea un'istanza
Questo esempio crea un'istanza principale. Per un elenco completo dei parametri per questa chiamata, consulta Metodo: projects.locations.clusters.instances.create. Per informazioni sulle impostazioni del cluster, vedi Visualizzare le impostazioni dei cluster e delle istanze.
Non includere informazioni sensibili o che consentono l'identificazione personale nell'ID cluster, perché è visibile esternamente. Non è necessario includere l'ID progetto nel nome del cluster perché questa operazione viene eseguita automaticamente, se necessario, 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": "vCPU_COUNT",
},
}
Esegui la seguente sostituzione:
CPU_COUNT: il numero di core della CPU visibili sull'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
Per creare un'istanza C4A, utilizza il campo machine_type anziché cpu_count
nella struttura machine_config, come mostrato nell'esempio seguente:
machine_config: {
machine_type : MACHINE_TYPE,
},
Per la serie di macchine basate su Axion C4A, utilizza i seguenti valori validi:
c4a-highmem-1c4a-highmem-4-lssdc4a-highmem-8-lssdc4a-highmem-16-lssdc4a-highmem-32-lssdc4a-highmem-48-lssdc4a-highmem-64-lssdc4a-highmem-72-lssd
Per la serie di macchine N2, i seguenti sono valori validi:
n2-highmem-2n2-highmem-4n2-highmem-8n2-highmem-16n2-highmem-32n2-highmem-64n2-highmem-96n2-highmem-128
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 primaria 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/v1alpha/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID -d @instance_request.json