Хабр, привет! Меня зовут Георгий Липатов. Я — DevOps-инженер, работаю в Сбере, также сопровождаю мониторинг и бэкапы в Sber Tax Free.
Мы начали строить этот сервис в конце прошлого года — тогда наша ИТ-команда состояла из двух backend-разработчиков, DevOps-инженера и пары специалистов по frontend’у. Чтобы не терять время и проверить первые гипотезы, мы решили развернуть стенды для разработки и тестирования в облаке. Помимо решений в области информационной безопасности нам, конечно же, были необходимы удобные инструменты для развертывания, мониторинга и бэкапов. Плюс — масштабируемые ресурсы в зависимости от потребностей проекта.
Как только мы подготовили чуть более развернутое описание наших запросов и рассказали о проекте коллегам из SberCloud, они предоставили нам тестовый доступ и документацию для SberCloud.Advanced. В итоге мы развернули стенды за несколько минут, а еще — сняли с себя необходимость отслеживания обновлений, патчинга и оплаты отдельных инструментов. Последний момент заключается в том, что вместо запуска дополнительной «виртуалки» можно воспользоваться бесплатным сервисом, который предоставляет платформа.
Далее я расскажу о настройке стенда для тестового приложения в формате пошагового туториала. Всех заинтересовавшихся приглашаю под кат.
![](https://habrastorage.org/getpro/habr/upload_files/e64/147/880/e64147880713a3bcd9918dd172f9d32d.jpg)
Запускаем виртуальную сеть
Для начала стоит изолировать среду для разработки от других окружений — например, контуров для тестирования и продакшена. Также стоит сформировать подсети, для которых будут действовать сетевые правила.
Для того чтобы перейти к базовым настройкам, можно воспользоваться веб-интерфейсом для управления сервисами SberCloud.Advanced: перейти в раздел Virtual Private Cloud и нажать Create VPC. В меню настроек — задать название сети (dev-vpc), адрес и маску подсети, а также отметить, что создаваемая виртуальная сеть будет относиться к нашему проекту (выбрать его в выпадающем списке в подпункте настроек Enterprise Project).
![](https://habrastorage.org/getpro/habr/upload_files/9b9/fe0/f96/9b9fe0f968d8234a69917b334deaccba.png)
Для тестового проекта мы выбрали три подсети — private, public и tools — для backend’а, frontend’а и вспомогательных сервисов соответственно. Для них нужно указать IP-адреса и применить настройки кнопкой Create New.
![](https://habrastorage.org/getpro/habr/upload_files/8dc/d21/a36/8dcd21a36fd7100f51146992789a48d6.png)
В результате — мы получили виртуальный ЦОД (dev-vpc) и подсети:
![](https://habrastorage.org/getpro/habr/upload_files/1b2/52f/e07/1b252fe07b92ab2291731a6fb98a86e3.png)
Создаем IP-адреса
После запуска виртуальной сети стоит выделить IP-адреса для пробных проектов. Чтобы это сделать, можно открыть панель управления SberCloud.Advanced, перейти в раздел Elastic IP и кликнуть по кнопке Assign EIP.
В открывшемся меню следует указать число IP-адресов в подпункте Quantity. В нашем случае их будет четыре. Также стоит отметить их принадлежность к нашему проекту (уже знакомый выпадающий список Enterprise Project).
При желании в этом же окне можно задать пропускную способность каналов, но мы оставим этот пункт без изменений и сохраним настройки кнопкой Create.
![](https://habrastorage.org/getpro/habr/upload_files/a91/788/d0b/a91788d0b52ddaf4f992a2e12422009d.png)
Далее остается обновить страницу раздела EIPs — там отобразятся только что созданные адреса.
![](https://habrastorage.org/getpro/habr/upload_files/aca/8ee/d12/aca8eed12c404be0d2332aca0e3039ea.png)
Настраиваем группы безопасности
Перейдем к настройке фаервола, отвечающего за доступ приложений по определённым портам. В рамках туториала будем работать с портами 443 и 80 для веб-сервера, 22 портом для SSH-соединения, и 5432 для базы данных PostgreSQL. Для исходящего трафика оставим опции по умолчанию.
Перед настройкой группы безопасности её необходимо сформировать. Сделать это можно в разделе Virtual Private Cloud. Выбираем пункт Security Groups, нажимаем Create Security Group и во всплывающем окне даем группе имя (в нашем случае — dev-backend-sg), указываем проект, к которому она относится (подраздел Enterprise Project), и подтверждаем действия кнопкой ОК.
![](https://habrastorage.org/getpro/habr/upload_files/eb9/ded/616/eb9ded6165d34d2413bb02412a784958.png)
Чтобы добавить сетевые правила в только что созданную группу безопасности, нужно кликнуть на название группы (она, конечно же, находится в разделе Security Groups) и перейти во вкладку Inbound Rules в верхней части страницы. В этой вкладке вы увидите правила по умолчанию для портов 443, 80 и 22.
![](https://habrastorage.org/getpro/habr/upload_files/989/65a/39f/98965a39f56f9d21ab615ab34e14d770.png)
Порт 5432 для PostgreSQL придется открыть вручную. Для этого нажимаем Add Rule, прописываем значение порта во второе поле и в подразделе Source выбираем группу безопасности, где будет работать новое правило.
![](https://habrastorage.org/getpro/habr/upload_files/634/d4b/89a/634d4b89a7983aaf01f13e49f25109c2.png)
Вы могли заметить, что в автоматически сгенерированном списке правил присутствует еще открытый порт (TCP: 3389). Мы не планируем использовать его, поэтому удалим в целях безопасности. Для этого достаточно нажать на Delete напротив соответствующего правила и подтвердить операцию.
![](https://habrastorage.org/getpro/habr/upload_files/613/996/f56/613996f564e0520c5fc971cccceb73cc.png)
Исходящие правила пока оставим в виде, заданном по умолчанию.
Развертываем облачный сервер
На этом шаге необходимо указать спецификацию сервера, а также желаемый образ операционной системы, объем жесткого диска и другие настройки. Для примера развернем сервер для нашего backend-приложения. Серверы для frontend’а и других инструментов можно «поднять» аналогичным образом.
В первую очередь нужно перейти в раздел Elastic Cloud Server из панели управления и нажать кнопку Create ECS. Откроется окно, где мы определим регион (в нашем случае — ru-moscow) и зону доступности (AZ1).
Параметры сервера выбираем в подразделе Specifications. Для этого кейса возьмем вариант средней мощности — s6.xlarge.2 с четырьмя ядрами, восемью гигабайтами RAM и гарантированной пропускной способностью в 0,35 Гбит/с.
![](https://habrastorage.org/getpro/habr/upload_files/802/b45/62e/802b4562e00167ccdee5f97cd3a654a9.png)
На этой же странице укажем, под управлением какой операционной системы будет работать сервер (CentOS 8.1), и обозначим объем диска (100 Гбайт).
![](https://habrastorage.org/getpro/habr/upload_files/4e6/00f/b75/4e600fb751dd877deb4804d6a3f53a47.png)
Далее с помощью кнопки Next перейдем к настройке сети. В новом окне укажем сеть (dev-vpc) и подсеть, в которой будет работать сервер (dev-private-subnet).
![](https://habrastorage.org/getpro/habr/upload_files/bfc/cab/c86/bfccabc86343b6e2f751264b662ad0a8.png)
Плюс — выберем группу безопасности, определённую ранее. Здесь же в таблице можно будет увидеть все настроенные входящие правила файрвола.
![](https://habrastorage.org/getpro/habr/upload_files/f01/4b0/e2f/f014b0e2f99b259aecbb164ff327848a.png)
На этой странице остается назначить серверу заранее подготовленный IP-адрес. Для этого нужно поставить галочку Specify EIP. Теперь можно нажимать на кнопку Next и переходить к последнему шагу развертывания сервера.
![](https://habrastorage.org/getpro/habr/upload_files/a0d/8b1/45f/a0d8b145f360bbc6b08a7873549f75e9.png)
Осталось задать название (в нашем случае это — dev-backend) и указать ключ-пару для подключения по SSH. Плюс — поставить соответствующую галочку прямо под этим пунктом. Ключ dev-key мы подготовили заранее.
![](https://habrastorage.org/getpro/habr/upload_files/17b/d65/f58/17bd65f583fa2d0ab98ec8f7e6d2130c.png)
После привязки к нашему проекту (подраздел Enterprise Project) и применения всех настроек на экране появится выделенный сервер с IP-адресом:
![](https://habrastorage.org/getpro/habr/upload_files/017/8b8/5fd/0178b85fd6410c64a4957af988fe78fc.jpg)
Ставим приложения
Подключаемся к серверу через терминал — вводим консольную команду с указанием адреса, выделенного ранее, двадцать второго порта и ключа:
ssh root@37.18.110.161 -p 22 -i ~/.ssh/dev-key.pem
После подключения можно ставить приложения. Для этой задачи мы использовали консольный менеджер пакетов yum:
yum -y install mc
Настраиваем внутренний домен
Чтобы разработчики могли подключаться через VPN, необходимо создать приватную зону и A-запись. Выбираем в основной панели управления облаком сервис Domain Name Service. Далее в правом верхнем углу нажимаем на Create Private Zone и во всплывающем окне заполняем название домена (для примера — testproject.dev), указываем, что он относится к нашей виртуальной сети (dev-vpc) и прописываем email (опционально). После нажатия на ОК будет сформирована доменная зона, готовая к добавлению записей поддоменов.
![](https://habrastorage.org/getpro/habr/upload_files/1af/def/10d/1afdef10d0b64fce3c27d1d14a3b4a89.png)
В качестве примера сформируем запись поддомена для backend-приложения (кнопка Add Record Set). В этом случае понадобится указать имя (api) и IP-адрес сервера в полe Value (10.0.2.27). Значение TTL уставим по умолчанию.
![](https://habrastorage.org/getpro/habr/upload_files/da0/7d8/7ed/da07d87ede37fb4cd29775d6f18d865c.png)
По аналогии настроим front приложения. Укажем для него адрес 10.0.2.28.
Устанавливаем VPN-сервер
Выбор VPN-сервера полностью зависит от ваших предпочтений. Мы используем Ocserv, так как он бесплатный, легко настраивается и работает с несколькими уровнями безопасности. Найти его можно на Gitlab вместе с документацией.
Используем подход IaC (опционально)
Чтобы упростить процесс, можно обратиться к подходу Infrastructure-as-Code (IaC). Он позволяет управлять развертыванием инфраструктуры с помощью конфигурационных файлов. Далее — приведу небольшой пример, используя Terraform:
$ cat main.tf
variable "access_key" {
default ="ACCESSKEY"
}
variable "secret_key" {
default ="SECRETKEY"
}
terraform {
required_providers {
sbercloud = {
source = "sbercloud-terraform/sbercloud"
}
}
}
provider "sbercloud" {
auth_url = "https://iam.ru-moscow-1.hc.sbercloud.ru/v3"
region = "ru-moscow-1"
access_key = var.access_key
secret_key = var.secret_key
}
resource "sbercloud_vpc" "test_vpc" {
count = 1
name = "test-vpc"
cidr = "10.1.0.0/22"
}
Такие файлы можно хранить в системах контроля версий и использовать для автоматизации работы с инфраструктурой. У нас на сервере уже установлен Terraform, и мы заранее подготовили файл с конфигурацией — main.tf.
С его помощью мы «подняли» новую виртуальную сеть — test-vpc. Если мы обновим страницу Virtual Private Cloud в панели управления SberCloud.Advanced, то увидим, что в списке появился новый компонент инфраструктуры.
![](https://habrastorage.org/getpro/habr/upload_files/0ec/de0/261/0ecde0261225fadd259cbdaaed363974.png)
Если модифицировать конфигурационный файл и заменить в объекте "test-vpc" свойство count 1 на 0, то запуск команды terraform apply
приведет к удалению созданной сети:
![](https://habrastorage.org/getpro/habr/upload_files/334/876/3f5/3348763f5a9aba9965056bd679f539e3.png)
Добавляем базу данных
Облако SberCloud.Advanced работает с несколькими движками баз данных — MSSQL, PostgreSQL и MySQL и другими. Развертывание, конечно же, происходит в автоматическом режиме. Чтобы осуществить его, нужно перейти в раздел Relational Database Service в панели управления облаком и далее нажать кнопку Create DB Instance. После этого можно будет задать название инстанса (dev-rds), выбрать движок и его версию (PostgreSQL 12). Здесь же важно указать тип инстанса базы данных (Single), зону доступности (AZ1) и временную зону.
![](https://habrastorage.org/getpro/habr/upload_files/db6/168/f14/db6168f14c12c35272fb3ce944612747.png)
На этой же странице мы настроим конфигурацию инстанса для БД и размер диска. Для нашей задачи было достаточно пары ядер, восьми гигабайт оперативной памяти и хранилища на сто гигабайт.
![](https://habrastorage.org/getpro/habr/upload_files/9db/da6/228/9dbda622816a09281dfdaa2baf76f95c.png)
Осталось добавить БД в виртуальную сеть (dev-vpc) и подсеть (dev-private-subnet). Плюс — включить её в группу безопасности (dev-backend-sg), чтобы применить настройки файрвола, и добавить к нашему проекту (подпункт Enterprise Project). Далее — ставим пароль, и БД готова к приему данных.
![](https://habrastorage.org/getpro/habr/upload_files/315/9cd/963/3159cd963c4106fd5f007264335ae185.png)
Для администрирования базы данных в облаке уже развернут инструмент Data Admin Service (DAS). Он доступен в основной панели управления. С его помощью можно формировать схемы, таблицы, запускать SQL-скрипты. Переходим в DAS, вводим только что придуманный пароль и подключаемся к базе данных.
![](https://habrastorage.org/getpro/habr/upload_files/b80/db0/563/b80db0563a909042713224163af6c209.png)
Теперь можно добавлять в БД записи — для примера сформируем БД с названием test. Другие настройки для нее оставим по умолчанию.
![](https://habrastorage.org/getpro/habr/upload_files/967/eb8/d46/967eb8d467bb0676a0337028b5a56c24.png)
Далее войдем в базу — пока что она пустая. Чтобы это исправить, перейдем на вкладку SQL Window в верхней части экрана.
![](https://habrastorage.org/getpro/habr/upload_files/074/eca/c1f/074ecac1f8ca5d9eea6750f5875b7fc0.png)
Там мы можем прописать тестовый SQL-скрипт, который создаст таблицу и импортирует в нее информацию:
CREATE TABLE links (
id SERIAL PRIMARY KEY,
url VARCHAR (255) NOT NULL,
name VARCHAR (255) NOT NULL,
description VARCHAR (255),
last_update DATE
);
INSERT INTO links (url,name)
VALUES (‘https://www.postgresqltutorial.com’,’PostgreSQL Tutorial’);
![](https://habrastorage.org/getpro/habr/upload_files/54e/528/0f2/54e5280f23ad70ecacd85edfb4fc3e65.png)
Просмотреть содержимое можно, вернувшись на вкладку Database management-test (где test — это название нашей БД). Для этого достаточно нажать на Open.
![](https://habrastorage.org/getpro/habr/upload_files/e84/345/4b2/e843454b2110fa88081cc4b9d2a6f595.png)
Подключаем мониторинг
Возможным подходом является развертка отдельного сервера с Zabbix или Prometheus и установкой агентов. Облако SberCloud.Advanced предлагает готовый к работе сервис для мониторинга — Cloud Eye.
![](https://habrastorage.org/getpro/habr/upload_files/e00/60b/327/e0060b327b2279ca508cfcbe6a821571.png)
Внутри Cloud Eye — в подразделе меню Server Monitoring — уже отображается поднятый ранее сервер (dev-backend). Нам остается установить на него агент — для этого нужно кликнуть на Configuration и выбрать пункт Install Agent.
![](https://habrastorage.org/getpro/habr/upload_files/2a2/21f/066/2a221f066f0bc1c0f7b6a95d88267e8c.png)
Система сгенерирует команду, которую нужно ввести в терминал:
cd /usr/local && wget https://telescope-ru-moscow-1.obs.ru-moscow-1.hc.sbercloud.ru/scripts/agentinstall.sh && chmod 755 agentinstall.sh && ./agentinstall.sh
![](https://habrastorage.org/getpro/habr/upload_files/1d5/c33/b16/1d5c33b16b11a76e7a36fb6148c43905.png)
Она установит агент Telescope, отвечающий за отправку уведомлений и метрик.
![](https://habrastorage.org/getpro/habr/upload_files/b87/6f8/b9b/b876f8b9bf65810414131df1ee3f2ca2.png)
После успешного завершения всех операций нам остается лишь обновить конфигурацию. Сделать это можно, нажав на кнопку One-Click Restore во всплывающем окне, из которого мы инициировали установку агента.
![](https://habrastorage.org/getpro/habr/upload_files/68f/58a/3c2/68f58a3c250c0d7540075952b26f4ebe.png)
Система выполнит необходимые процедуры и сообщит о готовности задачи.
![](https://habrastorage.org/getpro/habr/upload_files/b28/63e/e90/b2863ee90f61243a117c87218023f0eb.png)
После этого в главном меню Cloud Eye мы сможем увидеть, что в столбце Agent Status появилась запись Running.
![](https://habrastorage.org/getpro/habr/upload_files/406/8b2/04f/4068b204f8b7e5f251083758278e0df2.png)
Данные мониторинга отражены на специальных dashboard’ах во вкладке OS Monitoring — чтобы её найти, нужно выбрать пункт New Metric (под курсором на скриншоте выше). Инструмент предлагает стандартный набор метрик — производительность CPU, объем используемой памяти, нагрузка на диск и другие. Конечно же, можно сконфигурировать и кастомные графики.
![](https://habrastorage.org/getpro/habr/upload_files/a00/acb/3e7/a00acb3e70184763cc1e289140fc5237.png)
Можно подключить уведомления, которые будут приходить на электронную почту, если показания той или иной метрики войдут в критическую зону. Для задания правил необходимо вернуться в раздел Cloud Eye и перейти в меню Alarm Management — в правом углу будет кнопка Create Alarm Rule.
В настройках указываем название метрики. Мы будем мониторить работу диска, поэтому вписываем dev-low-disk. Здесь же выбираем сервер — dev-backend.
![](https://habrastorage.org/getpro/habr/upload_files/4c2/802/7e8/4c28027e83222c97f275a0f6ce671f2e.png)
Далее — выбираем шаблон с параметрами уведомления. Платформа предлагает несколько вариантов, однако можно сформировать и свои (Create Manually).
![](https://habrastorage.org/getpro/habr/upload_files/e83/155/7eb/e831557ebcfe71dd00c57cb9842fe8c7.png)
Необходимо указать метрику, которую вы планируете отслеживать, — например, максимальную загруженность диска, другие моменты и не забыть условие срабатывания оповещения. Уведомлению можно придать один из четырех уровней значимости: от информационного до критического.
![](https://habrastorage.org/getpro/habr/upload_files/779/276/d9c/779276d9cf7300d783298b5948853756.png)
Собираем логи
Для этой задачи в портфолио платформы SberCloud.Advanced есть инструмент Log Tank. С его помощью на сервер можно добавить агента-сборщика логов.
![](https://habrastorage.org/getpro/habr/upload_files/b7c/a52/020/b7ca52020e2993cb266176a28757ba7b.png)
Чтобы он начал работать, необходимо сгенерировать ключи доступа нажатием на Create Access Key. Верификация происходит путем отправки проверочного кода на электронную почту, привязанную к личному кабинету в облаке.
![](https://habrastorage.org/getpro/habr/upload_files/d5b/e82/316/d5be823163af8e8114b047aca5183fcf.png)
После нажатия на кнопку ОК и непродолжительной загрузки, будет сформирован ключ доступа. На экране высветится соответствующее сообщение.
![](https://habrastorage.org/getpro/habr/upload_files/d0d/e94/bb0/d0de94bb061ffc762de9913bbb2ae0fb.png)
Перед установкой агента также нужно создать группу логов для backend-приложения. Для этого возвращаемся в основное меню Log Tank и нажимаем на специальную кнопку — Create Log Group. Во всплывающем окне достаточно прописать имя группы. В нашем случае — это dev-back-log.
![](https://habrastorage.org/getpro/habr/upload_files/43c/3af/d45/43c3afd4560d36b5a565cf131bd1311d.png)
Группа отобразится в списке на экране. Выбираем её и кликаем на Create Log Stream в правом верхнем углу, чтобы сформировать поток — dev-back-api.
![](https://habrastorage.org/getpro/habr/upload_files/441/d51/9a0/441d519a017059a2e236338371ec19db.png)
После нажатия кнопки ОК система предложит установить агент. Прописываем сгенерированные ключи доступа, скопировав их из соответствующего файла.
![](https://habrastorage.org/getpro/habr/upload_files/2d7/259/36a/2d725936afd1968eeffc948617532947.png)
После этого система сформирует команду для установки из терминала — вот пример такой команды:
Curl http://icagent-ru-moscow-1.obs.ru-moscow-1.hc.sbercloud.ru/ICAgent_linux/apm_agent_install.sh > apm_agent_install.sh && REGION-ru-moscow-1 bash apm_agent_install.sh -ak NADYN***WOIRG -sk 8VMid6YN***21ZN8oQs -region ru-moscow-1 -projectid 0c424f5e840026e42f05c00e3f11e0cb -accessip 100.125.13.65 -obsdomain obs.ru-moscow-1.hc.sbercloud.ru
![](https://habrastorage.org/getpro/habr/upload_files/9aa/ffe/6dc/9aaffe6dc9c2f23a509fc619211b74b0.png)
После выполнения операции остаётся сообщить системе логирования директорию для трансфера логов. Для этого возвращаемся на вкладку Log Management и по порядку кликаем на записи dev-back-log и dev-back-api.
![](https://habrastorage.org/getpro/habr/upload_files/c21/409/2a1/c214092a191871615ce1728135bb7de7.png)
В меню слева выбираем пункт Host и нажимаем Add Path.
![](https://habrastorage.org/getpro/habr/upload_files/224/97d/a8a/22497da8a37572ad042d5f882dad29cb.png)
В открывшемся окне необходимо определить сервер (dev-backend), для которого будет вестись запись логов.
![](https://habrastorage.org/getpro/habr/upload_files/3cc/917/f48/3cc917f488a2461c0ed8fb143e9906fe.png)
После этого можно указать директорию для их хранения. Мы будем писать логи безопасности и сообщений на сервере в /var/log/messages.
![](https://habrastorage.org/getpro/habr/upload_files/5af/e35/ceb/5afe35ceb4188e442130a25cd8c08a88.png)
После этого в фиде Log Tank (в меню Log Stream) сразу появятся сообщения.
![](https://habrastorage.org/getpro/habr/upload_files/ad3/7ec/165/ad37ec165cab09597233b49e263b9846.png)
Если выбрать на одну из записей, можно изучить подробную информацию о ней:
![](https://habrastorage.org/getpro/habr/upload_files/8c8/952/b18/8c8952b18538c9d5fc507cf33e22f0cb.png)
Настраиваем резервное копирование
Для этих целей в SberCloud.Advanced тоже есть свой сервис — Cloud Backup and Recovery. Открываем его из панели управления облаком и формируем хранилище для резервных копий нажатием кнопки Create Server Backup Vault.
![](https://habrastorage.org/getpro/habr/upload_files/78d/a37/204/78da372040be50939118a916a9b14b80.png)
Выбираем имя сервера из списка (dev-backend).
![](https://habrastorage.org/getpro/habr/upload_files/ee8/a9d/e10/ee8a9de10462098325a29d1684609da5.png)
Чуть ниже указываем объем диска, выбираем из выпадающего списка в пункте Enterprise Project наш проект и даем хранилищу имя — dev-api-backup.
![](https://habrastorage.org/getpro/habr/upload_files/892/43f/cd2/89243fcd256780ad5a25a8c05afc646a.png)
После сохранения настроек в списке хранилищ Cloud Backup and Recovery появляется новая запись. Теперь, если нажать на Bind Backup Policy (из выпадающего меню по клику на More), можно «привязать» к хранилищу бэкапов соответствующую политику.
![](https://habrastorage.org/getpro/habr/upload_files/6cc/ceb/278/6ccceb27823460ed2dd3b2dee88851cd.png)
В настройках политики достаточно указать, когда будет происходить резервное копирование — в какое время, в какие дни. По нашему опыту проводить бэкапы сред разработки стоит по вечерам или в выходные, чтобы не увеличивать нагрузку на сервер в рабочее время.
![](https://habrastorage.org/getpro/habr/upload_files/cf1/d56/ea6/cf1d56ea6f5ce7e99d8275d492bba80d.png)
Резервное копирование можно запустить и принудительно. Достаточно нажать Perform Backup в выпадающем меню More.
![](https://habrastorage.org/getpro/habr/upload_files/454/332/9fa/4543329faa247a942d30af3209eb2212.png)
После подтверждения операции будет запущено создание резервной копии.
![](https://habrastorage.org/getpro/habr/upload_files/8b6/2b9/f8e/8b62b9f8e44aae930f73d286429c800e.png)
Эту операцию (и другие, находящиеся в очереди) можно найти во вкладке Backups — она отражает статус выполнения задач резервного копирования.
![](https://habrastorage.org/getpro/habr/upload_files/ded/930/35f/ded93035f0a62b817bd1897bdaf1b7d5.png)
Резервное копирование важно настроить не только для сервера, но и для базы данных. Происходит это похожим образом — сперва находим в панели управления облаком раздел Relational Database Service.
![](https://habrastorage.org/getpro/habr/upload_files/b6a/1f0/70c/b6a1f070ca5b86c2f9035ef57157e73c.png)
Откроется страница с настроенными базами данных — выберем там dev-rds.
![](https://habrastorage.org/getpro/habr/upload_files/d44/a17/2b8/d44a172b8b9e2aa6c1e2ced2494f32e8.png)
Далее, перейдем к вкладке Backups & restorations, чтобы модифицировать политику — установить время операции и глубину хранения копий.
![](https://habrastorage.org/getpro/habr/upload_files/035/630/b71/035630b71d74ac3ea7d84274da47bc9e.png)
При создании базы к ней автоматически применяются политики по умолчанию, однако вы можете их поправить в соответствии со своими задачами.
Бэкап базы данных также можно создать вручную. Для этих целей в меню More есть пункт Create Backup.
![](https://habrastorage.org/getpro/habr/upload_files/750/79a/2b5/75079a2b54f69f794ee6357fc5340664.png)
Появится окно, в котором нужно дать резервной копии понятное название, чтобы было легко определить, для каких целей она создана. Но для примера мы назовем ее просто dev-rds-backup.
![](https://habrastorage.org/getpro/habr/upload_files/587/7b2/a7c/5877b2a7cd8fa04d3f801862038e4bbc.png)
После нажатия на ОК, в меню Backup Management возникнет новая задача со статусом Creating. Она как раз формирует наш бэкап.
![](https://habrastorage.org/getpro/habr/upload_files/aa1/708/eb0/aa1708eb0d606181a41e1a110f311a67.png)
Включаем балансировщик нагрузки
Его задача — распределять входящий трафик между несколькими экземплярами виртуальных машин. Если трафик сильно возрастает, балансировщик «поднимает» дополнительные инстансы. До начала работы с ним необходимо добавить сертификат. Для этого в главном меню управления облаком выбираем Elastic Load Balance и переходим в подменю Certificates.
![](https://habrastorage.org/getpro/habr/upload_files/ea7/79b/e32/ea779be32a3c8f810f781db73ea94d01.png)
Там кликаем на Create Certificate. Во всплывающем окне из выпадающего списка Enterprise Project выбираем проект, также прописываем имя сертификата (в нашем случае — testcert). Мы используем «самописный» сертификат, сгенерированный на сервере — его содержимое и ключ скопированы в соответствующие поля формы. Осталось указать доменное имя (api.sbertaxfree.dev) и можно переходить к настройке балансировщика.
![](https://habrastorage.org/getpro/habr/upload_files/e41/574/9ae/e415749aeb44db77ccac370ae467d8e3.png)
Когда сертификат создан, нажимаем на Create Elastic Load Balancer. В разделах VPC и Subnet с помощью выпадающих меню выбираем виртуальную сеть и подсети, которые мы настраивали в начале туториала. Также прописываем имя балансировщика и указываем его принадлежность к нашему проекту.
![](https://habrastorage.org/getpro/habr/upload_files/27e/497/3a2/27e4973a2eeac0f1739745230eaadb82.png)
После подтверждения настроек в списке Load Balancers появится «свежесформированный» балансировщик.
![](https://habrastorage.org/getpro/habr/upload_files/199/0e8/7ff/1990e87ffc4ae2c8acf4ca991555f0b7.png)
Система почти готова к работе, осталось настроить «слушателей». Для этого необходимо кликнуть на только что созданный балансировщик и перейти на вкладку Listeners. Тут необходимо прописать порты, с которыми слушатели будут работать. В нашем случае cистема будет принимать трафик по 443 порту. Также в поле SNI Certificate выбираем только что сгенерированный сертификат, он будет перенаправлять потоки данных к серверу на порт 8080.
![](https://habrastorage.org/getpro/habr/upload_files/3c0/936/5b5/3c09365b5ad1720bf8c0565d5aa717bb.png)
В следующем окне задаем имя группы для «слушателей» (server-group-api).
![](https://habrastorage.org/getpro/habr/upload_files/f73/b84/7d4/f73b847d4cb82301372a3e9f15a0c721.png)
Система оповестит об успешном завершении операции.
![](https://habrastorage.org/getpro/habr/upload_files/8ba/f36/cab/8baf36cabab6f705f622371b5259452a.png)
«Слушателю» нужно «рассказать», с каким трафиком предстоит работать. Для этого идем в Backend Server Groups в настройках «слушателя» и кликаем на Add.
![](https://habrastorage.org/getpro/habr/upload_files/03e/28d/1db/03e28d1dbc4d072d765ee4337b1e3a3c.png)
В первом всплывающем окне выбираем сервер dev-backend и нажимаем Next.
![](https://habrastorage.org/getpro/habr/upload_files/526/d04/a27/526d04a27f3a6abdd9a01fe65cc18e5a.png)
Далее определяем порт 8080 — его использует наше приложение.
![](https://habrastorage.org/getpro/habr/upload_files/666/04b/e13/66604be133b7569e2f6f190e811d63ff.png)
В результате сервер dev-backend появится в соответствующий вкладке.
![](https://habrastorage.org/getpro/habr/upload_files/e80/ad3/14b/e80ad314b0a94902fd5cd3e474cf3557.png)
Теперь, если мы будем подключаться к нашей сети через VPN, то легко получим доступ к приложениям внутри сети, а балансировщик будет распределять трафик.
Что в итоге
Я рассказал о том, как настроить стенд для разработчиков с помощью PaaS-сервисов. Они работают «из коробки» и позволяют масштабировать ресурсы в зависимости от поставленной задачи. Разумеется, аналогичным образом в облаке можно развернуть и промышленные стенды, хотя для этого потребуется более «глубокая» настройка политик ограничения доступа и механизмов защиты вроде противодействия DDoS и валидации запросов для предотвращения атак с перебором паролей.
На платформе SberCloud.Advanced есть соответствующие решения и не только они. Вы можете оценить работу всех облачных сервисов SberCloud самостоятельно, зарегистрировавшись в личном кабинете на сайте. Если возникнут вопросы, можно связаться с поддержкой по электронной почте support@sbercloud.ru или написать в Telegram-чат.