Questa pagina descrive come creare un cluster AlloyDB e la relativa istanza principale.
Prima di iniziare
- Il progetto Google Cloud che utilizzi deve essere abilitato per accedere ad AlloyDB.
- Una rete VPC nel progetto Google Cloud che stai utilizzando deve essere già configurata per l'accesso ai servizi privati 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 uno di questi ruoli, contatta l'amministratore dell'organizzazione per richiedere l'accesso.
- Devi disporre anche dell'autorizzazione
compute.networks.list
nel progetto Google Cloud che utilizzi. Per ottenere questa autorizzazione nel rispetto del principio del privilegio minimo, chiedi all'amministratore di concederti il ruolo Utente di rete Compute (roles/compute.networkUser
). - Per i carichi di lavoro di sviluppo e sandbox, prendi in considerazione la regione e il tipo di macchina. Se intendi utilizzare la forma con 1 vCPU, assicurati di selezionare una regione che supporti questa forma. Per ulteriori informazioni, consulta Aspetti da considerare quando si utilizza 1 vCPU.
Crea un nuovo cluster
Console
Vai alla pagina Cluster.
Fai clic su Crea cluster.
Scegli una configurazione del cluster. Per ulteriori informazioni sulla differenza tra le configurazioni di alta disponibilità e di base, consulta Nodi e istanze.
Se non sai con certezza se il nuovo cluster ha bisogno di istanze del pool di lettura, scegli una delle configurazioni senza pool di lettura. Puoi aggiungere istanze del pool di lettura al cluster in un secondo momento, se necessario.
Fai clic su Continua.
Nella sezione Configura il cluster, inserisci un ID per il cluster nel campo ID cluster.
Nel campo Password, inserisci una password iniziale per il nuovo cluster. AlloyDB assegna la password fornita all'utente del database
postgres
durante la creazione del cluster.Nel campo Versione database, seleziona la versione principale di PostgreSQL con cui vuoi che i server database del cluster siano compatibili.
Seleziona una regione. Per i workload di sviluppo e sandbox, valuta la forma con 1 vCPU (in anteprima), disponibile in alcune regioni. Per ulteriori informazioni, consulta la sezione Aspetti da considerare quando si utilizza 1 vCPU.
Seleziona un percorso di rete.
(Facoltativo) Per applicare a questo cluster un intervallo di indirizzi IP specifico anziché consentire ad AlloyDB di sceglierne uno, segui questi passaggi:
Fai clic su Mostra opzione intervallo IP allocato.
Nell'elenco Intervallo IP allocato, seleziona un intervallo di indirizzi IP.
Per ulteriori informazioni su questa opzione, vedi Creare un cluster con un intervallo di indirizzi IP specifico.
(Facoltativo) Per criptare questo cluster utilizzando una chiave di crittografia gestita dal cliente (CMEK) anziché la crittografia gestita da Google, segui questi passaggi aggiuntivi:
Fai clic su Opzioni di crittografia avanzate.
Seleziona Chiave di crittografia gestita dal cliente (CMEK).
Nel menu visualizzato, seleziona una chiave gestita dal cliente.
La console Google Cloud limita questo elenco alle chiavi all'interno dello stesso Google Cloud progetto e della stessa regione del nuovo cluster. Per utilizzare una chiave non presente in questo elenco, fai clic su Non trovi la chiave? Inserisci il nome risorsa della chiave, quindi digita il nome risorsa della chiave nella finestra di dialogo visualizzata.
Tieni presente che l'utilizzo di CMEK con AlloyDB richiede alcune configurazioni aggiuntive. Per ulteriori informazioni, consulta Utilizzare CMEK con AlloyDB.
Fai clic su Continua.
Configura l'istanza principale:
- Nel campo ID istanza, inserisci un ID per l'istanza principale.
Seleziona una delle seguenti serie di macchine:
- C4A (serie di macchine basate su Google Axion) (anteprima)
- 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 basate su Axion C4A, incluso il tipo di macchina con 1 vCPU, consulta Considerazioni sull'utilizzo della serie di macchine basate su Axion C4A.
(Facoltativo) Imposta flag personalizzati per l'istanza. Per ogni indicatore:
- Fai clic su Aggiungi indicatore.
- Nell'elenco Nuovo indicatore database, seleziona un indicatore.
- Specifica un valore per il flag.
- Fai clic su Fine.
Se hai scelto un tipo di cluster senza pool di lettura, fai clic su Crea cluster.
gcloud
Per utilizzare gcloud CLI, puoi installare e inizializzare Google Cloud CLI oppure utilizzare Cloud Shell.
Per creare il cluster con l'accesso ai servizi privati o con Private Service Connect abilitato, utilizza il comando
gcloud alloydb clusters create
.Accesso privato ai servizi
gcloud alloydb clusters create CLUSTER_ID \ --database-version=POSTGRES_VERSION \ --password=PASSWORD \ --region=REGION_ID \ --project=PROJECT_ID \ --network=NETWORK
Private Service Connect
gcloud alloydb clusters create CLUSTER_ID \ --database-version=POSTGRES_VERSION \ --password=PASSWORD \ --region=REGION_ID \ --project=PROJECT_ID \ --enable-private-service-connect
Sostituisci quanto segue:
CLUSTER_ID
: l'ID del cluster che stai creando. Deve iniziare con una lettera minuscola e può contenere lettere minuscole, numeri e trattini.VERSION
: la versione principale di PostgreSQL con cui vuoi che i server database del cluster siano compatibili. Scegli una delle opzioni seguenti:14
, per la compatibilità con PostgreSQL 1415
, per la compatibilità con PostgreSQL 15, che è la versione predefinita di PostgreSQL supportata16
, per la compatibilità con PostgreSQL 16
PASSWORD
: la password da utilizzare per l'utentepostgres
predefinito.NETWORK
(Facoltativo): il nome della rete VPC che hai configurato per l'accesso privato ai servizi a AlloyDB. Se ometti il flag--network
, AlloyDB utilizza la retedefault
.--enable-private-service-connect
(facoltativo): impostato su per attivare Private Service Connect come metodo di connettività per il cluster e le sue istanze.REGION_ID
: la regione in cui vuoi collocare il cluster.PROJECT_ID
: l'ID del progetto dove vuoi posizionare il cluster.
Questo comando avvia un'operazione a lunga esecuzione, restituendo un ID operazione.
(Facoltativo) Per applicare a questo cluster un intervallo di indirizzi IP specifico, anziché consentire ad AlloyDB di sceglierne uno, fornisci il seguente argomento:
--allocated-ip-range-name=RANGE
Sostituisci
RANGE
con il nome dell'intervallo di indirizzi IP che vuoi che questo cluster utilizzi per l'accesso ai servizi privati.Per ulteriori informazioni su questa opzione, consulta Creare un cluster con un intervallo di indirizzi IP specifico.
(Facoltativo) Per criptare questo cluster utilizzando una chiave di crittografia gestita dal cliente (CMEK) anziché la crittografia gestita da Google predefinita, fornisci i seguenti argomenti:
--kms-key=KEY_ID \ --kms-keyring=KEYRING_ID \ --kms-location=LOCATION_ID \ --kms-project=PROJECT_ID
Sostituisci quanto segue:
KEY_ID
: l'ID della chiave CMEK da utilizzare.KEYRING_ID
: l'ID del mazzo di chiavi della chiave.LOCATION_ID
: l'ID della regione del portachiavi, che deve essere uguale a quello del cluster.PROJECT_ID
: l'ID del progetto della chiave automatizzata.
Verifica che l'operazione sia riuscita.
gcloud alloydb operations describe OPERATION_ID \ --region=REGION_ID \ --project=PROJECT_ID
Sostituisci
OPERATION_ID
con l'ID operazione restituito dal passaggio precedente.
Dopo aver creato il cluster principale, devi creare un'istanza principale.
Crea un'istanza principale
Per creare un'istanza principale, utilizza il comando gcloud alloydb
instances create
.
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--allowed-psc-projects=ALLOWED_PROJECT_LIST
Sostituisci quanto segue:
INSTANCE_ID
: l'ID dell'istanza che stai creando. Deve iniziare con una lettera minuscola e può contenere lettere minuscole, numeri e trattini.CPU_COUNT
: il numero di vCPU N2 che vuoi per l'istanza. N2 è il valore predefinito. I valori validi sono:2
: 2 vCPU, 16 GB di RAM4
: 4 vCPU, 32 GB di RAM8
: 8 vCPU, 64 GB di RAM16
: 16 vCPU, 128 GB di RAM32
: 32 vCPU, 256 GB di RAM64
: 64 vCPU, 512 GB di RAM96
: 96 vCPU, 768 GB di RAM128
: 128 vCPU, 864 GB di RAM
MACHINE_TYPE
: questo parametro è facoltativo quando esegui il deployment di macchine N2. Per eseguire il deployment della serie di macchine basate su Axion C4A (Anteprima) o per eseguire la migrazione tra macchine C4A e N2, scegli questo parametro con i seguenti valori.Quando utilizzi
MACHINE_TYPE
eCPU_COUNT
insieme, i valori inCPU_COUNT
eMACHINE_TYPE
devono corrispondere, altrimenti viene visualizzato un errore.Per la serie di macchine basate su Axion C4A, scegli il tipo di macchina con i seguenti valori:
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 eseguire il deployment di C4A con 4 vCPU e versioni successive, utilizza il suffisso
lssd
per attivare la cache ultraveloce.Per saperne di più sull'utilizzo della serie di macchine basate su Axion C4A, incluso il tipo di macchina con 1 vCPU, consulta Considerazioni sull'utilizzo della serie di macchine basate su Axion C4A.
Per la serie di macchine N2 basate su x86, utilizza il tipo di macchina con i seguenti valori:
N2-highmem-2
N2-highmem-4
N2-highmem-8
N2-highmem-16
N2-highmem-32
N2-highmem-64
N2-highmem-96
N2-highmem-128
REGION_ID
: la regione in cui vuoi che si trovi l'istanza.CLUSTER_ID
: l'ID del cluster creato in precedenza.PROJECT_ID
: l'ID del progetto in cui si trova il clusterALLOWED_PROJECT_LIST
(Facoltativo): l'elenco separato da virgole di ID progetto o numero progetto a cui vuoi consentire l'accesso all'istanza, se utilizzi Private Service Connect.
Terraform
Per creare un cluster, utilizza una risorsa Terraform.
Di seguito è riportato uno snippet di codice per la creazione di un cluster basato sull'esempio di cluster AlloyDB completo:
resource "google_alloydb_cluster" "cluster_abc" {
cluster_id = "alloydb-cluster"
location = "us-central1"
network_config {
network = google_compute_network.default.id
}
database_version = "POSTGRES_15"
initial_user {
user = "postgres"
password = "postgres"
}
continuous_backup_config {
enabled = true
recovery_window_days = 14
}
automated_backup_policy {
location = "us-central1"
backup_window = "1800s"
enabled = true
weekly_schedule {
days_of_week = ["MONDAY"]
start_times {
hours = 23
minutes = 0
seconds = 0
nanos = 0
}
}
quantity_based_retention {
count = 1
}
labels = {
test = "alloydb-cluster-backup-policy-labels"
}
}
labels = {
test = "alloydb-cluster-labels"
}
}
data "google_project" "project" {}
resource "google_compute_network" "default" {
name = "alloydb-cluster-network"
}
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 di 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 Terraform deve avere una propria directory, chiamata anche modulo principale.
- In Cloud Shell, crea una directory e un nuovo
file al suo interno. Il nome del file deve essere un
file TF, ad esempio
main.tf
. In questo documento, il file è indicato comemain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
- 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. - Esamina il file
main.tf
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 la versione più recente 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 seguente comando e inserendo
yes
al prompt: Attendi che Terraform mostri 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
Questo esempio crea un cluster. Il parametro network
è obbligatorio.
Per un elenco completo dei parametri per questa chiamata, consulta Metodo: projects.locations.clusters.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 all'esterno. Non è necessario includere l'ID progetto nel nome del cluster. Questa operazione viene eseguita automaticamente, se opportuno, ad esempio nei file di log.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
CLUSTER_ID
: l'ID del cluster che crei. Deve iniziare con una lettera minuscola e può contenere lettere minuscole, numeri e trattini.PROJECT_ID
: l'ID del progetto dove vuoi posizionare il cluster.LOCATION_ID
: l'ID della regione del cluster.NETWORK
: il nome della rete VPC che hai configurato per l'accesso privato ai servizi ad AlloyDB.DATABASE_VERSION
: stringa enum della versione del database, ad esempioPOSTGRES_15
.INITIAL_USERNAME
: il nome utente da utilizzare per l'utentepostgres
predefinito.INITIAL_USER_PASSWORD
: la password da utilizzare per l'utentepostgres
predefinito.
Il corpo JSON della richiesta è il seguente:
{
clusterId = "CLUSTER_ID"
network = "projects/PROJECT_ID/global/networks/NETWORK"
databaseVersion = "DATABASE_VERSION"
initialUser {
user = "INITIAL_USERNAME"
password = "INITIAL_USER_PASSWORD"
}
continuousBackupConfig {
enabled = true
recoveryWindowDays = 14
}
weeklySchedule {
daysOfWeek = ["MONDAY"]
startTimes {
hours = 23
minutes = 0
seconds = 0
nanos = 0
}
}
quantityBasedRetention {
count = 1
}
labels = {
test = "alloydb-cluster-full"
}
}
}
Per inviare la richiesta, salva il corpo della richiesta in un file denominato request.json
e utilizza la seguente richiesta POST
:
POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters
Clonare un cluster attivo
Per creare un clone di un cluster attivo, contenente una copia di tutti i dati del cluster di origine ed eseguito nella stessa regione, esegui un recupero in un determinato momento su quel cluster. In questo modo, puoi specificare un momento molto recente, ad esempio il primo secondo del minuto corrente.
Questo processo copia nel clone solo i dati del cluster di origine, non la configurazione del cluster di origine. Per criptare i dati del clone utilizzando CMEK, devi specificare i dettagli di CMEK nell'ambito del comando di recupero in un determinato momento, anche se i dati del cluster di origine sono già criptati con CMEK. Dopo aver creato il nuovo cluster, devi aggiungere istanze, flag del database, pianificazioni dei backup e qualsiasi altra configurazione necessaria per soddisfare le tue esigenze.
Un cluster creato in questo modo esiste indipendentemente dalla sua origine e i suoi dati non hanno alcuna relazione con i dati del cluster di origine al termine della duplicazione iniziale. Se vuoi creare cluster secondari che monitorano e replicano automaticamente le modifiche ai dati apportate nei cluster di origine, consulta Informazioni sulla replica tra regioni.
Creare un cluster con un intervallo di indirizzi IP specifico
AlloyDB utilizza l'accesso privato ai servizi per consentire alle risorse interne di un cluster di comunicare tra loro. Prima di poter creare un cluster, la tua rete Virtual Private Cloud (VPC) deve contenere almeno un intervallo di indirizzi IP configurato con una connessione di accesso privato ai servizi.
Se la tua rete VPC contiene più di un intervallo di indirizzi IP configurato con l'accesso privato ai servizi, hai la possibilità di specificare l'intervallo assegnato da AlloyDB a un nuovo cluster.
Per specificare un intervallo di indirizzi IP, consulta i passaggi facoltativi in Creare un cluster.
Se non specifichi un intervallo, AlloyDB esegue una delle seguenti azioni durante la creazione di un cluster:
Se sono disponibili più intervalli di indirizzi IP con accesso ai servizi privati, AlloyDB sceglie uno di questi intervalli.
Se hai configurato esattamente un intervallo di indirizzi IP nel tuo VPC con accesso ai servizi privati, AlloyDB applica questo intervallo al nuovo cluster.
Per ulteriori informazioni sulla creazione di intervalli di indirizzi IP da utilizzare con AlloyDB, consulta Abilitare l'accesso ai servizi privati.
Considerazioni sull'utilizzo della serie di macchine C4A basate su Axion
AlloyDB offre una serie di macchine C4A basata su Google Axion, il processore personalizzato basato su Arm di Google. Le macchine virtuali (VM) C4A sono disponibili come configurazioni predefinite per 1, 4, 8, 16, 32, 48, 64 e 72 vCPU, con fino a 576 GB di memoria DDR5 (Double Data Rate 5).
Quando scegli C4A, tieni presente quanto segue:
- Per eseguire il deployment della serie di macchine C4A, utilizza
MACHINE_TYPE
eCPU_COUNT
, doveCPU_COUNT
deve corrispondere al valore dicpu-count
inMACHINE_TYPE
. - Per eseguire l'aggiornamento da N2 a C4A utilizzando Google Cloud CLI, devi aggiornare
MACHINE_TYPE
eCPU_COUNT
, doveCPU_COUNT
deve corrispondere al valore dicpu-count
inMACHINE_TYPE
. - Per eseguire l'aggiornamento da C4A a N2, devi aggiornare
MACHINE_TYPE
eCPU_COUNT
, doveCPU_COUNT
deve corrispondere al valore dicpu-count
inMACHINE_TYPE
.
C4A è supportato nelle seguenti regioni:
asia-east1
asia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
us-central1
us-east1
us-east4
Considerazioni relative all'utilizzo del tipo di macchina con 1 vCPU
AlloyDB offre un tipo di istanza con 1 vCPU con C4A ed è pensato solo per scopi di sviluppo e sandbox. Per i carichi di lavoro di produzione, scegli almeno 2 vCPU.
Quando scegli 1 vCPU, tieni presente le seguenti limitazioni:
- Viene offerta 1 vCPU con 8 GB di memoria senza il supporto della cache ultraveloce.
- La configurazione di 1 vCPU è consigliata per gli ambienti di sviluppo e sandbox con dimensioni del database più piccole nell'ordine delle decine di gigabyte. Per database più grandi e per i workload di produzione, ti consigliamo di utilizzare almeno 2 vCPU.
- Puoi eseguire la configurazione con alta disponibilità (HA), ma non vengono offerti SLA del tempo di attività.
- Gli upgrade delle versioni principali sul posto non sono supportati per 1 vCPU, 48 vCPU e 72 vCPU per le macchine C4A. Valuta altri approcci di upgrade, come il dump e il ripristino, o prova a eseguire lo scale up prima di avviare un upgrade in place della versione principale.
- Consulta le regioni supportate da C4A in cui puoi eseguire il deployment di 1 vCPU.