Creazione di un cluster e della relativa istanza principale

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

  1. Vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic su Crea cluster.

  3. 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.

  4. Fai clic su Continua.

  5. Nella sezione Configura il cluster, inserisci un ID per il cluster nel campo ID cluster.

  6. 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.

  7. Nel campo Versione database, seleziona la versione principale di PostgreSQL con cui vuoi che i server database del cluster siano compatibili.

  8. 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.

  9. Seleziona un percorso di rete.

  10. (Facoltativo) Per applicare a questo cluster un intervallo di indirizzi IP specifico anziché consentire ad AlloyDB di sceglierne uno, segui questi passaggi:

    1. Fai clic su Mostra opzione intervallo IP allocato.

    2. 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.

  11. (Facoltativo) Per criptare questo cluster utilizzando una chiave di crittografia gestita dal cliente (CMEK) anziché la crittografia gestita da Google, segui questi passaggi aggiuntivi:

    1. Fai clic su Opzioni di crittografia avanzate.

    2. Seleziona Chiave di crittografia gestita dal cliente (CMEK).

    3. 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.

    4. Fai clic su Continua.

  12. Configura l'istanza principale:

    1. Nel campo ID istanza, inserisci un ID per l'istanza principale.
    2. 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.
    3. 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.

    4. (Facoltativo) Imposta flag personalizzati per l'istanza. Per ogni indicatore:

      1. Fai clic su Aggiungi indicatore.
      2. Nell'elenco Nuovo indicatore database, seleziona un indicatore.
      3. Specifica un valore per il flag.
      4. Fai clic su Fine.
  13. 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.

  1. 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 14

      • 15, per la compatibilità con PostgreSQL 15, che è la versione predefinita di PostgreSQL supportata

      • 16, per la compatibilità con PostgreSQL 16

    • PASSWORD: la password da utilizzare per l'utente postgres 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 rete default.

    • --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.

  2. (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.

  3. (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.

  4. 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 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_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 e CPU_COUNT insieme, i valori in CPU_COUNT e MACHINE_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 cluster

  • ALLOWED_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:

  1. Avvia Cloud Shell.
  2. 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.

  1. 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 come main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 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.
  3. Esamina il file main.tf e modifica i parametri di esempio da applicare al tuo ambiente.
  4. Salva le modifiche.
  5. Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
    terraform init
    Facoltativo: per utilizzare la versione più recente del provider Google, includi l'opzione -upgrade:
    terraform init -upgrade

Applica le modifiche

  1. Rivedi la configurazione per verificare che gli aggiornamenti di Terraform corrispondano alle tue aspettative:
    terraform plan
    Apporta le correzioni necessarie alla configurazione.
  2. Applica la configurazione di Terraform eseguendo il seguente comando e inserendo yes al prompt:
    terraform apply
    Attendi che Terraform mostri il messaggio Apply complete!.
  3. 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 esempio POSTGRES_15.

  • INITIAL_USERNAME: il nome utente da utilizzare per l'utente postgres predefinito.

  • INITIAL_USER_PASSWORD: la password da utilizzare per l'utente postgres 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 e CPU_COUNT, dove CPU_COUNT deve corrispondere al valore di cpu-count in MACHINE_TYPE.
  • Per eseguire l'aggiornamento da N2 a C4A utilizzando Google Cloud CLI, devi aggiornare MACHINE_TYPE e CPU_COUNT, dove CPU_COUNT deve corrispondere al valore di cpu-count in MACHINE_TYPE.
  • Per eseguire l'aggiornamento da C4A a N2, devi aggiornare MACHINE_TYPE e CPU_COUNT, dove CPU_COUNT deve corrispondere al valore di cpu-count in MACHINE_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.

Passaggi successivi