Перейти к основному содержанию

Облачные базы данных

Что такое облачные базы данных

Облачные базы данных (Database as a Service, DBaaS) — это услуга, позволяющая быстро разворачивать базы данных в облаке и управлять ими через Личный кабинет.

Преимущества облачных баз данных:

В данный момент можно развернуть кластер на основе следующих СУБД:

  • MySQL 8, MySQL 5.7
  • PostgreSQL 14, PostgreSQL 13

Управление кластерами и базами данных осуществляется на странице Базы данных в Личном кабинете пользователя. Также функции управления кластером и базами данных доступны программно через публичный интерфейс API.

Кластер баз данных доступен по внешнему или внутреннему IP-адресу для различных программ, работающих с базами данных, а также для управления СУБД с помощью функций программного интерфейса API.

Кластер баз данных

Кластер баз данных в проекте CLO состоит из нод двух типов:

  • ведущая (master, мастер-нода)
  • ведомая (slave, слейв-нода)

Ноды имеют одинаковую конфигурацию основных ресурсов (количество виртуальных ядер процессора, размер оперативной памяти и объём диска). Ресурсы кластера можно изменять, чтобы гибко подстраиваться под потребности конкретных задач.

Отказоустойчивость и целостность кластера обеспечиваются за счёт механизма репликации нод. Репликация позволяет поддерживать одинаковые копии баз данных (реплики) на всех нодах. В случае отказа мастер-ноды реплика (слейв-нода) становится мастер-нодой. В случае отказа слейв-ноды автоматически создаётся новая слейв-нода с репликой баз данных.

Примечание. Все кластеры СУБД работают в одной внутренней сети сервиса CLO.

Бэкап кластеров и БД

Бэкап всех кластеров и баз данных создаётся автоматически каждый день, если в Личном кабинете включено создание резервных копий конкретного кластера или БД. Бэкапы доступны пользователю для скачивания по ссылке со страницы резервных копий в Личном кабинете. Можно включить или отключить бэкап для каждого отдельного кластера или БД.

Лимиты услуги баз данных

Каждый проект поддерживает до трёх кластеров баз данных. При необходимости увеличить количество кластеров БД для конкретного проекта обратитесь в поддержку.

Каждый кластер может содержать до 50 баз данных.

Примечание. Лимиты серверов, предоставляемых для кластеров СУБД в рамках услуги DBaaS, считаются отдельно и не влияют на лимиты остальных серверов проекта.

Технические ограничения

На данный момент услуга баз данных предоставляется со следующими техническими ограничениями реализации:

  • Настройки баз данных заданы по умолчанию, изменить их невозможно
  • Доступны все SQL-команды, за исключением команд, которые требуют для выполнения привилегий администратора СУБД
  • Хост пользователя задаётся по умолчанию, изменить его нельзя

Для кластеров на базе MySQL:

  • Нельзя менять глобальные настройки MySQL вручную

Для кластеров на базе PostgreSQL:

  • Управление расширениями недоступно

Использование кластера баз данных

Создание кластера

В Личном кабинете выберите Базы данных и нажмите Создать кластер БД. Откроется окно конфигурации нового кластера.

Шаг 1. Выберите СУБД, под управлением которой будет работать кластер. Из выпадающего списка выберите версию СУБД.

Шаг 2. Прочтите информацию об отказоустойчивости кластера и конфигурации его нод.

Примечание. В данный момент кластер запускается с двумя нодами.

Шаг 3. Выберите вычислительные ресурсы (количество виртуальных процессоров и объём оперативной памяти) для каждой ноды кластера.

Шаг 4. Укажите объём диска, используемого нодой кластера для хранения баз данных.

Примечание. Ноды одного кластера имеют одинаковую конфигурацию вычислительных ресурсов и одинаковый объём дисков.

Шаг 5. Добавьте внешний адрес кластера баз данных и подключите защиту от DDoS-атак.

  1. Для подключения внешнего адреса выберите Внешний IP. Если у вас есть свободные внешние IP-адреса, выберите в выпадающем списке нужный вариант :
    • Новый внешний IP
    • Подключить существующий IP
  2. Чтобы включить защиту от DDoS-атак, отметьте флажок Подключить защиту от DDoS.

Шаг 6. Введите в соответствующее поле название кластера.

Шаг 7. На этом этапе есть возможность создать в кластере первую базу данных. Для этого отметьте флажок Создать БД и пользователя. Введите название БД, имя пользователя и пароль для доступа к базе данных в соответствующие поля.

Шаг 8. Обратите внимание на информацию об автоматическом резервном копировании кластера баз данных.

Шаг 9. Нажмите Создать кластер БД для создания кластера баз данных с указанными параметрами, или Отмена для отказа от создания кластера.

Создание базы данных

Чтобы создать новую БД в кластере, выполните следующие действия.

Шаг 1. В Личном кабинете перейдите на страницу Базы данных. Откройте нужный кластер баз данных, нажав на его название. В правом меню страницы нажмите Базы данных.

Шаг 2. Нажмите Создать базу данных. Откроется окно для ввода параметров новой БД.

Шаг 3. Введите основные параметры новой базы данных: имя БД, имя администратора базы данных и пароль для доступа к БД.

Шаг 4. Нажмите Создать базу данных. Новая БД будет создана и появится в списке баз данных текущего кластера.

Примечание. Для каждой базы данных сервис создаёт пользователя с правами администратора конкретной БД. Впоследствии администратор может создавать дополнительных пользователей внутри базы данных и определять для каждого пользователя права доступа к БД с помощью SQL-запросов в консоли СУБД.

Управление кластерами

