Wdrażanie AlloyDB Omni na jednej maszynie wirtualnej GCE

1. Wprowadzenie

To ćwiczenie pokazuje, jak wdrożyć AlloyDB Omni na jednej maszynie wirtualnej Google Compute Engine (GCE). Po ukończeniu tego ćwiczenia będziesz mieć udostępnioną pojedynczą maszynę wirtualną GCE z systemem Rocky Linux 9 i zainstalowaną bazą danych AlloyDB Omni przy użyciu oficjalnych pakietów RPM. Ta maszyna wirtualna zawiera wszystkie potrzebne narzędzia dla programistów. Zawiera również stały katalog domowy o pojemności 20 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i usprawnia proces uwierzytelniania.

Wymagania wstępne

  • Dostęp do projektu Google Cloud i Cloud Shell z konsoli Google Cloud.
  • Zainstalowany i skonfigurowany pakiet SDK Google Cloud (gcloud). Szczegółowe informacje o instalowaniu gcloud znajdziesz w artykule gcloud-install.

Czego się nauczysz

  • Jak utworzyć i przygotować maszynę wirtualną GCE pod AlloyDB Omni za pomocą gcloud.
  • Jak zainstalować pakiety RPM AlloyDB Omni na jednym węźle Linux.
  • Jak uruchomić i skonfigurować AlloyDB Omni.
  • Jak sprawdzić instalację lokalnej bazy danych

Czego potrzebujesz

  • Uzyskaj link URL do pakietów RPM AlloyDB Omni. Linki zostaną wysłane na Twój adres e-mail, który zawiera adres URL serwera repozytorium. Zainicjuj tę zmienną środowiskową, aby adres URL był gotowy do użycia podczas ćwiczeń z programowania.
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  • działający terminal z dostępem do Google Cloud; Możesz do tego użyć Cloud Shell.

2. Konfiguracja i wymagania

Konfigurowanie projektu

Tworzenie projektu Google Cloud

  1. W konsoli Google Cloud na stronie wyboru projektu wybierz lub utwórz projekt Google Cloud.
  2. Sprawdź, czy w projekcie Cloud włączone są płatności. Dowiedz się, jak sprawdzić, czy w projekcie są włączone płatności.

Uruchom Cloud Shell

Chociaż możesz zdalnie korzystać z Google Cloud na laptopie, w tym ćwiczeniu użyjesz Google Cloud Shell, czyli środowiska wiersza poleceń działającego w chmurze.

Ikona aktywowania Cloud Shell

  1. Otwórz konsolę Google Cloud i kliknij ikonę Cloud Shell na pasku narzędzi w prawym górnym rogu.Cloud Shell możesz też otworzyć w jeden z tych sposobów:
    • Jeśli używasz konsoli Google Cloud, naciśnij G, a potem S.
    • Kliknij ten link.

Udostępnienie środowiska i połączenie się z nim może zająć kilka chwil. Po zakończeniu tej operacji zobaczysz coś podobnego do tego:

Terminal Google Cloud Shell pokazujący, że środowisko zostało połączone{: width="624"}

3. Tworzenie maszyny wirtualnej Compute Engine

W tej sekcji utworzysz jedną maszynę wirtualną Compute Engine (GCE) za pomocą narzędzia wiersza poleceń gcloud. Używasz obrazu Rocky Linux 9, który jest w pełni zgodny z pakietami RPM AlloyDB Omni.

  1. Zdefiniuj zmienne środowiskowe dla identyfikatora projektu, nazwy maszyny wirtualnej, strefy i regionu.
    export PROJECT="your-project-id"
    export INSTANCE_NAME="alloydb-omni-vm"
    export ZONE="us-central1-c"
    export REGION="us-central1"
    
  2. Zaloguj się jako użytkownik konta Google Cloud i skonfiguruj projekt domyślny.
    gcloud auth login
    gcloud config set project $PROJECT
    
  3. Utwórz regułę zapory sieciowej, która zezwala na połączenia SSH z maszyną wirtualną.
    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. Maszyna wirtualna jest tworzona bez publicznego adresu IP, dlatego skonfiguruj router Cloud Router i bramę Cloud NAT, aby umożliwić maszynie wirtualnej dostęp do zewnętrznych repozytoriów pakietów i pobieranie wymaganego oprogramowania.
    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. Sprawdź, czy sieć VPC ma prawidłową domyślną trasę do bramy internetowej. W niektórych środowiskach współdzielonych lub testowych skrypty czyszczące czasami usuwają trasy domyślne. Ta trasa jest wymagana, aby usługa Cloud NAT mogła przekazywać ruch wychodzący do internetu.
    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. Utwórz instancję maszyny wirtualnej Compute Engine o wymaganych specyfikacjach (16 procesorów wirtualnych, 20 GB zrównoważonego dysku stałego, Rocky Linux 9). Aby zwiększyć bezpieczeństwo, używamy flagi --no-address, aby mieć pewność, że maszynie wirtualnej nie zostanie przypisany publiczny adres IP.
    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. Po utworzeniu maszyny wirtualnej sprawdź jej stan.
    gcloud compute instances list --filter="name=$INSTANCE_NAME" --project=$PROJECT
    

4. Przygotowywanie maszyny wirtualnej

