Задача

Ключевая задача - разработать отказоустойчивую инфраструктуру для сайта, включающую мониторинг, сбор логов и резервное копирование основных данных. Инфраструктура должна размещаться в 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 на соответствующие графики.

Логи

Создайте ВМ, разверните на ней 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 года назад
guest_16679007034889
2 года в сервисе
Был
2 года назад

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

Василий
 
36 лет
2 года в сервисе
Был
2 года назад
2 года назад
Алекс
 
32 года
2 года в сервисе
Был
2 года назад
2 года назад
  • Похожие заказы

  • $2000

    Необходимо разработать скрипт, определяющий характер нисходящего движения цены на свечном графике криптовалютных пар. Требуется программист с опытом работы на PHP и другом языке (Python, Node.js или Go), знанием трейдинга и опыт работы с криптовалютными роботами. Уровень — middle и выше, наличие 20 рабочих часов в неделю.

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

    Закрыт
    2 года назад
  • Разработайте алгоритм в программе Flowgorithm и соответствующий код на Python для задачи, связанной с медной проволокой. Необходимо определить, достаточно ли провода длиной C метров из мотка весом M граммов, если известно, что A метров проволоки весит 430 граммов.

    Завершен
    2 года назад
  • Требуется помощь в установке и использовании Tidal-Media-Downloader на Mac для скачивания музыки с Tidal. Необходима инструкция по настройке и эффективному использованию данного программного обеспечения.

    Закрыт
    2 года назад
  • Требуется создать программное обеспечение для перевода токенов NFT стандарта ERC721 с использованием технологии Flashbots. Поддерживаются языки программирования Python, TypeScript, Go и другие. Ожидается реализация функционала, обеспечивающего надежный и эффективный перевод токенов.

    Закрыт
    2 года назад
  • Требуется разработать расширение для Google Chrome, которое будет собирать информацию о грузах с указанного сайта. Расширение должно открывать данные в удобном окне с возможностью отображения маршрутов на Google Maps. Имеется прототип, который можно использовать в качестве идеи для разработки.

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

    Требуется доработка программы для ESP32 на Arduino, которая отправляет значения через WiFi и WebSocket. Необходимо добавить обработку нажатий трех кнопок в двух вариациях (короткое и длинное нажатие), что составит в итоге 6 команд. Подробное ТЗ доступно в гугл-документе.

    Закрыт
    2 года назад
  • Требуется провести работы по программированию модема OLAX U90 с целью передачи SMS-сообщений на сотовый телефон. Модем должен быть подключен к компьютеру для осуществления передачи сообщений.

    Закрыт
    2 года назад
  • Требуется интеграция сайта с банком с использованием технологий IBM. Необходимо реализовать системное программирование для обеспечения взаимодействия. Подробности будут предоставлены после выбора исполнителя.

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

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