Установка и настройка образа Tantor DB Basic Edition 15 в Яндекс.Облако
Для начала работы с TantorDB в Яндекс.Облако на основании образа СУБД создаётся виртуальная машина. Яндекс позволяет это делать различными способами:
- через веб интерфейс на https://console.cloud.yandex.ru;
- с помощью CLI утилиты YC;
- посредством Terraform через своего провайдера.
Ниже будет дан пример по созданию виртуальной машины в Яндекс.Облако с помощью консольной утилиты YC CLI. Для исследования других вариантов рекомендуем обратиться к официальной документации:
https://cloud.yandex.ru/docs/compute/operations/vm-create/create-linux-vm
https://cloud.yandex.ru/docs/cli/cli-ref/managed-services/vpc/
https://cloud.yandex.ru/docs/cli/cli-ref/managed-services/compute/
Обязательным шагом при создании ВМ в Яндекс.Облако является указание логина и ssh-ключа пользователя, который будет создан на виртуальной машине. В дальнейшем, при необходимости, будем упоминать этого пользователя как yc-user, его ключ как tdb-yc-key и IP адрес ВМ как host-ip.
1. Создание виртуальной машины
Генерируем ключевую пару ssh для последующего использования:
Устанавливаем переменные среды, которые будем использовать при создании сетевого окружения и самой виртуальной машины. Все указанные идентификаторы являются примерами, реальные данные уточняйте в личном кабинете:
Создаём отдельную сеть в Yandex.Cloud:
Создаём подсеть внутри сети с указанием региона размещения и диапазона адресов:
Создаём саму виртуальную машину, пробрасывая в неё сгенерированный ранее ключ. Ключ будет добавлен создаваемому cloud-init пользователю yc-user. Если требуется более тонкая настройка - передавайте параметры в виде cloud-config через ключ "user-data" флага --metadata:
После завершения работы можно использовать следующие команды для удаления созданной инфраструктуры:
2. Подключение к виртуальной машине
Команда создания ВМ после завершения работы вернёт данные о виртуальной машине, в том числе и IP адрес. Также его узнать можно через веб интерфейс или используя команду ниже (нам нужен публичный адрес):
После запуска ВМ к ней можно подключиться используя сгенерированный ранее ключ и указав её IP адрес:
3. Проверка статуса службы TantorDB
Проверяем статус сервиса:
Сделаем тестовый запрос в базу данных:
Для остановки/запуска/перезагрузки сервиса используем следующие команды:
4. Подключение к TantorDB
Войдя в систему как yc-user используем следующую команду для подключения:
Для выхода из psql можно использовать комбинацию клавиш Ctrl+D и команды \q или exit
5. Внешнее подключение к TantorDB
Для подключения к базе данных снаружи необходимо провести предварительную настройку. В данном образе пакет iptables не установлен, как и надстройки над ним типа ufw или firewalld. Для обеспечения сетевой безопасности установите и настройте необходимые утилиты, не забыв открыть доступ для TantorDB (по умолчанию - порт 5432). Последующие действия не следует рассматривать как рекомендацию - скорее как пример. Руководствуйтесь принятой у вас политикой безопасности и вашими потребностями, обращайтесь к официальной документации:
https://www.postgresql.org/docs/current/index.html
Устанавливаем ожидание подключения на всех TCP/IP адресах (по умолчанию это только "localhost"). IPv6 сюда тоже входит - если это нежелательно, то можно выставить "0.0.0.0":
Задаём пароль для пользователя postgres (ввод отображаться не будет):
Настраиваем pg_hba.conf для разрешения подключения с любого адреса к любой базе данных любым пользователем по паролю:
Перезапускаем сервис чтобы внесённые изменения вступили в силу
Проверить что служба ожидает подключения на необходимом порту можно таким образом (с удалённой машины):
Само подключение к базе данных с удалённого хоста осуществляется таким образом: