Развертывание AlloyDB Omni на одной виртуальной машине GCE.

1. Введение

В этом практическом занятии показано, как развернуть AlloyDB Omni на одной виртуальной машине Google Compute Engine (GCE). По завершении этого занятия вы создадите одну виртуальную машину GCE под управлением Rocky Linux 9 и установите AlloyDB Omni, используя официальные RPM-пакеты. Эта виртуальная машина будет содержать все необходимые инструменты разработки. Она предоставляет постоянный домашний каталог размером 20 ГБ и работает в облаке Google, что значительно повышает производительность сети и аутентификацию.

Предварительные требования

  • Доступ к проекту Google Cloud и Cloud Shell из Cloud Console.
  • Google Cloud SDK ( gcloud ) установлен и настроен. Подробную информацию об установке gcloud см. в инструкции по установке gcloud.

Что вы узнаете

  • Как создать и подготовить виртуальную машину GCE для AlloyDB Omni с помощью gcloud .
  • Как установить RPM-пакеты AlloyDB Omni на одном узле Linux.
  • Как инициализировать и настроить AlloyDB Omni.
  • Как проверить установку локальной базы данных.

Что вам понадобится

  • Получите URL-ссылку на RPM-пакеты AlloyDB Omni . Ссылки будут отправлены на вашу электронную почту и будут содержать URL-адрес сервера репозитория. Инициализируйте следующую переменную среды, чтобы URL-адрес оставался готовым к использованию во время выполнения практического задания.
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  • Рабочий терминал с доступом к Google Cloud. Для этой цели можно использовать Cloud Shell.

2. Настройка и требования

Настройка проекта

Создайте проект в Google Cloud.

  1. В консоли Google Cloud на странице выбора проекта выберите или создайте проект Google Cloud .
  2. Убедитесь, что для вашего облачного проекта включена функция выставления счетов. Узнайте, как проверить, включена ли функция выставления счетов для проекта .

Запустить Cloud Shell

Хотя вы можете управлять Google Cloud удаленно со своего ноутбука, в этом практическом занятии вы будете использовать Google Cloud Shell — среду командной строки, работающую в облаке.

Значок для активации Cloud Shell

  1. Откройте консоль Google Cloud и нажмите на значок Cloud Shell на панели инструментов в правом верхнем углу. Вы также можете открыть Cloud Shell одним из следующих способов:

Обычно на подготовку и подключение к среде уходит несколько минут. После завершения этой операции вы увидите что-то подобное следующему:

Терминал Google Cloud Shell показывает, что среда подключена. {: width="624"}

3. Создайте виртуальную машину Compute Engine.

В этом разделе вы создадите одну виртуальную машину Compute Engine (GCE) с помощью инструмента командной строки gcloud . Вы будете использовать образ Rocky Linux 9, который полностью совместим с RPM-пакетами AlloyDB Omni.

  1. Определите переменные среды для идентификатора вашего проекта, имени виртуальной машины, зоны и региона.
    export PROJECT="your-project-id"
    export INSTANCE_NAME="alloydb-omni-vm"
    export ZONE="us-central1-c"
    export REGION="us-central1"
    
  2. Войдите в систему, используя учетную запись Google Cloud, и настройте проект по умолчанию.
    gcloud auth login
    gcloud config set project $PROJECT
    
  3. Создайте правило брандмауэра, разрешающее SSH-подключения к вашей виртуальной машине.
    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. Поскольку виртуальная машина создается без публичного IP-адреса, настройте облачный маршрутизатор и шлюз Cloud NAT, чтобы виртуальная машина могла получать доступ к внешним репозиториям пакетов и загружать необходимое программное обеспечение.
    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. Убедитесь, что в вашей сети VPC существует действительный маршрут шлюза в интернет по умолчанию. В некоторых общих или тестовых средах маршруты по умолчанию иногда удаляются скриптами очистки. Этот маршрут необходим для того, чтобы Cloud NAT перенаправлял исходящий трафик в интернет.
    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. Создайте экземпляр виртуальной машины Compute Engine с необходимыми характеристиками (16 виртуальных процессоров, 20 ГБ сбалансированного постоянного диска, Rocky Linux 9). Для повышения безопасности мы используем флаг --no-address , чтобы гарантировать, что виртуальной машине не будет назначен публичный 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. После создания виртуальной машины проверьте её статус.
    gcloud compute instances list --filter="name=$INSTANCE_NAME" --project=$PROJECT
    

4. Подготовка виртуальной машины

