Replikacja logiczna w AlloyDB Omni

1. Wprowadzenie

To ćwiczenie pokazuje, jak skonfigurować replikację logiczną między niezależnymi instancjami AlloyDB Omni. Wdrożysz kilka instancji AlloyDB Omni na jednej maszynie wirtualnej Compute Engine i skonfigurujesz między nimi replikację za pomocą rozszerzenia pglogical.

Uruchamianie wielu instancji na jednym węźle jest przydatne w przypadku tworzenia, testowania lub symulowania środowisk replikacji. Po ukończeniu tego ćwiczenia będziesz mieć działającą konfigurację replikacji z jedną instancją działającą jako dostawca i drugą jako subskrybent.

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ą Compute Engine dla wielu instancji AlloyDB Omni za pomocą gcloud.
  • Jak zainstalować pakiety RPM AlloyDB Omni.
  • Jak skonfigurować i zainicjować wiele instancji AlloyDB Omni za pomocą szablonów systemd.
  • Jak skonfigurować replikację logiczną między instancjami AlloyDB Omni za pomocą pglogical.
  • Jak zweryfikować replikację przez replikowanie danych od dostawcy do subskrybenta.

Czego potrzebujesz

  • Uzyskaj link URL do pakietów RPM AlloyDB Omni. Link zostanie wysłany na Twój adres e-mail, w tym link do serwera URL 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.

Uruchamianie 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 Cloud Shell i połączenie się z nim zajmuje zwykle kilka chwil. Po zakończeniu tej operacji zobaczysz dane wyjściowe podobne do tych:

Terminal Google Cloud Shell z informacją o połączeniu ze środowiskiem

3. Tworzenie maszyny wirtualnej Compute Engine

W tej sekcji utworzysz jedną maszynę wirtualną Compute Engine za pomocą narzędzia wiersza poleceń gcloud. Użyj 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-multi-vm"
    export ZONE="us-central1-c"
    export REGION="us-central1"
    
  2. Zaloguj się, używając konta Google Cloud, i skonfiguruj domyślny projekt.
    gcloud auth login
    gcloud config set project $PROJECT
    
  3. Aby zezwolić na połączenia SSH z maszyną wirtualną za pomocą Identity-Aware Proxy (IAP), utwórz regułę zapory sieciowej.
    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. Ponieważ maszyna wirtualna jest tworzona bez publicznego adresu IP, 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ć prywatnego środowiska wirtualnego w chmurze (VPC) ma prawidłową domyślną trasę bramy internetowej. 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żyj 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.

  1. Połącz się z maszyną wirtualną przez SSH za pomocą IAP. Ponieważ maszyna wirtualna nie ma publicznego adresu IP, gcloud automatycznie tuneluje połączenie SSH przez IAP.
    gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap
    
  2. Zdefiniuj zmienną środowiskową dla podstawowego katalogu danych.
    export BASE_PGDATA="/var/lib/alloydbomni"
    
  3. Utwórz podstawowy katalog danych.
    sudo mkdir -p $BASE_PGDATA
    
  4. Zainstaluj pakiet policycoreutils-python-utils, aby można było skonfigurować zasady SELinux.
    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. Zastąp $ALLOYDB_OMNI_REPOSITORY_URL otrzymanym adresem URL.
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    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.
    sudo yum makecache
    
  3. Zainstaluj wersję 18 pakietu RPM AlloyDB Omni.
    sudo dnf install -y alloydbomni18
    

6. Konfigurowanie wielu instancji

