Запуск загальнодоступного вузла Tezos в хмарі AWS

Вступ

Запуск вузла Tezos на вашому локальному комп'ютері стає досить простим за допомогою скрипта оболонки. Але що, якщо ви хочете запустити вузол, стійкий до збоїв, здатний масштабироваться для прийому більшої кількості запитів, і вам не потрібно управляти ними вручну. Можливо, в такому випадку, вам варто подумати про розгортання вузла в хмарі.

Однак для початку роботи з AWS потрібні серйозні знання з розробки, які ви, можливо, не захочете отримувати з нуля.

У цьому керівництві ви крок за кроком проведете процес розгортання загальнодоступного вузла тестової мережі. Ми надамо сценарії і інструменти, які значно спростять цей процес. Передбачається, що у вас практично немає попереднього досвіду роботи з AWS, але вам зручно працювати з git.

Ця інструкція призначена для більш просунутих користувачів, які зацікавлені в розміщенні кластера вузлів, здатних обробляти сотні загальнодоступних запитів.

Перш ніж ви почнете, вам знадобиться обліковий запис AWS, щоб розгалузити необхідні репозиторії, а також вибрати відповідну мережу і docker образ для розгортання, які ми зараз обговоримо.

Веб-сервіси Amazon

Перш ніж ми почнемо, вам необхідно налаштувати свій обліковий запис AWS.

Що таке CloudFormation

Виділення ресурсів і настройка параметрів в AWS може стати стомлюючою і загалом досить складним завданням. Якщо щось піде не так або ви захочете щось змінити, вам, можливо, доведеться все знести і почати з нуля.

CloudFormation дозволяє вам вказати всі ресурси і параметри, необхідні для виконання завдання, в одному файлі конфігурації. Все стеки, створені за допомогою CloudFormation, будуть кожен раз однаковими, і їх налаштування не будуть забуті. Це також означає, що при виникненні проблем зі створенням стека все це можна відкотити і повторно розгорнути.

Орієнтована вартість:

AWS пропонує кілька способів стягування плати за свої послуги. У цьому керівництві ми використовуємо метод «завжди включений», але при бажанні його можна змінити в наданих сценаріях CloudFormation.

Зазвичай слід запускати 2 вузла, щоб в разі відмови одного з них балансувальник навантаження міг вказувати на інший. Ми пропонуємо вам запустити i3.large ec2s. Ціни встановлюються по-різному від регіону до регіону. Знайдіть ціну за годину для регіону, в якому ви хочете розвернутися, і помножте вартість на постійий час безвідмовної роботи, що становить приблизно 730 годин на місяць, і на кількість вузлів, які ви плануєте запускати. Балансувальник навантаження буде коштувати додатково приблизно 20 доларів на місяць. Крім того, якщо ви запустите власний засіб оновлення, у вас буде третій i3.large EC2.

З засобом оновлення = $(3 * [price of i3.large EC2 in your region] * 730) + 20

Без нього = $(2 * [price of i3.large EC2 in your region] * 730) + 20

Розгалуження і кастомизация вихідних репозиторіїв

Ви можете прочитати про різні мережі Tezos тут і вибрати ту, яка відповідає вашим потребам. У цьому керівництві ми будемо розгортати вузол тестової мережі, але ви також можете розгорнути вузли основної мережі або нульовий мережі (zeronet).

Образи Tezos Docker

Tezos випускає образи Docker для кожної з мереж, підтримуючи, як завжди, актуальну версію, а також індивідуальні версії. Ви можете знайти той, який вам подобається, в Docker Hub.

  • Основна мережа буде мати префікс "master"

  • Тестова мережу буде названа відповідно до найостанніших існуючих протоколів - "testnet". На момент написання перед ним стоїть префікс "babylonnet".

  • Нульова мережа матиме префікс "zeronet". Це вузол, який слід прив'язати до образу конкретної версії випуску, оскільки в ньому часто бувають критичні зміни.

Версії, що автоматично оновлюються, називаються просто префіксом, описаним вище, тоді як певні версії будуть супроводжуватися підкресленням і хешем.

Репозиторії ресурсів

Ми будемо використовувати три сховища зі заздалегідь написаним шаблоном, так що вам не доведеться писати його самостыйно.

Перед тим, як почати, вам слід розгалузити ці репозиторії і налаштувати їх.

Клонуйте виделку node-cloudformation на локальний комп'ютер, щоб мати доступ до скриптів CloudFormation. Ви можете вивчити файли yaml, і всюди, де є посилання на обліковий запис tqtezos або репозиторії github, вам слід змінити ці посилання на свої власні виделки.

Виберіть образ Docker і оновіть його відповідно

Репозиторії node-docker і tezos-updater мають три гілки на вибір: mainnet, testnet і zeronet. Ці гілки використовують автоматично оновлюваний образ докера (див. «Образи Tezos Docker» вище), і якщо ви хочете закріпити версію випуску, яку ви використовуєте при розгортанні, вам необхідно змінити файл Dockerfile в відповідній гілці в обох репозиторіях. Версії закріплених зображень потрібно буде відстежувати і оновлювати вручну, але їх буде легше контролювати.

Тепер, коли ми вирішили, в якій мережі розгорнути загальнодоступний вузол, і успішно відновили наші репозиторії, ми можемо почати зі створення віртуальної приватної хмари для розгортання наших вузлів.

Матеріали розроблені TQ Tezos перекладені українською мовою Tezos Ukraine