ЗадачаКлючевая задача - разработать отказоустойчивую инфраструктуру для сайта, включающую мониторинг, сбор логов и резервное копирование основных данных. Инфраструктура должна размещаться в Yandex Cloud.

ИнфраструктураДля развертки инфраструктуры используйте Terraform и Ansible.

Параметры виртуальной машины (ВМ) подбирайте по потребностям сервисов, которые будут на ней работать.

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

СайтСоздайте две ВМ в разных зонах, установите на них сервер nginx, если его там нет. ОС и содержимое ВМ должно быть идентичным, это будут наши web-сервера.

Используйте набор статичных файлов для сайта. Можно переиспользовать сайт из домашнего задания.

Создайте Target Group, включите в нее две созданных ВМ.

Создайте Backend Group, настройте backends на target group ранее созданную. Настройте healthcheck на корень (/) и порт 80, протокол HTTP

Создайте HTTP router. Путь укажите - /, backend group - созданную ранее.

Создайте Application load balancer для распределения трафика на web-сервера, созданные ранее. Укажите HTTP router созданный ранее, задайте listener тип auto, порт 80.

Протестируйте сайт curl -v :80

МониторингСоздайте ВМ, разверните на ней Prometheus. На каждую ВМ из web серверов установите Node Exporter и Nginx Log Exporter. Настройте Prometheus на сбор метрик с этих exporter.

Создайте ВМ, установите туда Grafana. Настройте ее на взаимодейтсвие с ранее развернутым Prometheus. Настройте дешборды с отображением метрик, минимальный набор - Utilization, Saturation, Errors для CPU, RAM, диски, сеть, http_response_count_total, http_response_size_bytes. Добавьте необходимые tresholds на соответствующие графики.

ЛогиCоздайте ВМ, разверните на ней Elasticsearch. Установите filebeat в ВМ к web-серверам, настройте на отправку access.log, error.log nginx в Elasticsearch.

Создайте ВМ, разверните на ней Kibana, сконфигурируйте соединение с Elasticsearch.

СетьРазверните один VPC. Сервера web, Prometheus, Elasticsearch поместите в приватные подсети. Сервера Grafana, Kibana, application load balancer определите в публичную подсеть.

Настройте Security Groups соответствующих сервисов на входящий трафик только к нужным портам.

Настройте ВМ с публичным адресом, в которой будет открыт только один порт - ssh. Настройте все security groups на разрешение входящего ssh из этой security group. Эта вм будет реализовывать концепцию bastion host. Потом можно будет подключаться по ssh ко всем хостам через этот хост.

Резервное копированиеСоздайте snapshot дисков всех ВМ. Ограничьте время жизни snaphot в неделю. Сами snaphot настройте на ежедневное копирование.

2 года назад
masterruu21
Владимир 
39 лет
2 года в сервисе
Был
2 года назад

Заявки фрилансеров

Нет заявок фрилансеров
  • Похожие заказы

  • Необходимо настроить RTSP/SRT сервер на виртуальном выделенном сервере (VDS) для приема потоков от 20 различных камер. Требуется опыт в системном администрировании и знание работы с потоковыми протоколами.

    Закрыт
    2 года назад
  • Необходимо адаптировать готовый студенческий проект сайта, работающий на PHP 7.0.19, под среду PHP 7.4. Проект запускается в виртуальной машине Oracle VM VirtualBox с Debian 6.1 и Apache 2.4.25. Ожидается корректная настройка и оптимизация работы сайта в новой версии PHP.

    Закрыт
    2 года назад
  • Ищется программист для доработки веб-продукта, который включает в себя управление POST запросами. Необходимо настроить сервер для автоматического изменения значений в ответах на запросы, которые отправляются каждые 15 секунд. Задача включает использование reverse proxy и других утилит. Подробности будут предоставлены в процессе работы.

    Закрыт
    2 года назад
  • $10

    Требуется настроить VPS сервер для обеспечения стабильного скачивания больших файлов (200-300 Мб) из всех браузеров, включая Chrome и Firefox. Проблема заключается в том, что файлы иногда не скачиваются и появляется ошибка, связанная с недоступностью исходного файла. Необходимо устранить эту проблему для всех пользователей сайта.

    Закрыт
    2 года назад
  • Требуется оптимизация почтового сервера, в частности, правильная настройка DNS Records. Необходимо решить существующие проблемы в системе администрирования для улучшения работы сервера.

    Завершен
    2 года назад
  • Требуется настроить запуск скриптов на сервере CentOS с использованием версии PHP 7.4 через cron. Скрипты должны выполняться отдельно от основной версии PHP, которая работает на сайте (7.6 и 8).

    Закрыт
    2 года назад
  • Требуется разработка sh скрипта для CentOS, который будет запускаться по крону перед бекапом. Скрипт должен копировать файлы бекапа на сетевой диск и очищать текущую папку бекапов. Все настройки, включая пути и учетные данные, должны быть указаны в начале файла с комментариями для удобства изменения пользователем.

    Закрыт
    2 года назад
  • Необходимо поднять XLX сервер с использованием предоставленной инструкции. Ищем специалиста в области системного администрирования, который сможет выполнить настройку и запуск сервера. Опыт работы с подобными проектами приветствуется.

    Закрыт
    2 года назад