Final_work

Форк
0

9 месяцев назад
9 месяцев назад
9 месяцев назад
9 месяцев назад
9 месяцев назад
9 месяцев назад
README.md

Дипломная работа по профессии "Системный администратор" SYS-22 Концевой Н.Ю.

"Создание инфраструктуры в облаке"

Задача

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

1. Для выполнения задания был написан файл Terraform main.tf для создания следующих ресурсов:

1.1. Виртуальные машины

  • nginx1
  • nginx2
  • zabix
  • elasticsearc
  • kibana
  • bastion
Скриншот(-ы)

список вм

1.2. Балансировщик нагрузки для вебсерверов

Скриншот(-ы)

балансировщик

1.3. Группы безопасности для ограничения доступности хостов по определенным портам

  • nginx-sg (nginx1-2 разрешен доступ через балансировщик на порты 22, 80, 10050)
  • zabbix-sg (разрешен доступ на порты 22, 8080, 10051)
  • elastic-sg (разрешен доступ на порты 22, 10050, 9200)
  • kibana-sg (разрешен доступ на порты 22, 10050, 5601)
  • bastion-sg (разрешен доступ на 22 порт)
Скриншот(-ы)

группы безопасности

1.4. Расписание создания снапшотов дисков со всех виртуальных машин

  • создано расписание на ежедневное создание снапшотов в 20:00 по московскому времени
  • хранение снапшотов 7 дней
Скриншот(-ы)

снимки дисков

1.5. Сеть и 4 подсети в разных зонах доступности для обеспечения отказоустойчивости.

Pаспределение ВМ в сети:

  • nginx1 (зона а, приватная сеть, имеет внутренний IP 192.168.1.11)
  • nginx2 (зона b, приватная сеть, имеет внутренний IP 192.168.2.22)
  • zabix (зона c, публичная сеть, имеет внутренний IP 192.168.3.33 и внешний IP <назначается автоматически> )
  • elasticsearc (зона d, приватная сеть, имеет внутренний IP 192.168.4.44)
  • kibana (зона c, публичная сеть, имеет внутренний IP 192.168.3.34 и внешний IP <назначается автоматически> )
  • bastion (зона c, публичная сеть, имеет внутренний IP 192.168.33.33 и внешний IP <назначается автоматически> )
Скриншот(-ы)

Карта сети

1.6. Шлюз (для доступа в интернет ВМ расположенных в приватных сетях)

Скриншот(-ы)

Карта сети

2. Установка необходимых программ для подготовленной инфраструктуры осуществлялась с помощью плэйбуков через Ansible:

*Ansible настроен на Bastion host и вся установка происходит с него.

2.1. inventory.ini

  • содержит список удаленных хостов для подключения к ним и установки необходимых программ

2.2. ping_pb.yml (был добавлен для удобства)

  • проверяет доступность хостов
Скриншот(-ы)

пинг

2.3. nginx_pb.yml

  • устанавливает nginx на две виртуальные машины состоящие в группе web_servers
  • копирует c локального хоста страницу для отображения при обращении на ip адрес балансировщика. *Проверка работоспособности тут
Скриншот(-ы)

установка nginx веб страница

2.4. zabbix_pb.yml

  • добавляет репозиторий zabbix
  • устанавливает на хост zabbix - zabbix server, zabbix agent, mysql, nginx и прочие зависимости
  • создает базу данных, пользователя, задает пароль
Скриншот(-ы)

установка zabbix установка zabbix

2.5. zabbix_agent_pb.yml

  • добавляет репозиторий zabbix
  • устанавливает zabbix agent на все хосты
  • вносит корректировку в файл конфигурации
    *Ссылка на админку zabbix
Скриншот(-ы)

установка zabbix-agent установка zabbix-agent установка zabbix-agent

2.6. elasticsearch_pb.yml

  • скачивает и добавляет ключ gpg elasticsearch
  • добавляет репозиторий elasticsearch 8.x
  • устанавливает elasticsearch и зависимости
  • корректирует конфигурационный файл
  • выводит на экран пароль пользователя и токен для подключения kibana
Скриншот(-ы)

установка elastic установка elastic установка elastic

2.7. kibana_pb.yml

  • скачивает и добавляет ключ gpg elasticsearch
  • добавляет репозиторий elasticsearch 8.x
  • устанавливает kibana и зависимости
  • корректирует конфигурационный файл
  • выводит на экран 6-ти значный код для подтверждения подключения к elastic
    *Ссылка на админку kibana
Скриншот(-ы)

установка kibana статус kibana подключение kibana веб kibana

2.8. filebeat_pb.yml

  • скачивает и добавляет ключ gpg elasticsearch
  • добавляет репозиторий elasticsearch 8.x
  • устанавливает filebeat и зависимости
  • копирует с локального хоста конфигурационный файл
    *Для подключения filebeat к elasticsearh перед запуском плейбука необходимо указать пароль для авторизации в файле ./filebeat_conf/filebeat.yml
Скриншот(-ы)

установка filebeat установка filebeat установка filebeat

Инфраструктура готова к эксплуатации.

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.