Déployer AlloyDB Omni sur une seule VM GCE

1. Introduction

Cet atelier de programmation explique comment déployer AlloyDB Omni sur une seule machine virtuelle Google Compute Engine (GCE). À la fin de cet atelier de programmation, vous aurez provisionné une seule VM GCE exécutant Rocky Linux 9 et installé AlloyDB Omni à l'aide des packages RPM officiels. Cette machine virtuelle contient tous les outils de développement nécessaires. Elle comprend un répertoire d'accueil persistant de 20 Go et s'exécute sur Google Cloud, ce qui améliore nettement les performances du réseau et l'authentification.

Prérequis

  • Accès à un projet Google Cloud et à Cloud Shell depuis la console Cloud.
  • Le SDK Google Cloud (gcloud) est installé et configuré. Pour en savoir plus sur l'installation de gcloud, consultez gcloud-install.

Points abordés

  • Découvrez comment créer et préparer une VM GCE pour AlloyDB Omni à l'aide de gcloud.
  • Découvrez comment installer les RPM AlloyDB Omni sur un seul nœud Linux.
  • Découvrez comment amorcer et configurer AlloyDB Omni.
  • Vérifier l'installation de la base de données locale

Prérequis

  • Obtenez un lien URL vers les RPM AlloyDB Omni. Les liens sont envoyés à votre adresse e-mail, qui inclut le serveur d'URL du dépôt. Initialisez la variable d'environnement suivante pour que l'URL soit prête à l'emploi pendant l'atelier de programmation.
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  • Un terminal fonctionnel avec accès à Google Cloud. Vous pouvez utiliser Cloud Shell à cette fin.

2. Préparation

Configuration du projet

Créer un projet Google Cloud

  1. Dans la console Google Cloud, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
  2. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

Démarrer Cloud Shell

Bien que vous puissiez utiliser Google Cloud à distance depuis votre ordinateur portable, vous allez utiliser Google Cloud Shell, un environnement de ligne de commande exécuté dans le cloud, lors de cet atelier de programmation.

Icône d'activation de Cloud Shell

  1. Ouvrez la console Google Cloud et cliquez sur l'icône Cloud Shell dans la barre d'outils en haut à droite.Vous pouvez également ouvrir Cloud Shell de l'une des manières suivantes :

Le provisionnement et la connexion à l'environnement prennent généralement quelques instants. Une fois cette opération terminée, un résultat semblable à celui-ci s'affiche :

Terminal Google Cloud Shell indiquant que l'environnement est connecté{: width="624"}

3. Créer la VM Compute Engine

Dans cette section, vous allez créer une seule machine virtuelle (VM) Compute Engine (GCE) à l'aide de l'outil de ligne de commande gcloud. Vous utilisez une image Rocky Linux 9, qui est entièrement compatible avec les RPM AlloyDB Omni.

  1. Définissez des variables d'environnement pour l'ID de votre projet, le nom de la VM, la zone et la région.
    export PROJECT="your-project-id"
    export INSTANCE_NAME="alloydb-omni-vm"
    export ZONE="us-central1-c"
    export REGION="us-central1"
    
  2. Connectez-vous avec votre compte utilisateur Google Cloud et configurez le projet par défaut.
    gcloud auth login
    gcloud config set project $PROJECT
    
  3. Créez une règle de pare-feu pour autoriser les connexions SSH à votre 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. Étant donné que la VM est créée sans adresse IP publique, configurez un routeur Cloud Router et une passerelle Cloud NAT pour permettre à la VM d'accéder aux dépôts de packages externes et de télécharger les logiciels requis.
    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. Assurez-vous que votre réseau VPC dispose d'une route de passerelle Internet par défaut valide. Dans certains environnements partagés ou de bac à sable, les routes par défaut sont parfois supprimées par des scripts de nettoyage. Cette route est nécessaire pour que Cloud NAT transfère le trafic sortant vers 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. Créez l'instance de VM Compute Engine avec les spécifications requises (16 processeurs virtuels, 20 Go de disque persistant avec équilibrage, Rocky Linux 9). Pour renforcer la sécurité, nous utilisons l'indicateur --no-address afin de nous assurer qu'aucune adresse IP publique n'est attribuée à la VM.
    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. Une fois la VM créée, vérifiez son état.
    gcloud compute instances list --filter="name=$INSTANCE_NAME" --project=$PROJECT
    

4. Préparer la VM

