Лабораторна робота 4.5
Балансування навантажень
Завдання
- Створіть 2 або 3 інстанси в такий самий спосіб, як в попередніх лабораторних роботах: Ubuntu 22.04, доступ до метаданих та user data в якій міститься скріпт для налаштування. Не забудьте вказати для них правильні Security groups, які б дозволяли вхідні ssh-з’єднання з вашої IP-адреси та HTTP+HTTPS звідусюди.

- В розділі
Load balancing->Target groupsстворіть нову Target group з наступними параметрами:
Target type:InstancesTarget group name:TCP-targetsProtocol:Port:TCP:80IP address type:IPv4

- В розділі
Load balancing->Load balancersстворіть новий Load balancer з наступними парамертами:
Load balancer types:Network Load BalancerLoad balancer name:NLBScheme:Internet-facingLoad balancer IP address type:IPv4

- Перевірте свою роботу і переконайтесь що балансувальник працює. Для цього перейдіть на його DNS name з декількох пристроїв та/або браузерів. В результаті цих дій ви маєте побачити різні сторінки з різних пристроїв.



Тепер налаштуємо наступний вид балансувальника - Application load balancer.
Створіть нову Target group.
Target type:InstancesTarget group name:HTTP-targetsProtocol:Port:HTTP:80IP address type:IPv4
Решту налаштувань залиште стандарними. Так само додайте в цю групу всі інстанси з першого кроку.

Створіть новий Load balancer.
Load balancer types:Application Load BalancerLoad balancer name:ALBScheme:Internet-facingLoad balancer IP address type:IPv4
Так само, як і для попереднього балансувальника, вкажіть для нього вашу VPC та її підмережі. Додайте в Listener Target group з попереднього кроку.
- Дочекайтесь створення балансувальника та перевірте за собою роботу. Підключіться з декількох пристроїв та переконайтесь що балансувальник правильно переспрямовує ваші запити.
Тепер перевіримо curl’ом
Тепер ми детальніше розглянемо балансування з застосуванням додаткових правил.
Під’єднайтеся до ваших інстансів через ssh та створіть нову директорію з унікальним іменем всередині директорії
/var/www/html/. Наприклад,/var/www/html/rick/та/var/www/html/morty/. Для цього кроку вистачить максимум двох інстансів, щоб не довелося робити багато зайвої роботи.Скопіюйте в ці директорії
index.htmlз/var/www/html/. Відредагуйте його, додавши якийсь напис, який допоможе ідентифікувати цей інстанс і шлях на ньому. Наприклад “I’m Rick! I live in /rick/”

- Для кожного з інстансів, на який ви додали нову директорію створіть по одній Target group. Назвіть її зрозумілою назвою і додайте в неї лише відповідний їй інстанс.

- Створіть нове правило (Add rule).

- Далі вкажіть дію (Action), яка буде відбуватися при виконанні умови. В цьому випадку потрібно переспрямувати запит на таргет групу. В якості таргет групи виберіть ту, в якій “живе” єдиний інстанс, на якому є каталог, вказаний в умові.

- Перевірте за собою роботу. Спробуйте перейти на DNS name балансувальника
ALB, вказавши додатково шляхи до каталогів.

Завдання з зірочкою (опціональне)
- Змоделюйте та налаштуйте таку інфраструктуру, в якій інстанси не матимуть публічних IP-адрес і отримуватимуть всі вхідні запити виключно через балансувальник. Також подбайте про те, щоб вони могли виходити в інтернет, наприклад за завантаженнями оновлень.
Для цього в налаштуваннях інстансу => Виключаємо Auto-Assign Public IP

Для перевірки створимо ще targets на SSH

Створюєм NLB з відкритим портом 22

Перевіряєм

