Постановка задачи
Необходимо спроектировать и развернуть защищенную облачную инфраструктуру на базе API облачного провайдера (Selectel или аналоги). Решение должно обеспечивать автоматическое управление VPS, резервное копирование с клиентским шифрованием, автоматическую проверку бэкапов на восстановление, а также мониторинг рабочих машин. Важно реализовать только программные методы без передачи ключей людям.
Требования к инфраструктуре
- Создать две постоянные VPS: сервисную (мониторинг, Telegram-оповещения, Vault для секретов с автоматической ротацией) и production (приложение + реляционная база данных под нагрузкой).
- Настроить PHP (PHP-FPM с OPcache) и субд на production VPS с оптимизацией под серверные ресурсы.
Резервное копирование
- Настроить авто бэкапы обеих VPS в облачное хранилище с дедупликацией данных.
- Реализовать клиент-сайд шифрование при передаче в облако. Использовать Borg или софт аналогичного класса.
- Автоматизировать восстановление: раз в заданный интервал создавать временную VPS через API провайдера, выполнять полное восстановление с контрольным запуском сервисов.
- Если какой-либо сервис не стартует или приложение не отвечает - отправлять тревогу в Telegram.
Безопасность и секреты
- Все ключи доступа к хранилищу бэкапов должны выдаваться только через Vault и обладать ограниченным временем жизни с принудительной ротацией.
- Запрещено хранить ключи у человека - выдача всегда только через Vault.
- После подтверждения рабочей проверки временная VPS удаляется принудительно (API + чистка данных и секретов на горячую остановку).
Мониторинг и метрики
- Мониторить обе постоянные VPS: CPU, RAM, Swap, дисковая линейка IO времени, свободные inode; доступность системных демонов.
- Система мониторинга при росте порогов присылает оповещения в Telegram.
Контроль результата
- По завершению разработки передать репозиторий с реализованными скриптами (ansible, playbook, terraform/cloud‐api/или иные tool-ы).
- Описание инструкции прилагается самостоятельно оформленным разделом.