W tej sekcji skonfiguruj 2 instancje: inst1 i inst2.

  1. Aby obsługiwać wiele instancji, utwórz systemdplik usługi szablonualloydbomni18@.service.
    sudo tee /etc/systemd/system/alloydbomni18@.service << EOF
    [Unit]
    Description=AlloyDB Omni Database server instance %I
    After=syslog.target
    After=network-online.target
    
    [Service]
    SyslogIdentifier=alloydbomni-%I
    Type=notify
    
    User=postgres
    Group=postgres
    
    # Load configuration for the instance
    EnvironmentFile=/etc/alloydbomni/%I.conf
    
    OOMScoreAdjust=-1000
    Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj
    Environment=PG_OOM_ADJUST_VALUE=0
    
    ExecStartPre=/usr/lib/postgresql/18/bin/alloydbomni18-check-db-dir \${PGDATA}
    ExecStart=/usr/lib/postgresql/18/bin/postgres -D \${PGDATA}
    ExecReload=/bin/kill -HUP \$MAINPID
    
    KillMode=mixed
    KillSignal=SIGINT
    
    TimeoutSec=0
    TimeoutStartSec=0
    TimeoutStopSec=1h
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
  2. Ponownie wczytaj konfigurację menedżera systemd, aby rozpoznać nową usługę szablonu.
    sudo systemctl daemon-reload
    
  3. Utwórz katalog konfiguracji instancji AlloyDB Omni.
    sudo mkdir -p /etc/alloydbomni
    
  4. Skonfiguruj katalog danych dla inst1.
    sudo tee /etc/alloydbomni/inst1.conf << EOF
    PGDATA=/var/lib/alloydbomni/inst1
    EOF
    
  5. Skonfiguruj katalog danych dla inst2.
    sudo tee /etc/alloydbomni/inst2.conf << EOF
    PGDATA=/var/lib/alloydbomni/inst2
    EOF
    
  6. Ustaw odpowiednie uprawnienia do plików konfiguracyjnych.
    sudo chmod 640 /etc/alloydbomni/*.conf
    sudo chown postgres:postgres /etc/alloydbomni/*.conf
    
  7. Utwórz katalogi danych dla obu instancji i ustaw prawidłową własność.
    sudo mkdir -p /var/lib/alloydbomni/inst1
    sudo mkdir -p /var/lib/alloydbomni/inst2
    sudo chown -R postgres:postgres /var/lib/alloydbomni
    sudo chmod 750 /var/lib/alloydbomni/inst1 /var/lib/alloydbomni/inst2
    
  8. Opcjonalnie: ustaw limity zasobów dla każdej instancji. Zapobiega to wykorzystywaniu wszystkich zasobów maszyny wirtualnej przez jedną instancję. Utwórz systemd katalogi i pliki zastąpień dla obu instancji.Uwaga: limity zasobów użyte w konfiguracjach poniżej (40%) to wartości przykładowe. Dostosuj limity do konkretnego zbioru zadań i pojemności maszyny wirtualnej.W przypadku inst1:
    sudo mkdir -p /etc/systemd/system/alloydbomni18@inst1.service.d
    sudo tee /etc/systemd/system/alloydbomni18@inst1.service.d/override.conf << EOF
    [Service]
    CPUQuota=40%
    MemoryMax=40%
    EOF
    
    Dla inst2:
    sudo mkdir -p /etc/systemd/system/alloydbomni18@inst2.service.d
    sudo tee /etc/systemd/system/alloydbomni18@inst2.service.d/override.conf << EOF
    [Service]
    CPUQuota=40%
    MemoryMax=40%
    EOF
    

7. Inicjowanie i przygotowywanie baz danych

Zainicjuj i przygotuj każdą instancję bazy danych osobno.

  1. Na potrzeby konfiguracji ustaw SELinux w trybie zezwalającym.
    sudo setenforce 0
    
    Ostrzeżenie: ustawienie SELinux w trybie zezwalającym wyłącza egzekwowanie i należy go używać z ostrożnością. W tym ćwiczeniu jest on używany, aby uprościć instalację. W środowisku produkcyjnym skonfiguruj odpowiednie zasady SELinux, aby AlloyDB Omni działał w trybie egzekwowania. Po skonfigurowaniu możesz ponownie włączyć egzekwowanie, uruchamiając polecenie sudo setenforce 1.
  2. Zdefiniuj silne hasło dla użytkownika administratora PostgreSQL postgres. To hasło jest używane w obu instancjach w tym laboratorium.
    export PGPASSWORD="YourStrongPassword123!"
    
    Uwaga: przekazywanie haseł za pomocą zmiennych środowiskowych w wierszu poleceń (np. PGPASSWORD=$PGPASSWORD) jest tu używane dla uproszczenia w tym samouczku, ale może ujawnić hasło na listach procesów. W środowisku produkcyjnym używaj bezpieczniejszych metod, takich jak plik .pgpass lub menedżer obiektów tajnych.

Konfigurowanie inst1

  1. Zainicjuj katalog bazy danych dla inst1.
    sudo PGPASSWORD=$PGPASSWORD \
      PGDATA=/var/lib/alloydbomni/inst1 \
      /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
    
  2. Skonfiguruj instancję tak, aby nasłuchiwała na porcie 5433, aktualizując plik postgresql.conf.
    sudo sed -i \
      "s/^#*[[:space:]]*port[[:space:]]*=[[:space:]]*[0-9]*/port = 5433/" \
      /var/lib/alloydbomni/inst1/postgresql.conf
    
  3. Przygotuj instancję bazy danych do AlloyDB Omni.
    sudo PGPASSWORD=$PGPASSWORD \
      PGDATA=/var/lib/alloydbomni/inst1 \
      PGPORT=5433 \
      /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
    