W tej sekcji połączysz się z nowo utworzoną maszyną wirtualną i przygotujesz środowisko systemu operacyjnego, w tym skonfigurujesz katalog danych i SELinux.

  1. Połącz się z maszyną wirtualną przez SSH za pomocą usługi Identity-Aware Proxy (IAP). Ponieważ maszyna wirtualna nie ma publicznego adresu IP, gcloud automatycznie przekieruje połączenie SSH przez IAP.
    gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap
    
  2. Zdefiniuj na maszynie wirtualnej zmienne środowiskowe dla katalogu danych i adresu URL repozytorium AlloyDB Omni. Zastąp adres URL adresem otrzymanym z formularza rejestracyjnego.
    export PGDATA="/var/lib/alloydbomni"
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  3. Utwórz katalog danych, w którym AlloyDB Omni będzie przechowywać pliki bazy danych.
    sudo mkdir -p $PGDATA
    
  4. Zainstaluj pakiet policycoreutils-python-utils, aby można było skonfigurować zasady SELinux, które umożliwią prawidłowe działanie usługi bazy danych AlloyDB Omni.
    sudo dnf install -y policycoreutils-python-utils
    

5. Zainstaluj AlloyDB Omni

Po przygotowaniu maszyny wirtualnej możesz skonfigurować repozytorium pakietów i zainstalować pakiet RPM AlloyDB Omni.

  1. Skonfiguruj repozytorium YUM na maszynie wirtualnej, tworząc plik konfiguracji repozytorium.
    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. Zaktualizuj pamięć podręczną YUM, aby nowe repozytorium zostało rozpoznane.
    sudo yum makecache
    
    Uwaga: w przypadku wersji podglądowej AlloyDB Omni RPM integralność pakietu jest weryfikowana na poziomie poszczególnych pakietów RPM. Aby kontynuować konfigurację repozytorium YUM, skonfiguruj repo_gpgcheck=0 .
  3. Zainstaluj wersję 18 pakietu RPM AlloyDB Omni.
    sudo dnf install -y alloydbomni18
    

6. Konfigurowanie AlloyDB Omni

Po zainstalowaniu pakietu RPM musisz zainicjować, skonfigurować i uruchomić usługę bazy danych AlloyDB Omni.

  1. Zdefiniuj silne hasło dla użytkownika administratora PostgreSQL postgres.
    export PGPASSWORD="YourStrongPassword123!"
    
  2. Zainicjuj instancję bazy danych AlloyDB Omni.
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
    
  3. Skonfiguruj kontekst pliku SELinux, aby umożliwić usłudze AlloyDB Omni odczytywanie i zapisywanie danych w niestandardowym katalogu danych, a następnie przywróć prawidłowy kontekst zabezpieczeń.
    sudo setenforce 0
    
  4. Przygotuj instancję bazy danych AlloyDB Omni.
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
    
  5. (Opcjonalnie) Aby zoptymalizować działanie usługi AlloyDB Omni, uruchom narzędzie do konfiguracji hosta, które automatycznie skonfiguruje zalecane ustawienia jądra i pamięci.
    sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host
    
  6. Włącz i uruchom usługę AlloyDB Omni systemd.
    sudo systemctl enable alloydbomni18
    sudo systemctl start alloydbomni18
    
  7. Sprawdź, czy usługa AlloyDB Omni jest aktywna i działa prawidłowo.
    sudo systemctl status alloydbomni18
    
    Sprawdź, czy dane wyjściowe wskazują Active: active (running).

7. Weryfikowanie AlloyDB Omni

Aby sprawdzić, czy baza danych AlloyDB Omni z jednym węzłem działa prawidłowo, połącz się z nią za pomocą standardowego klienta PostgreSQL (psql) zainstalowanego w pakiecie.

  1. Połącz się z lokalną instancją bazy danych jako użytkownik postgres. Wyświetli się prośba o podanie hasła skonfigurowanego wcześniej.
    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W
    
  2. Po nawiązaniu połączenia uruchom podstawowe zapytanie SQL, aby sprawdzić wersję serwera bazy danych i potwierdzić, że działa AlloyDB Omni.
    postgres=# SELECT version();
    
    Wynik wskazuje, że PostgreSQL 18 działa z AlloyDB Omni.
  3. Aby zamknąć prompt psql, wpisz \q.

8. Czyszczenie i ankieta

Po ukończeniu ćwiczenia z programowania możesz zwolnić miejsce w zasobach Google Cloud, aby uniknąć niechcianych opłat.

  1. Odłącz się od sesji SSH na maszynie wirtualnej, aby wrócić do lokalnego terminala Cloud Shell.
    exit
    
  2. Usuń instancję maszyny wirtualnej Compute Engine.
    gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet
    
  3. Usuń regułę zapory sieciowej utworzoną na potrzeby dostępu SSH.
    gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet
    
  4. Usuń bramę Cloud NAT i router 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. Gratulacje

Gratulujemy ukończenia warsztatów! Udało Ci się wdrożyć i skonfigurować AlloyDB Omni na jednej maszynie wirtualnej Compute Engine.

Omówione zagadnienia

  • Jak udostępnić i przygotować maszynę wirtualną Compute Engine na potrzeby AlloyDB Omni.
  • Jak skonfigurować repozytorium pakietów AlloyDB Omni i zainstalować pakiety RPM.
  • Jak inicjować, konfigurować i zarządzać usługą bazy danych AlloyDB Omni za pomocą systemd.
  • Jak sprawdzić funkcjonalność bazy danych za pomocą standardowych narzędzi PostgreSQL.

Więcej informacji znajdziesz w omówieniu AlloyDB Omni.

10. Ankieta

Jak zamierzasz wykorzystać ten samouczek?

Tylko przeczytaj Przeczytaj i wykonaj ćwiczenia