Implementa AlloyDB Omni en una sola VM de GCE

1. Introducción

En este codelab, se muestra cómo implementar AlloyDB Omni en una sola máquina virtual de Google Compute Engine (GCE). Al final de este codelab, habrás aprovisionado una sola VM de GCE que ejecuta Rocky Linux 9 y habrás instalado AlloyDB Omni con los paquetes RPM oficiales. Esta máquina virtual está cargada con todas las herramientas de desarrollo que necesitarás. Ofrece un directorio principal persistente de 20 GB y se ejecuta en Google Cloud, lo que permite mejorar considerablemente el rendimiento de la red y la autenticación.

Requisitos previos

  • Acceso a un proyecto de Google Cloud y a Cloud Shell desde Cloud Console
  • El SDK de Google Cloud (gcloud) instalado y configurado. Para obtener detalles sobre la instalación de gcloud, consulta gcloud-install.

Qué aprenderás

  • Cómo crear y preparar una VM de GCE para AlloyDB Omni con gcloud
  • Cómo instalar RPM de AlloyDB Omni en un solo nodo de Linux
  • Cómo iniciar y configurar AlloyDB Omni
  • Cómo verificar la instalación de la base de datos local

Requisitos

  • Obtén un vínculo de URL a los RPM de AlloyDB Omni. Los vínculos se envían a tu correo electrónico, que incluye el servidor de URL del repositorio. Inicializa la siguiente variable de entorno para tener la URL lista para usar durante el codelab.
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  • Una terminal en funcionamiento con acceso a Google Cloud Puedes usar Cloud Shell para este propósito.

2. Configuración y requisitos

Configuración del proyecto

Crea un proyecto de Google Cloud

  1. En la consola de Google Cloud, en la página del selector de proyectos, selecciona o crea un proyecto de Google Cloud.
  2. Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Obtén información para verificar si la facturación está habilitada en un proyecto.

Inicia Cloud Shell

Si bien puedes operar Google Cloud de forma remota desde tu laptop, en este codelab usarás Google Cloud Shell, un entorno de línea de comandos que se ejecuta en la nube.

Ícono para activar Cloud Shell

  1. Abre la consola de Google Cloud y haz clic en el ícono de Cloud Shell en la barra de herramientas de la parte superior derecha.También puedes abrir Cloud Shell de una de las siguientes maneras:

Por lo general, el aprovisionamiento y la conexión al entorno demoran unos minutos. Cuando se complete esta operación, verás algo similar a lo siguiente:

Terminal de Google Cloud Shell que muestra que el entorno se conectó{: width="624"}

3. Crea la VM de Compute Engine

En esta sección, crearás una sola máquina virtual (VM) de Compute Engine (GCE) con la herramienta de línea de comandos gcloud. Usas una imagen de Rocky Linux 9, que es totalmente compatible con los RPM de AlloyDB Omni.

  1. Define variables de entorno para el ID del proyecto, el nombre de la VM, la zona y la región.
    export PROJECT="your-project-id"
    export INSTANCE_NAME="alloydb-omni-vm"
    export ZONE="us-central1-c"
    export REGION="us-central1"
    
  2. Accede con tu usuario de la cuenta de Google Cloud y configura el proyecto predeterminado.
    gcloud auth login
    gcloud config set project $PROJECT
    
  3. Crea una regla de firewall para permitir conexiones SSH a tu 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. Dado que la VM se crea sin una dirección IP pública, configura un Cloud Router y una puerta de enlace de Cloud NAT para permitir que la VM acceda a repositorios de paquetes externos y descargue el software requerido.
    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. Asegúrate de que tu red de VPC tenga una ruta de puerta de enlace de Internet predeterminada válida. En algunos entornos compartidos o de prueba, las rutas predeterminadas se quitan ocasionalmente con secuencias de comandos de limpieza. Esta ruta es necesaria para que Cloud NAT reenvíe el tráfico saliente 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 la instancia de VM de Compute Engine con las especificaciones requeridas (16 CPU virtuales, 20 GB de disco persistente balanceado, Rocky Linux 9). Para mejorar la seguridad, usamos la marca --no-address para asegurarnos de que a la VM no se le asigne una dirección IP pública.
    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. Después de crear la VM, verifica su estado.
    gcloud compute instances list --filter="name=$INSTANCE_NAME" --project=$PROJECT
    

4. Prepara la VM

