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 stato abilitato per accedere ad AlloyDB.
  • Una rete VPC nel progetto Google Cloud che stai utilizzando deve essere già configurata per l'accesso privato ai servizi ad AlloyDB.
  • Devi disporre di uno di questi ruoli IAM nel progetto Google Cloud che utilizzi:
    • 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.

  • 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 roles/compute.networkUser (Utente di rete Compute).

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.

  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 un tipo di macchina.
    3. (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. In caso contrario, vai al passaggio successivo.

  14. Se hai scelto un tipo di cluster con pool di lettura, completa i passaggi seguenti:

    1. Fai clic su Continua per aggiungere una o più istanze del pool di lettura.
    2. Per aggiungere un'istanza del pool di lettura:

      1. Fai clic su Aggiungi pool di lettura.

      2. Nel campo ID istanza pool di lettura, inserisci un ID per l'istanza del pool di lettura.

      3. Nel campo Numero di nodi, inserisci un numero di nodi.

        Il numero di nodi in un'istanza del pool di lettura determina la capacità di calcolo complessiva dell'istanza.

      4. Seleziona un tipo di macchina.

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

        1. Fai clic su Aggiungi indicatore.
        2. Seleziona un indicatore dall'elenco Nuovo indicatore database.
        3. Specifica un valore per il flag.
        4. Fai clic su Fine.
      6. Fai clic su Aggiungi pool di lettura.

    3. 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 seguenti opzioni:

      • 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 portachiavi 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 \
        --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 che vuoi per l'istanza. 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
  • REGION_ID: la regione in cui vuoi collocare 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 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 di 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 campione 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 finché Terraform non mostra 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.

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

Passaggi successivi