Konfigurowanie inst2

  1. Zainicjuj katalog bazy danych dla inst2.
    sudo PGPASSWORD=$PGPASSWORD \
      PGDATA=/var/lib/alloydbomni/inst2 \
      /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
    
  2. Skonfiguruj instancję tak, aby nasłuchiwała na porcie 5434.
    sudo sed -i \
      "s/^#*[[:space:]]*port[[:space:]]*=[[:space:]]*[0-9]*/port = 5434/" \
      /var/lib/alloydbomni/inst2/postgresql.conf
    
  3. Przygotuj instancję bazy danych.
    sudo PGPASSWORD=$PGPASSWORD \
      PGDATA=/var/lib/alloydbomni/inst2 \
      PGPORT=5434 \
      /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
    

8. Uruchamianie usług AlloyDB Omni

Teraz możesz uruchomić usługi systemd na obu instancjach.

  1. Aby rozpoznać nową konfigurację i zastąpienia, ponownie załaduj konfigurację menedżera systemd.
    sudo systemctl daemon-reload
    
  2. Włącz i uruchom usługę inst1.
    sudo systemctl enable alloydbomni18@inst1
    sudo systemctl start alloydbomni18@inst1
    
  3. Włącz i uruchom usługę inst2.
    sudo systemctl enable alloydbomni18@inst2
    sudo systemctl start alloydbomni18@inst2
    
  4. Sprawdź, czy obie usługi są aktywne i działają.
    sudo systemctl status alloydbomni18@inst1
    sudo systemctl status alloydbomni18@inst2
    
    Sprawdź, czy w danych wyjściowych obu poleceń widnieje wartość Active: active (running).

9. Weryfikowanie instancji AlloyDB Omni

Sprawdź, czy oba wystąpienia działają prawidłowo i niezależnie od siebie.

  1. Połącz się z serwerem inst1 (port 5433). Wyświetli się prośba o podanie hasła skonfigurowanego w sekcji Inicjowanie i przygotowywanie baz danych.
    /usr/lib/postgresql/18/bin/psql -h localhost -p 5433 -U postgres -W
    
  2. Uruchom zapytanie, aby zweryfikować połączenie.
    postgres=# SELECT version();
    
  3. Odłącz się od instancji.
    postgres=# \q
    
  4. Połącz się z serwerem inst2 (port 5434).
    /usr/lib/postgresql/18/bin/psql -h localhost -p 5434 -U postgres -W
    
  5. Uruchom zapytanie, aby zweryfikować połączenie.
    postgres=# SELECT version();
    
  6. Odłącz się od instancji.
    postgres=# \q
    

10. Konfigurowanie replikacji pglogical

Skonfiguruj replikację logiczną między 2 instancjami za pomocą rozszerzenia pglogical. W tym przypadku inst1 jest dostawcą, a inst2 – subskrybentem.

Uwaga: w tym samouczku do połączeń replikacji używamy postgres superużytkownika. W środowisku produkcyjnym utwórz dedykowanego użytkownika replikacji z uprawnieniami REPLICATION i przyznaj mu dostęp tylko do replikowanych tabel.