Dans cette section, vous allez vous connecter à la VM que vous venez de créer et préparer l'environnement du système d'exploitation, y compris en configurant le répertoire de données et SELinux.

  1. Connectez-vous à la VM via SSH à l'aide d'Identity-Aware Proxy (IAP). Comme la VM ne possède pas d'adresse IP publique, gcloud tunnelise automatiquement la connexion SSH via IAP.
    gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap
    
  2. Définissez des variables d'environnement sur la VM pour le répertoire de données et l'URL de votre dépôt AlloyDB Omni. Remplacez l'URL par celle que vous avez reçue du formulaire d'inscription.
    export PGDATA="/var/lib/alloydbomni"
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  3. Créez le répertoire de données dans lequel AlloyDB Omni stockera ses fichiers de base de données.
    sudo mkdir -p $PGDATA
    
  4. Installez le package policycoreutils-python-utils afin de pouvoir configurer la règle SELinux pour permettre au service de base de données AlloyDB Omni de s'exécuter correctement.
    sudo dnf install -y policycoreutils-python-utils
    

5. Installer AlloyDB Omni

Une fois la VM préparée, vous pouvez configurer le dépôt de packages et installer le package RPM AlloyDB Omni.

  1. Configurez le dépôt YUM sur votre VM en créant le fichier de configuration du dépôt.
    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. Mettez à jour le cache YUM pour vous assurer que le nouveau dépôt est reconnu.
    sudo yum makecache
    
    Remarque : Pour la version bêta RPM d'AlloyDB Omni, l'intégrité des packages est vérifiée au niveau de chaque RPM. Pour poursuivre la configuration du dépôt YUM, configurez repo_gpgcheck=0 .
  3. Installez la version 18 du package RPM AlloyDB Omni.
    sudo dnf install -y alloydbomni18
    

6. Configurer AlloyDB Omni

Après avoir installé le package RPM, vous devez initialiser, configurer et démarrer le service de base de données AlloyDB Omni.

  1. Définissez un mot de passe sécurisé pour l'utilisateur administrateur PostgreSQL postgres.
    export PGPASSWORD="YourStrongPassword123!"
    
  2. Initialisez l'instance de base de données AlloyDB Omni.
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
    
  3. Configurez le contexte de fichier SELinux pour permettre au service AlloyDB Omni de lire et d'écrire des données dans votre répertoire de données personnalisé, puis restaurez le contexte de sécurité approprié.
    sudo setenforce 0
    
  4. Préparez l'instance de base de données AlloyDB Omni.
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
    
  5. (Facultatif) Pour une exécution optimisée du service AlloyDB Omni, exécutez l'utilitaire de configuration de l'hôte afin de configurer automatiquement les paramètres recommandés du noyau et de la mémoire.
    sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host
    
  6. Activez et démarrez le service systemd AlloyDB Omni.
    sudo systemctl enable alloydbomni18
    sudo systemctl start alloydbomni18
    
  7. Vérifiez que le service AlloyDB Omni est actif et qu'il s'exécute correctement.
    sudo systemctl status alloydbomni18
    
    Vérifiez que le résultat indique Active: active (running).

7. Valider AlloyDB Omni

Pour vérifier que votre base de données AlloyDB Omni à nœud unique fonctionne correctement, connectez-vous à celle-ci à l'aide du client PostgreSQL standard (psql) installé avec le package.

  1. Connectez-vous à l'instance de base de données locale en tant qu'utilisateur postgres. Vous êtes invité à saisir le mot de passe que vous avez configuré précédemment.
    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W
    
  2. Une fois la connexion établie, exécutez une requête SQL de base pour vérifier la version du serveur de base de données et qu'AlloyDB Omni est en cours d'exécution.
    postgres=# SELECT version();
    
    Le résultat indique que PostgreSQL 18 est exécuté avec AlloyDB Omni.
  3. Saisissez \q pour quitter l'invite psql.

8. Nettoyage et enquête

Une fois l'atelier de programmation terminé, vous pouvez nettoyer les ressources Google Cloud pour éviter que des frais inutiles ne vous soient facturés.

  1. Déconnectez-vous de votre session SSH sur la VM pour revenir à votre terminal Cloud Shell local.
    exit
    
  2. Supprimez l'instance de VM Compute Engine.
    gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet
    
  3. Supprimez la règle de pare-feu créée pour l'accès SSH.
    gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet
    
  4. Supprimez la passerelle Cloud NAT et le routeur 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. Félicitations

Félicitations, vous avez terminé cet atelier de programmation ! Vous avez déployé et configuré AlloyDB Omni sur une seule machine virtuelle Compute Engine.

Points abordés

  • Découvrez comment provisionner et préparer une VM Compute Engine pour AlloyDB Omni.
  • Comment configurer le dépôt de packages AlloyDB Omni et installer les RPM.
  • Comment initialiser, configurer et gérer le service de base de données AlloyDB Omni à l'aide de systemd.
  • Comment vérifier le fonctionnement de la base de données à l'aide d'outils PostgreSQL standards.

Pour en savoir plus, consultez la présentation d'AlloyDB Omni.

10. Enquête

Comment allez-vous utiliser ce tutoriel ?

Je vais le lire uniquement Je vais le lire et effectuer les exercices