Crea un'istanza principale

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

  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 su Crea istanza primaria.

  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 ad alta disponibilità con failover automatico, seleziona Più zone (alta disponibilità).
      2. Per creare un'istanza di base che non deve essere a disponibilità elevata, 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.
    4. 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.

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

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

    7. (Facoltativo) Per impostare flag personalizzati per la tua istanza, espandi Opzioni di configurazione avanzate, poi segui questi passaggi per ogni flag:

      1. Fai clic su Aggiungi flag.
      2. Seleziona un flag dall'elenco Nuovo flag 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 avanzata, quindi procedi nel seguente modo:

      1. 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.
      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 Richiedi connettori.
  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 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 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 che cpu_count, il valore di 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: 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 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 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:

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

  1. 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 è denominato main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 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
  3. Nella directory terraform-docs-samples, vai alla directory alloydb.
    cd terraform-docs-samples/alloydb
  4. Copia il codice campione nel 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. Rivedi e modifica i parametri di esempio da applicare al tuo ambiente.
  6. Salva le modifiche.
  7. Inizializza Terraform. Devi effettuare questa operazione una sola volta per directory.
    terraform init
    (Facoltativo) Per utilizzare l'ultima versione 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 comando seguente e inserendo yes al prompt:
    terraform apply
    Attendi che Terraform visualizzi il messaggio 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

Passaggi successivi