Konfigurowanie instancji na potrzeby pglogical

  1. Włącz pglogical w shared_preload_libraries i skonfiguruj inne parametry replikacji w postgresql.conf dla inst1.
    # Append pglogical to shared_preload_libraries
    sudo sed -i \
      "s/\(shared_preload_libraries\s*=\s*'\)\([^']*\)'/\1\2,pglogical'/" \
      /var/lib/alloydbomni/inst1/postgresql.conf
    
    # Append replication settings
    sudo tee -a /var/lib/alloydbomni/inst1/postgresql.conf << EOF
    wal_level = logical
    max_replication_slots = 10
    max_wal_senders = 10
    max_worker_processes = 20
    track_commit_timestamp = on
    alloydb.enable_pglogical = on
    alloydb.logical_decoding = on
    EOF
    
  2. Skonfiguruj ustawienia dla inst2, które zostały skonfigurowane dla inst1.
    # Append pglogical to shared_preload_libraries
    sudo sed -i \
      "s/\(shared_preload_libraries\s*=\s*'\)\([^']*\)'/\1\2,pglogical'/" \
      /var/lib/alloydbomni/inst2/postgresql.conf
    
    # Append replication settings
    sudo tee -a /var/lib/alloydbomni/inst2/postgresql.conf << EOF
    wal_level = logical
    max_replication_slots = 10
    max_wal_senders = 10
    max_worker_processes = 20
    track_commit_timestamp = on
    alloydb.enable_pglogical = on
    alloydb.logical_decoding = on
    EOF
    
  3. Aby zastosować zmiany konfiguracji, uruchom ponownie obie instancje.
    sudo systemctl restart alloydbomni18@inst1
    sudo systemctl restart alloydbomni18@inst2
    

Konfigurowanie ról i tabel replikacji

  1. Na serwerze inst1 (dostawca, port 5433) utwórz rolę replikacji i tabelę do replikacji.
    /usr/lib/postgresql/18/bin/psql -h localhost -p 5433 \
      -U postgres -d postgres -c "
      DO \$\$
      BEGIN
        IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'app_owner') THEN
          CREATE ROLE app_owner WITH LOGIN PASSWORD 'Password123';
        END IF;
      END
      \$\$;
      GRANT ALL ON SCHEMA public TO app_owner;
      CREATE TABLE IF NOT EXISTS replication_test (
          id SERIAL PRIMARY KEY,
          data TEXT,
          created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
      );
      ALTER TABLE replication_test OWNER TO app_owner;
    "
    
  2. Na inst2 (subskrybent, port 5434) utwórz tę samą rolę i strukturę tabeli.
    /usr/lib/postgresql/18/bin/psql -h localhost -p 5434 \
      -U postgres -d postgres -c "
      DO \$\$
      BEGIN
        IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'app_owner') THEN
          CREATE ROLE app_owner WITH LOGIN PASSWORD 'Password123';
        END IF;
      END
      \$\$;
      GRANT ALL ON SCHEMA public TO app_owner;
      CREATE TABLE IF NOT EXISTS replication_test (
          id SERIAL PRIMARY KEY,
          data TEXT,
          created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
      );
      ALTER TABLE replication_test OWNER TO app_owner;
    "
    

Konfigurowanie węzłów pglogical i subskrypcji

  1. Zainicjuj węzeł dostawcy pglogical na serwerze inst1.
    /usr/lib/postgresql/18/bin/psql -h localhost -p 5433 \
      -U postgres -d postgres -c "
      CREATE EXTENSION IF NOT EXISTS pglogical;
      SELECT pglogical.create_node(
          node_name := 'provider',
          dsn := 'host=127.0.0.1 port=5433 dbname=postgres user=postgres password=YourStrongPassword123!'
      );
      SELECT pglogical.replication_set_add_table('default', 'replication_test');
    "
    
  2. Zainicjuj węzeł subskrybenta pglogical i utwórz subskrypcję na inst2.
    /usr/lib/postgresql/18/bin/psql -h localhost -p 5434 \
      -U postgres -d postgres -c "
      CREATE EXTENSION IF NOT EXISTS pglogical;
      SELECT pglogical.create_node(
          node_name := 'subscriber',
          dsn := 'host=127.0.0.1 port=5434 dbname=postgres user=postgres password=YourStrongPassword123!'
      );
      SELECT pglogical.create_subscription(
          subscription_name := 'test_subscription',
          provider_dsn := 'host=127.0.0.1 port=5433 dbname=postgres user=postgres password=YourStrongPassword123!'
      );
    "
    
    Uwaga: po utworzeniu subskrypcji może minąć chwila, zanim zakończy się początkowa synchronizacja.

