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_ID
INSTANCE_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_count
omachine_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_type
checpu_count
, il valore dicpu_count
deve corrispondere al numero di vCPU specificato inmachine_type
. Ad esempio, semachine_type
èn2-highmem-4
, devi impostarecpu_count
su4
.
- 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-1
c4a-highmem-4-lssd
c4a-highmem-8-lssd
c4a-highmem-16-lssd
c4a-highmem-32-lssd
c4a-highmem-48-lssd
c4a-highmem-64-lssd
c4a-highmem-72-lssd
Per la serie di macchine N2, i seguenti sono valori validi:
n2-highmem-2
n2-highmem-4
n2-highmem-8
n2-highmem-16
n2-highmem-32
n2-highmem-64
n2-highmem-96
n2-highmem-128
Quando utilizzi
machine_type
ecpu_count
insieme, i valori incpu_count
emachine_type
devono corrispondere. Ad esempio, semachine_type
èn2-highmem-4
, devi impostarecpu_count
su4
.
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_ENCRYPTED
Per 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-connectors
Per 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-pooling
Puoi 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.tf
appena 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.tf
appena 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
yes
al 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-1
c4a-highmem-4-lssd
c4a-highmem-8-lssd
c4a-highmem-16-lssd
c4a-highmem-32-lssd
c4a-highmem-48-lssd
c4a-highmem-64-lssd
c4a-highmem-72-lssd
Per la serie di macchine N2, i seguenti sono valori validi:
n2-highmem-2
n2-highmem-4
n2-highmem-8
n2-highmem-16
n2-highmem-32
n2-highmem-64
n2-highmem-96
n2-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