Для управления кластером баз данных откройте в Личном кабинете страницу Базы данных и нажмите на имя кластера, параметрами которого вы собираетесь управлять. Откроется страница управления кластером.

Примечание. Часть операций управления кластерами доступна в выпадающем меню. Чтобы открыть это меню, нажмите символ шестерёнки напротив имени кластера. Выберите нужное действие. Откроется модальное окно, в котором вы можете указать нужное действие и ввести его параметры.

Остановка и повторный запуск кластера

Для остановки работающего кластера баз данных нажмите кнопку Остановить. Остановленный кластер станет недоступен для чтения и записи данных.

Чтобы перезапустить остановленный кластер, нажмите Запустить.

Удаление кластера

Чтобы удалить кластер баз данных, нажмите Удалить.

Внимание! Удаление кластера необратимо. Внешний IP-адрес, присвоенный удалённому кластеру, можно впоследствии использовать для других ресурсов проекта.

Изменение ресурсов и дисков ноды кластера

Чтобы изменить ресурсы ноды (количество виртуальных процессоров и объём оперативной памяти), нажмите Ресурсы в правом меню. Затем на панели Ресурсы нод кластера нажмите Изменить ресурсы в секции Ядра процессора и ОЗУ.

Для увеличения размера дисков кластера нажмите Увеличить размер в секции Диск.

Внимание! Если диски кластера заполнены, будет выдано сообщение Диск заполнен, а рядом с именем кластера в Личном кабинете появится предупреждающий значок. В этом случае необходимо как можно быстрее увеличить размер дисков ноды, иначе хранящиеся в кластере данные могут быть потеряны!

Ресурсы и диски изменяются одновременно для всех нод выбранного кластера.

Примечание. В процессе изменения ресурсов ноды доступность кластера зависит от осуществляемой операции:

  • изменение количества vCPU, RAM: кластер на короткое время недоступен для чтения и записи
  • увеличение размера диска: кластер доступен для операций чтения и записи 

Если изменение ресурсов кластера вызвало сбой, кластер перейдёт в состояние Ошибка. (См. список возможных состояний кластера).

IP-адреса кластера

На панели IP-адреса и сети отображаются внешний и внутренний IP-адреса кластера баз данных.

У кластера всегда есть внутренний IP-адрес, который ссылается на мастер-ноду. Кроме того, кластеру в любой момент можно присвоить внешний IP-адрес. Внешний IP-адрес, прикреплённый к кластеру, всегда указывает на мастер-ноду.

Чтобы отключить внешний IP-адрес от кластера, нажмите Отключить. В открывшемся модальном окне подтвердите выбранное действие, нажав кнопку Отключить IP-адрес.

Примечание. Внешний IP-адрес можно отключить от кластера и использовать для другого ресурса (кластера, сервера или балансировщика).

Каждой ноде кластера баз данных автоматически присваивается внутренний IP-адрес. Эти адреса нужны для работы внутренних алгоритмов сервиса. При восстановлении нод внутренний IP-адрес новой ноды будет изменён. В Личном кабинете эти IP-адреса отображаются в списке нод.

Резервные копии кластера

На панели Бэкапы отображается список резервных копий кластера. Чтобы перейти к управлению резервными копиями кластера, нажмите Подробнее на этой панели.

Базы данных

На панели Базы данных отображается список БД текущего кластера. Нажмите Подробнее, чтобы перейти к управлению базами данных.

Примечание. Управление базами данных доступно только через Личный кабинет.

Управление базами данных

Нажмите Базы данных в правом меню. Откроется список существующих баз данных.

Для управления базой данных нажмите кнопку с изображением шестерёнки в правой части строки, содержащей название этой БД. Выберите одно из следующих действий:

  • Изменить пароль — изменить существующий пароль к БД на новый
  • Удалить — удалить выбранную БД из кластера (при этом будет удалён также пользователь-администратор БД) 

На этой плашке есть также кнопка для создания новой БД.

Подключение к базе данных

Подключение к базе данных производится через внешний или внутренний IP-адрес кластера БД. Хост пользователя настроен по умолчанию и позволяет подключиться к базе данных откуда угодно.

Примечание. На данный момент подключение к базе данных осуществляется через незащищённое соединение без использования сертификатов.

Для подключения к БД применяются:

  • специализированные приложения для управления базами данных
  • консольные утилиты
  • программные библиотеки, работающие с API кластера СУБД
  • приложения, сокращающие время на установку соединения с СУБД

Например, для подключения к базе данных вы можете использовать одну из стандартных консольных утилит.

Для MySQL:

mysql -h [hostname] -P [port] -u [username] -p

Для PostgreSQL:

psql -h [hostname] -p 5432 -U [username] -W -d [dbname]

Здесь:

  • [hostname] — внешний или внутренний IP-адрес кластера БД
  • [port] — порт, используемый для подключения к БД
  • [username] — имя пользователя с доступом к БД
  • [dbname] — имя конкретной БД, к которой осуществляется подключение

Состояния кластера

В процессе своего существования кластер может находиться в различных состояниях:

  • работает — кластер в рабочем состоянии, ноды доступны для чтения и записи
  • создаётся — кластер в стадии создания, ноды недоступны для чтения и записи
  • настраивается — изменяются настройки кластера, ноды могут быть недоступны
  • бэкап — создаётся резервная копия кластера или БД
  • восстанавливается — сервис создаёт копию отказавшей ноды для сохранения целостности кластера
  • мёртв — кластер разрушен, информация, хранящаяся на нодах, недоступна
  • ошибка — кластер выдал ошибку при работе, ноды недоступны

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

Назад к базе знаний