11. Weryfikacja replikacji pglogical

Sprawdź, czy replikacja działa zgodnie z oczekiwaniami, wstawiając dane u dostawcy i wysyłając do niego zapytanie u subskrybenta.

  1. Sprawdź, czy subskrypcja jest aktywna. Przejście do stanu replicating może potrwać kilka sekund.
    /usr/lib/postgresql/18/bin/psql -t -A -h localhost -p 5434 \
      -U postgres -d postgres -c "
      SELECT status FROM pglogical.show_subscription_status() WHERE subscription_name = 'test_subscription';
      "
    
  2. Zanim przejdziesz dalej, sprawdź, czy w danych wyjściowych znajduje się replicating.
  3. Wstaw wiersz testowy u dostawcy (inst1).
    /usr/lib/postgresql/18/bin/psql -h localhost -p 5433 \
      -U postgres -d postgres -c "
      INSERT INTO replication_test (data) VALUES ('Hello from replication provider!');
    "
    
  4. Aby sprawdzić, czy dane zostały zreplikowane, wykonaj zapytanie na tabeli w inst2.
    /usr/lib/postgresql/18/bin/psql -h localhost -p 5434 \
      -U postgres -d postgres -c "SELECT * FROM replication_test;"
    
    Sprawdź, czy wstawiony wiersz jest widoczny w arkuszu inst1.

12. Czyszczenie

Zwolnij miejsce, usuwając zasoby. Najpierw zniszcz instancje AlloyDB Omni na maszynie wirtualnej, a potem usuń zasoby Google Cloud.

Usuwanie instancji AlloyDB Omni

Zanim usuniesz maszynę wirtualną, możesz zwolnić miejsce w instancjach AlloyDB Omni, zatrzymując i wyłączając usługi oraz usuwając ich konfigurację i dane.

  1. Zatrzymaj i wyłącz usługę inst1 oraz usuń jej dane i konfigurację.
    sudo systemctl stop alloydbomni18@inst1
    sudo systemctl disable alloydbomni18@inst1
    sudo rm -rf /var/lib/alloydbomni/inst1
    sudo rm -f /etc/alloydbomni/inst1.conf
    
  2. Zatrzymaj i wyłącz usługę inst2 oraz usuń jej dane i konfigurację.
    sudo systemctl stop alloydbomni18@inst2
    sudo systemctl disable alloydbomni18@inst2
    sudo rm -rf /var/lib/alloydbomni/inst2
    sudo rm -f /etc/alloydbomni/inst2.conf
    
  3. Ponownie wczytaj konfigurację menedżera systemd i zresetuj jednostki, w przypadku których wystąpił błąd.
    sudo systemctl daemon-reload
    sudo systemctl reset-failed
    

Zwalnianie miejsca w zasobach Google Cloud

Po zwolnieniu miejsca w instancjach usuń maszynę wirtualną Compute Engine i inne zasoby.

  1. Odłącz się od sesji SSH.
    exit
    
  2. Usuń instancję maszyny wirtualnej Compute Engine.
    gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet
    
  3. Usuń regułę zapory sieciowej.
    gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet
    
  4. Usuń Cloud NAT i 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
    
  5. Usuń domyślną trasę internetową.
    gcloud compute routes delete default-internet-route --project=$PROJECT --quiet
    

13. Gratulacje

Udało Ci się wdrożyć i skonfigurować wiele instancji AlloyDB Omni na jednej maszynie wirtualnej Compute Engine.

Omówione zagadnienia

  • Jak udostępnić i przygotować maszynę wirtualną Compute Engine.
  • Jak zainstalować pakiety RPM AlloyDB Omni.
  • Jak skonfigurować systemd szablony dla wielu instancji.
  • Jak zainicjować, skonfigurować i uruchomić wiele niezależnych usług na różnych portach.
  • Jak sprawdzić niezależność każdej instancji.

Więcej informacji