Esegui il deployment di AlloyDB Omni su una singola VM GCE

1. Introduzione

Questo codelab mostra come eseguire il deployment di AlloyDB Omni su una singola macchina virtuale Google Compute Engine (GCE). Al termine di questo codelab, avrai eseguito il provisioning di una singola VM GCE che esegue Rocky Linux 9 e installato AlloyDB Omni utilizzando i pacchetti RPM ufficiali. Questa macchina virtuale è caricata con tutti gli strumenti per sviluppatori di cui avrai bisogno. Offre una home directory permanente da 20 GB e viene eseguita su Google Cloud, migliorando notevolmente le prestazioni e l'autenticazione della rete.

Prerequisiti

  • Accesso a un progetto Google Cloud e a Cloud Shell da Cloud Console.
  • Google Cloud SDK (gcloud) installato e configurato. Per informazioni dettagliate sull'installazione di gcloud, consulta gcloud-install.

Cosa imparerai a fare

  • Come creare e preparare una VM GCE per AlloyDB Omni utilizzando gcloud.
  • Come installare i pacchetti RPM di AlloyDB Omni su un singolo nodo Linux.
  • Come eseguire il bootstrap e configurare AlloyDB Omni.
  • Come verificare l'installazione del database locale.

Che cosa ti serve

  • Ottieni un link URL agli RPM di AlloyDB Omni. I link vengono inviati alla tua email, che include l'URL del server del repository. Inizializza la seguente variabile di ambiente per mantenere l'URL pronto per l'uso durante il codelab.
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  • Un terminale funzionante con accesso a Google Cloud. A questo scopo, puoi utilizzare Cloud Shell.

2. Configurazione e requisiti

Configurazione del progetto

Crea un progetto Google Cloud

  1. Nella console Google Cloud, nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud.
  2. Verifica che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata per un progetto.

Avvia Cloud Shell

Sebbene tu possa gestire Google Cloud da remoto dal tuo laptop, in questo codelab utilizzerai Google Cloud Shell, un ambiente a riga di comando in esecuzione nel cloud.

Icona per attivare Cloud Shell

  1. Apri la console Google Cloud e fai clic sull'icona di Cloud Shell nella barra degli strumenti in alto a destra.Puoi anche aprire Cloud Shell in uno dei seguenti modi:

In genere, bastano pochi istanti per eseguire il provisioning e connettersi all'ambiente. Al termine dell'operazione, visualizzerai un risultato simile al seguente:

Terminale Google Cloud Shell che mostra che l'ambiente è connesso{: width="624"}

3. Crea la VM di Compute Engine

In questa sezione, crei una singola macchina virtuale (VM) di Compute Engine (GCE) utilizzando lo strumento a riga di comando gcloud. Utilizzi un'immagine Rocky Linux 9, completamente compatibile con i pacchetti RPM di AlloyDB Omni.

  1. Definisci le variabili di ambiente per l'ID progetto, il nome della VM, la zona e la regione.
    export PROJECT="your-project-id"
    export INSTANCE_NAME="alloydb-omni-vm"
    export ZONE="us-central1-c"
    export REGION="us-central1"
    
  2. Accedi utilizzando l'utente del tuo account Google Cloud e configura il progetto predefinito.
    gcloud auth login
    gcloud config set project $PROJECT
    
  3. Crea una regola firewall per consentire le connessioni SSH alla tua VM.
    gcloud compute firewall-rules create allow-ssh-alloydb-omni \
        --project=$PROJECT \
        --direction=INGRESS \
        --action=allow \
        --rules=tcp:22 \
        --source-ranges="0.0.0.0/0"
    
  4. Poiché la VM viene creata senza un indirizzo IP pubblico, configura un router Cloud e un gateway Cloud NAT per consentire alla VM di accedere ai repository di pacchetti esterni e scaricare il software richiesto.
    gcloud compute routers create alloydb-omni-router \
        --project=$PROJECT \
        --network=default \
        --region=$REGION
    
    gcloud compute routers nats create alloydb-omni-nat \
        --project=$PROJECT \
        --router=alloydb-omni-router \
        --region=$REGION \
        --nat-all-subnet-ip-ranges \
        --auto-allocate-nat-external-ips
    
  5. Assicurati che la rete VPC abbia una route del gateway internet predefinito valida. In alcuni ambienti condivisi o sandbox, le route predefinite vengono occasionalmente rimosse dagli script di pulizia. Questa route è necessaria per consentire a Cloud NAT di inoltrare il traffico in uscita a internet.
    gcloud compute routes create default-internet-route \
        --project=$PROJECT \
        --network=default \
        --destination-range=0.0.0.0/0 \
        --next-hop-gateway=default-internet-gateway
    
  6. Crea l'istanza VM di Compute Engine con le specifiche richieste (16 vCPU, disco permanente bilanciato da 20 GB, Rocky Linux 9). Per una maggiore sicurezza, utilizziamo il flag --no-address per assicurarci che alla VM non venga assegnato un indirizzo IP pubblico.
    gcloud compute instances create $INSTANCE_NAME \
        --project=$PROJECT \
        --zone=$ZONE \
        --machine-type=n2-highmem-16 \
        --image-family=rocky-linux-9 \
        --image-project=rocky-linux-cloud \
        --boot-disk-size=20GB \
        --boot-disk-type=pd-balanced \
        --no-address
    
  7. Dopo aver creato la VM, verifica il suo stato.
    gcloud compute instances list --filter="name=$INSTANCE_NAME" --project=$PROJECT
    

