Crea un'istanza principale

Questa pagina descrive come creare l'istanza principale in un cluster AlloyDB.

Prima di iniziare

  • Il Google Cloud progetto che stai utilizzando deve essere stato abilitato per accedere ad AlloyDB.
  • Devi disporre di uno di questi ruoli IAM nel Google Cloud progetto 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.

Creare un'istanza principale AlloyDB

Console

  1. Vai alla pagina Cluster.

    Vai a Cluster

  2. Fai clic su un cluster nella colonna Nome risorsa.

  3. Nella pagina Panoramica , vai a Istanze nel cluster e fai clic Crea istanza principale.

  4. Configura l'istanza principale:

    1. Nel campo ID istanza, inserisci un ID per l'istanza principale.
    2. In Disponibilità a livello di zona, seleziona una delle seguenti opzioni:
      1. Per creare un'istanza di produzione a elevata disponibilità con failover automatico, seleziona Più zone (alta affidabilità).
      2. Per creare un'istanza di base che non deve essere a elevata disponibilità, seleziona Zona singola.
    3. 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.
      • C4 (serie di macchine basate su x86)
      • Z3 (serie di macchine basate su Intel Xeon)
    4. Scegli un tipo di macchina.

      • C4A supporta 1, 2, 4, 8, 16, 32, 48, 64 e 72 vCPU
      • N2 supporta 2, 4, 8, 16, 32, 64, 96 e 128 vCPU
      • C4 supporta 4, 8, 16, 24, 32, 48, 96, 144, 192 e 288 vCPU
      • Z3 supporta 8, 14, 16, 22, 32, 44 e 88 vCPU
    5. (Facoltativo) Per connettere applicazioni e client sulla rete internet pubblica, seleziona la casella Abilita IP pubblico in Connettività IP pubblico. L'abilitazione dell'IP pubblico potrebbe richiedere una configurazione aggiuntiva per assicurarti di avere una connessione sicura. Per ulteriori informazioni, consulta Connettersi utilizzando l'IP pubblico.

      Per impostazione predefinita, l'IP privato è sempre abilitato. Per ulteriori informazioni, consulta Abilitare l'accesso privato ai servizi.

    6. (Facoltativo) Per abilitare il pool di connessioni gestito, seleziona Abilita pool di connessioni gestito in Pool di connessioni gestito. Per ulteriori informazioni, consulta Configurare il pool di connessioni gestito.

    7. (Facoltativo) Per impostare flag personalizzati per l'istanza, espandi Opzioni di configurazione avanzate, quindi esegui i seguenti passaggi per ogni flag:

      1. Fai clic su Aggiungi flag.
      2. Seleziona un flag dall'elenco Nuovo flag di database.
      3. Specifica un valore per il flag.
      4. Fai clic su Fine.
    8. (Facoltativo) Per configurare i requisiti SSL o del connettore sull'istanza, espandi Opzioni di configurazione avanzate, quindi esegui i seguenti passaggi:

      1. Per impostazione predefinita, le istanze AlloyDB richiedono che tutte le connessioni utilizzino la crittografia SSL. Per consentire le connessioni non SSL, deseleziona la casella di controllo Consenti solo connessioni SSL.
      2. 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 Applica mTLS tramite i connettori AlloyDB.
  5. Fai clic su Crea istanza.

gcloud

Per utilizzare gcloud CLI, puoi installare e inizializzare Google Cloud CLI oppure puoi utilizzare Cloud Shell.

Utilizza il gcloud alloydb instances create comando per creare un'istanza principale.

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 a elevata disponibilità (HA), con nodi in più zone. I valori validi includono:
    • REGIONAL: crea un'istanza HA con nodi attivi e di standby separati e failover automatico tra di essi. Questo è il valore predefinito, adatto agli ambienti di produzione.
    • ZONAL: crea un'istanza di base, contenente un solo nodo e senza failover automatico.
  • REGION_ID: la regione in cui vuoi inserire 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 o machine_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 sia cpu_count, il valore cpu_count deve corrispondere al numero di vCPU specificato in machine_type. Ad esempio, se machine_type è n2-highmem-4, devi impostare cpu_count su 4.
  • MACHINE_TYPE: seleziona da un elenco di tipi di macchine supportati, ad esempio n2-highmem-4, c4-highmem-4-lssd o c4a-highmem-4-lssd. Per ulteriori informazioni, consulta Scegliere un tipo di macchina AlloyDB.

    Quando utilizzi machine_type e cpu_count insieme, i valori in cpu_count e machine_type devono corrispondere. Ad esempio, se machine_type è n2-highmem-4, devi impostare cpu_count su 4.

  • 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 le 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 applicare una connessione sicura tra il client e un'istanza AlloyDB tramite il proxy di autenticazione o altre applicazioni che utilizzano le 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 gcloud alloydb instances create 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 \
  --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 con Private Service Connect abilitato, consulta Creare un'istanza AlloyDB.

Terraform

Creare 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]
}

Questo esempio crea un'istanza N2. Per un elenco di altri tipi di macchine supportati, ad esempio n2-highmem-4, c4-highmem-4-lssd o c4a-highmem-4-lssd, consulta Scegliere un tipo di macchina AlloyDB.

Preparare Cloud Shell

Per applicare la configurazione Terraform in un Google Cloud progetto, prepara Cloud Shell come segue:

  1. Avvia Cloud Shell.
  2. Imposta ilprogetto Google Cloud predefinitoin 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.

Preparare la directory

Ogni file di configurazione Terraform deve avere la propria directory, chiamata anche modulo root.

  1. In Cloud Shell, crea una directory e un nuovo file all'interno della directory. Il nome file deve essere un file TF, ad esempio main.tf. In questo documento, il file viene chiamato main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Copia il codice campione nel file main.tf appena creato. (Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
    git clone https://github.com/terraform-google-modules/terraform-docs-samples
  3. Nella directory terraform-docs-samples, vai alla directory alloydb.
    cd terraform-docs-samples/alloydb
  4. Copia il codice campione nel file main.tf appena creato.
    cp SAMPLE_FILE
    Sostituisci <var>SAMPLE_FILE</var> con il nome del file di esempio da copiare, ad esempio main.tf.
  5. Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
  6. Salva le modifiche.
  7. 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

Applicare le modifiche

  1. Esamina 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 Terraform eseguendo il comando seguente e inserendo yes al prompt:
    terraform apply
    Attendi finché Terraform non visualizza il messaggio Apply complete!.

Apri il Google Cloud progetto per visualizzare i risultati. Nella Google Cloud console, vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.

REST v1

Creare 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, consulta 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 devi includere l'ID progetto nel nome del cluster perché questa operazione viene eseguita automaticamente quando appropriato, 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
machine_config: {
  machine_type : MACHINE_TYPE,
},

Sostituisci MACHINE_TYPE con un tipo di macchina supportato, ad esempio n2-highmem-4, c4-highmem-4-lssd o c4a-highmem-4-lssd. Per ulteriori informazioni sui tipi di macchine supportati, consulta Scegliere un tipo di macchina AlloyDB.

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

Esegui 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 principale 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

Passaggi successivi