Разворачивание блокчейн-кластера серверов
Создать кластер серверов, состоящих из следующих компонентов:
1. Сервера - ноды блокчейн. Это равноправные сервера, взаимодействующие между собой посредством встроенных в запускаемые инстансы методов. Нужно запустить клон блокчейна Ethereum с нуля в приватном режиме (PoA) с необходимыми заказчику параметрами (стартовые балансы кошельков, запущенные сервисы, настройки CORS и т.п.). Запуск каждого инстансадолжен производиться при старте системы, соединение с остальными нодами должно осуществляться автоматически, согласно конфигурации каждой ноды. Сервера – ноды не должны быть доступны извне для управления ни по SSH, ни по другими возможными инструментами. Только управляющие сервера (пункт 3)должны иметь SSH соединение для управления серверами-нодами.
2. Сервера – фронтенд блокчейна. Их количество от 1 до N, на их IP адреса ресолвится домен blockchain.нашдомен.com, распределение нагрузки осуществляется либо посредством round-robin, либо другой более подходящей технологией (согласование с заказчиком). Представляют из себя прокси, портирующие все запросы на рандомную нодублокчейна, экранируя их, и скрывая их реальные IPадреса. Не имеют никакого доступа к серверам – нодам, взаимодействуют исключительно через порты 443 (https) и 31313 (wss), портируя запросы и выступая в роли экранирующих серверов. Должны иметь защиту от DDOS, быть готовыми противостоять атакам из внешнего мира и сообщать о своем состоянии (uptime, статистика запросов, метрики нагрузки и т.п.).
3. Сервера управления. Предназначены исключительно для подключения к серверам-первой и второй группы по SSH. Не выполняют никакой другой функции, кроме «входной двери» на сервера, максимально легкие и дешевые, неизвестные потенциальным нападающим.
4. Установить и настроить последнюю версию одного из блокчейн-эксплореров, по согласованию с заказчиком
Все разворачивание должно быть реализовано скриптами Ansible, с максимально простыми и понятными конфигурационными файлами. Развернутый кластер серверов должен быть в разных дата-центрах планеты, и при выключении всех серверов в одном дата-центре не должно влиять на функционировании всей системы.Предложения по улучшению и модернизации этого ТЗ со стороны исполнителя, исходя из его профессиональных навыков, приветствуются.
Цена по договоренности