В этом разделе вы подключаетесь к созданной виртуальной машине и подготавливаете среду операционной системы, включая настройку каталога данных и конфигурацию SELinux.

  1. Подключитесь к виртуальной машине по SSH, используя Identity-Aware Proxy (IAP). Поскольку у виртуальной машины нет публичного IP-адреса, gcloud автоматически направит SSH-соединение через IAP.
    gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap
    
  2. Настройте переменные среды на виртуальной машине для каталога данных и URL-адреса вашего репозитория AlloyDB Omni. Замените URL-адрес на тот, который вы получили из формы регистрации.
    export PGDATA="/var/lib/alloydbomni"
    export ALLOYDB_OMNI_REPOSITORY_URL="..."
    
  3. Создайте каталог данных, в котором AlloyDB Omni будет хранить файлы своей базы данных.
    sudo mkdir -p $PGDATA
    
  4. Установите пакет policycoreutils-python-utils , чтобы настроить политику SELinux, разрешающую корректную работу службы базы данных AlloyDB Omni.
    sudo dnf install -y policycoreutils-python-utils
    

5. Установите AlloyDB Omni

После подготовки виртуальной машины вы можете настроить репозиторий пакетов и установить пакет AlloyDB Omni RPM.

  1. Настройте репозиторий YUM на вашей виртуальной машине, создав файл конфигурации репозитория.
    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. Обновите кэш YUM, чтобы убедиться, что новый репозиторий распознан.
    sudo yum makecache
    
    Примечание: В предварительной версии AlloyDB Omni RPM проверка целостности пакетов выполняется на уровне отдельных RPM-пакетов. Для продолжения настройки репозитория YUM установите repo_gpgcheck=0 .
  3. Установите RPM-пакет AlloyDB Omni версии 18.
    sudo dnf install -y alloydbomni18
    

6. Настройка AlloyDB Omni

После установки RPM-пакета необходимо инициализировать, настроить и запустить службу базы данных AlloyDB Omni.

  1. Задайте надежный пароль для пользователя-администратора PostgreSQL postgres .
    export PGPASSWORD="YourStrongPassword123!"
    
  2. Инициализируйте экземпляр базы данных AlloyDB Omni.
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
    
  3. Настройте контекст файла SELinux, чтобы разрешить службе AlloyDB Omni читать и записывать данные в вашем пользовательском каталоге данных, а затем восстановите правильный контекст безопасности.
    sudo setenforce 0
    
  4. Подготовьте экземпляр базы данных AlloyDB Omni.
    sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
    
  5. (Необязательно) Для оптимизации работы службы AlloyDB Omni запустите утилиту настройки хоста, чтобы автоматически настроить рекомендуемые параметры ядра и памяти.
    sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host
    
  6. Включите и запустите службу systemd AlloyDB Omni.
    sudo systemctl enable alloydbomni18
    sudo systemctl start alloydbomni18
    
  7. Убедитесь, что служба AlloyDB Omni активна и успешно работает.
    sudo systemctl status alloydbomni18
    
    Убедитесь, что в выводе указано Active: active (running) .

7. Проверьте AlloyDB Omni

Чтобы убедиться в корректной работе вашей одноузловой базы данных AlloyDB Omni, подключитесь к ней, используя стандартный клиент PostgreSQL ( psql ), установленный вместе с пакетом.

  1. Подключитесь к локальному экземпляру базы данных от имени пользователя postgres . Вам будет предложено ввести пароль, который вы настроили ранее.
    /usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W
    
  2. После установления соединения выполните простой SQL-запрос, чтобы проверить версию сервера базы данных и убедиться, что AlloyDB Omni запущен.
    postgres=# SELECT version();
    
    Полученные данные указывают на работу PostgreSQL 18 с AlloyDB Omni.
  3. Введите \q для выхода из командной строки psql .

8. Очистка и обследование

После завершения практического задания вы можете очистить ресурсы Google Cloud, чтобы избежать ненужных расходов.

  1. Чтобы вернуться в локальный терминал Cloud Shell, отключитесь от SSH-сессии на виртуальной машине.
    exit
    
  2. Удалите экземпляр виртуальной машины Compute Engine.
    gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet
    
  3. Удалите правило брандмауэра, созданное для доступа по SSH.
    gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet
    
  4. Удалите шлюз Cloud NAT и маршрутизатор 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. Поздравляем!

Поздравляем с завершением практического задания! Вы успешно развернули и настроили AlloyDB Omni на одной виртуальной машине Compute Engine.

Что мы рассмотрели

  • Как подготовить и развернуть виртуальную машину Compute Engine для AlloyDB Omni.
  • Как настроить репозиторий пакетов AlloyDB Omni и установить RPM-пакеты.
  • Как инициализировать, настроить и управлять службой базы данных AlloyDB Omni с помощью systemd .
  • Как проверить работоспособность базы данных с помощью стандартных инструментов PostgreSQL.

Для получения более подробной информации см. обзор AlloyDB Omni .

10. Опрос

Как вы будете использовать этот учебный материал?

Прочитайте только до конца. Прочитайте текст и выполните упражнения.