En esta sección, te conectarás a la VM que acabas de crear y prepararás el entorno del sistema operativo, lo que incluye configurar el directorio de datos y SELinux.

  1. Conéctate a la VM a través de SSH con Identity-Aware Proxy (IAP). Como la VM no tiene una dirección IP pública, gcloud creará automáticamente un túnel para la conexión SSH a través de IAP.
    gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap
    
  2. Define variables de entorno en la VM para el directorio de datos y la URL de tu repositorio de AlloyDB Omni. Reemplaza la URL por la que recibiste en el formulario de registro.
    export PGDATA="/var/lib/alloydbomni"
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  3. Crea el directorio de datos en el que AlloyDB Omni almacenará sus archivos de base de datos.
    sudo mkdir -p $PGDATA
    
  4. Instala el paquete policycoreutils-python-utils para que se pueda configurar la política de SELinux y permitir que el servicio de base de datos de AlloyDB Omni se ejecute correctamente.
    sudo dnf install -y policycoreutils-python-utils
    

5. Instalar AlloyDB Omni

Con la VM preparada, ahora puedes configurar el repositorio de paquetes e instalar el paquete RPM de AlloyDB Omni.

  1. Crea el archivo de configuración del repositorio para configurar el repositorio de YUM en tu VM.
    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. Actualiza la caché de YUM para asegurarte de que se reconozca el nuevo repositorio.
    sudo yum makecache
    
    Nota: En la versión preliminar de RPM de AlloyDB Omni, la integridad del paquete se verifica a nivel de RPM individual. Para continuar con la configuración del repositorio de YUM, configura repo_gpgcheck=0 .
  3. Instala la versión 18 del paquete RPM de AlloyDB Omni.
    sudo dnf install -y alloydbomni18
    

6. Configura AlloyDB Omni

Después de instalar el paquete RPM, debes inicializar, configurar y comenzar el servicio de la base de datos de AlloyDB Omni.

  1. Define una contraseña segura para el usuario administrador postgres de PostgreSQL.
    export PGPASSWORD="YourStrongPassword123!"
    
  2. Inicializa la instancia de la base de datos de AlloyDB Omni.
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
    
  3. Configura el contexto de archivo de SELinux para permitir que el servicio de AlloyDB Omni lea y escriba datos en tu directorio de datos personalizado y, luego, restablece el contexto de seguridad correcto.
    sudo setenforce 0
    
  4. Prepara la instancia de la base de datos de AlloyDB Omni.
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
    
  5. (Opcional) Para optimizar la ejecución del servicio de AlloyDB Omni, ejecuta la utilidad de configuración del host para configurar automáticamente los parámetros de configuración recomendados del kernel y la memoria.
    sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host
    
  6. Habilita e inicia el servicio systemd de AlloyDB Omni.
    sudo systemctl enable alloydbomni18
    sudo systemctl start alloydbomni18
    
  7. Verifica que el servicio de AlloyDB Omni esté activo y se ejecute correctamente.
    sudo systemctl status alloydbomni18
    
    Verifica que el resultado indique Active: active (running).

7. Verifica AlloyDB Omni

Para verificar que tu base de datos de AlloyDB Omni de un solo nodo funcione correctamente, conéctate a ella con el cliente estándar de PostgreSQL (psql) instalado con el paquete.

  1. Conéctate a la instancia de la base de datos local como el usuario postgres. Se te solicitará la contraseña que configuraste anteriormente.
    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W
    
  2. Después de establecer la conexión, ejecuta una consulta SQL básica para verificar la versión del servidor de la base de datos y que AlloyDB Omni se esté ejecutando.
    postgres=# SELECT version();
    
    El resultado indica que PostgreSQL 18 se ejecuta con AlloyDB Omni.
  3. Ingresa \q para salir de la instrucción de psql.

8. Limpieza y encuesta

Una vez que termines el codelab, puedes limpiar los recursos de Google Cloud para evitar que se generen cargos no deseados.

  1. Desconéctate de tu sesión de SSH en la VM para regresar a la terminal local de Cloud Shell.
    exit
    
  2. Borra la instancia de VM de Compute Engine.
    gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet
    
  3. Borra la regla de firewall creada para el acceso SSH.
    gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet
    
  4. Borra la puerta de enlace de Cloud NAT y Cloud Router.
    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. Felicitaciones

¡Felicitaciones por completar el codelab! Implementaste y configuraste correctamente AlloyDB Omni en una sola máquina virtual de Compute Engine.

Temas abordados

  • Cómo aprovisionar y preparar una VM de Compute Engine para AlloyDB Omni
  • Cómo configurar el repositorio de paquetes de AlloyDB Omni y cómo instalar los RPM
  • Cómo inicializar, configurar y administrar el servicio de base de datos de AlloyDB Omni con systemd
  • Cómo verificar la funcionalidad de la base de datos con herramientas estándar de PostgreSQL

Para obtener más información, consulta la descripción general de AlloyDB Omni.

10. Encuesta

¿Cómo usarás este instructivo?

Solo lo leeré Lo leeré y completaré los ejercicios