4. Prepara la VM

In questa sezione, ti connetti alla VM appena creata e prepari l'ambiente del sistema operativo, che include la configurazione della directory dei dati e di SELinux.

  1. Connettiti alla VM tramite SSH utilizzando Identity-Aware Proxy (IAP). Poiché la VM non ha un indirizzo IP pubblico, gcloud esegue automaticamente il tunneling della connessione SSH tramite IAP.
    gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap
    
  2. Definisci le variabili di ambiente sulla VM per la directory dei dati e l'URL del repository AlloyDB Omni. Sostituisci l'URL con quello che hai ricevuto dal modulo di registrazione.
    export PGDATA="/var/lib/alloydbomni"
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  3. Crea la directory dei dati in cui AlloyDB Omni memorizzerà i file di database.
    sudo mkdir -p $PGDATA
    
  4. Installa il pacchetto policycoreutils-python-utils in modo che la policy SELinux possa essere configurata per consentire l'esecuzione corretta del servizio di database AlloyDB Omni.
    sudo dnf install -y policycoreutils-python-utils
    

5. Installa AlloyDB Omni

Ora che la VM è preparata, puoi configurare il repository dei pacchetti e installare il pacchetto RPM di AlloyDB Omni.

  1. Configura il repository YUM sulla VM creando il file di configurazione del repository.
    sudo tee /etc/yum.repos.d/alloydbomni.repo << EOF
    [alloydbomni]
    name=alloydbomni
    baseurl=$ALLOYDB_OMNI_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=https://dl.google.com/linux/linux_signing_key.pub
    EOF
    
  2. Aggiorna la cache YUM per assicurarti che il nuovo repository venga riconosciuto.
    sudo yum makecache
    
    Nota: per la release di anteprima di AlloyDB Omni RPM, l'integrità del pacchetto viene verificata a livello di singolo RPM. Per procedere con la configurazione del repository YUM, configura repo_gpgcheck=0 .
  3. Installa la versione 18 del pacchetto RPM di AlloyDB Omni.
    sudo dnf install -y alloydbomni18
    

6. Configura AlloyDB Omni

Dopo aver installato il pacchetto RPM, devi inizializzare, configurare e avviare il servizio di database AlloyDB Omni.

  1. Definisci una password efficace per l'utente amministratore postgres di PostgreSQL.
    export PGPASSWORD="YourStrongPassword123!"
    
  2. Inizializza l'istanza del database AlloyDB Omni.
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
    
  3. Configura il contesto del file SELinux per consentire al servizio AlloyDB Omni di leggere e scrivere dati nella directory di dati personalizzata, quindi ripristina il contesto di sicurezza corretto.
    sudo setenforce 0
    
  4. Prepara l'istanza del database AlloyDB Omni.
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
    
  5. (Facoltativo) Per l'esecuzione ottimizzata del servizio AlloyDB Omni, esegui l'utilità di configurazione dell'host per configurare automaticamente le impostazioni consigliate per il kernel e la memoria.
    sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host
    
  6. Attiva e avvia il servizio AlloyDB Omni systemd.
    sudo systemctl enable alloydbomni18
    sudo systemctl start alloydbomni18
    
  7. Verifica che il servizio AlloyDB Omni sia attivo e in esecuzione.
    sudo systemctl status alloydbomni18
    
    Verifica che l'output indichi Active: active (running).

7. Verifica AlloyDB Omni

Per verificare che il database AlloyDB Omni a un solo nodo funzioni correttamente, connettiti utilizzando il client PostgreSQL standard (psql) installato con il pacchetto.

  1. Connettiti all'istanza di database locale come utente postgres. Ti viene richiesta la password che hai configurato in precedenza.
    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W
    
  2. Una volta stabilita la connessione, esegui una query SQL di base per verificare la versione del server di database e che AlloyDB Omni sia in esecuzione.
    postgres=# SELECT version();
    
    L'output risultante indica che PostgreSQL 18 è in esecuzione con AlloyDB Omni.
  3. Inserisci \q per uscire dal prompt psql.

8. Pulizia e sondaggio

Al termine del codelab, puoi eseguire la pulizia delle risorse Google Cloud per evitare addebiti indesiderati.

  1. Disconnettiti dalla sessione SSH sulla VM per tornare al terminale Cloud Shell locale.
    exit
    
  2. Elimina l'istanza VM di Compute Engine.
    gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet
    
  3. Elimina la regola firewall creata per l'accesso SSH.
    gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet
    
  4. Elimina il gateway Cloud NAT e il router Cloud.
    gcloud compute routers nats delete alloydb-omni-nat --router=alloydb-omni-router --region=$REGION --project=$PROJECT --quiet
    gcloud compute routers delete alloydb-omni-router --region=$REGION --project=$PROJECT --quiet
    

9. Complimenti

Congratulazioni per aver completato il codelab. Hai eseguito il deployment e la configurazione di AlloyDB Omni su una singola macchina virtuale Compute Engine.

Argomenti trattati

  • Come eseguire il provisioning e preparare una VM di Compute Engine per AlloyDB Omni.
  • Come configurare il repository dei pacchetti AlloyDB Omni e installare gli RPM.
  • Come inizializzare, configurare e gestire il servizio di database AlloyDB Omni utilizzando systemd.
  • Come verificare la funzionalità del database utilizzando gli strumenti PostgreSQL standard.

Per saperne di più, consulta la panoramica di AlloyDB Omni.

10. Sondaggio

Come utilizzerai questo tutorial?

Solo lettura Lettura e completamento degli esercizi