GSP041

Огляд
Внутрішній розподілювач навантаження додатків потрібен, щоб створювати надійні, безпечні й прості в керуванні внутрішні додатки, необхідні для роботи вашої компанії. На цьому практичному занятті ви дізнаєтесь, як розподіляти мережевий трафік у приватній хмарній мережі, не надаючи віртуальним машинам прямого доступу до мережі Інтернет. Це забезпечить ефективну роботу ваших сервісів і захистить їх.
Також ви створите спрощений, але дуже поширений архітектурний шаблон, що має наведені нижче рівні.
- Вебрівень (загальнодоступний вебсайт), якому потрібна допомога іншого внутрішнього сервісу.
- Рівень внутрішнього сервісу (калькулятор простих чисел), який виконує певні завдання. Навантаження розподіляється між кількома машинами.
Завдяки такому підходу система працюватиме безперебійно, навіть якщо один із компонентів внутрішнього сервісу перевантажиться або вийде з ладу, оскільки розподілювач навантаження автоматично переспрямовуватиме запити на справні машини.
Завдання
На цьому практичному занятті ви:
- дізнаєтеся, з яких компонентів складається внутрішній розподілювач навантаження;
- створите групу серверних машин (калькулятор простих чисел);
- налаштуєте внутрішній розподілювач навантаження, щоб внутрішній трафік спрямовувався на серверні машини;
- перевірите роботу внутрішнього розподілювача навантаження з іншої внутрішньої машини;
- налаштуєте загальнодоступний вебсервер, який використовує внутрішній розподілювач навантаження, щоб отримувати результати від внутрішнього сервісу ("калькулятор простих чисел").
Рівень попередньої підготовки
- Базові знання про Google Cloud Compute Engine: розуміти, що таке екземпляр віртуальної машини.
- Основні поняття мережі: знати, що таке IP-адреса.
- Основний командний рядок Unix/Linux: уміти вводити команди в терміналі.
- Певні знання про віртуальні приватні хмари (VPC): розуміти, що ваші ресурси Google Cloud розміщено в приватній мережі.
Налаштування й вимоги
Перш ніж натиснути кнопку Start Lab (Почати практичну роботу)
Ознайомтеся з наведеними нижче вказівками. На виконання практичного заняття відводиться обмежений час, і його не можна призупинити. Щойно ви натиснете Почати заняття, з’явиться таймер, який показуватиме, скільки часу для роботи з ресурсами Google Cloud у вас залишилося.
Ви зможете виконати практичне заняття в дійсному робочому хмарному середовищі (не в симуляції або демонстраційному середовищі). Для цього на час практичного заняття вам надаються тимчасові облікові дані для реєстрації і входу в Google Cloud.
Для цього практичного заняття потрібно мати:
- стандартний вебпереглядач, наприклад Chrome (рекомендовано);
Примітка. Виконуйте практичне заняття в анонімному вікні вебпереглядача (рекомендовано). Так ви уникнете додаткової плати, що може стягуватися з вашого особистого облікового запису внаслідок його помилкового використання замість облікового запису для навчання.
- достатню кількість часу, оскільки почавши практичне заняття, ви не зможете призупинити його.
Примітка. Для виконання цього практичного заняття використовуйте лише обліковий запис для навчання, оскільки з іншого облікового запису Google Cloud може стягуватися плата.
Як почати виконувати практичну роботу й увійти в Google Cloud Console
-
Натисніть кнопку Start Lab (Почати практичне заняття). Якщо за практичне заняття необхідно заплатити, відкриється вікно, де ви зможете обрати спосіб оплати.
Ліворуч розміщено панель "Відомості про практичне заняття" з такими компонентами:
- кнопка "Відкрити консоль Google";
- час до закінчення;
- тимчасові облікові дані, які потрібно використовувати для доступу до цього практичного заняття;
- інша інформація, необхідна для виконання цього практичного заняття.
-
Натисніть Відкрити консоль Google або натисніть правою кнопкою миші й виберіть Відкрити анонімне вікно, якщо ви використовуєте вебпереглядач Chrome.
Завантажаться необхідні ресурси. Потім відкриється нова вкладка зі сторінкою "Увійти".
Порада. Упорядковуйте вкладки в окремих вікнах, розміщуючи їх поруч.
Примітка. Якщо з’явиться вікно Виберіть обліковий запис, натисніть Вибрати інший обліковий запис.
-
За потреби скопіюйте значення в полі Username (Ім’я користувача) нижче й вставте його у вікні Вхід.
{{{user_0.username | "Username"}}}
Поле "Ім’я користувача" також можна знайти на панелі "Відомості про практичне заняття".
-
Натисніть Далі.
-
Скопіюйте значення в полі Password (Пароль) нижче й вставте його у вікні Welcome (Привітання).
{{{user_0.password | "Password"}}}
Поле "Пароль" також можна знайти на панелі "Відомості про практичне заняття".
-
Натисніть Далі.
Важливо. Обов’язково використовуйте облікові дані, призначені для відповідного практичного заняття. Не використовуйте облікові дані Google Cloud.
Примітка. Якщо ввійти у власний обліковий запис Google Cloud, може стягуватися додаткова плата.
-
Що від вас очікується
- Прийміть Умови використання.
- Не додавайте способи відновлення й двохетапну перевірку (оскільки це тимчасовий обліковий запис).
- Не реєструйте безкоштовні пробні версії.
Через кілька секунд консоль Google Cloud відкриється в новій вкладці.
Примітка. Щоб отримати доступ до продуктів і сервісів Google Cloud, натисніть меню навігації або введіть назву сервісу чи продукту в полі пошуку.
Як активувати Cloud Shell
Cloud Shell – це віртуальна машина з попередньо завантаженими інструментами для розробників. Вона містить головний каталог обсягом 5 ГБ постійної пам’яті й працює в середовищі Google Cloud. Cloud Shell надає доступ до ресурсів Google Cloud через командний рядок.
-
Угорі консолі Google Cloud натисніть Activate Cloud Shell (Активувати Cloud Shell)
.
-
У вікнах, що відкриються, виконайте наведені нижче дії.
- У вікні з інформацією про Cloud Shell натисніть Continue (Далі).
- Дозвольте Cloud Shell використовувати ваші облікові дані, щоб здійснювати виклики Google Cloud API.
Щойно ви підключитеся, вас буде автентифіковано, а проєкт отримає ваш Project_ID (Ідентифікатор проєкту) – . Вивід міститиме рядок зі значенням Project_ID (Ідентифікатор проєкту) для цього сеансу:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud – це інструмент командного рядка для Google Cloud. Він входить у пакет Cloud Shell і підтримує функцію автозавершення клавішею TAB.
- (Необов’язково) Щоб вивести поточне ім’я облікового запису, введіть таку команду:
gcloud auth list
- Натисніть Authorize (Авторизувати).
Вивід:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Необов’язково) Щоб вивести ідентифікатор проєкту, введіть таку команду:
gcloud config list project
Вивід:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Примітка. Щоб знайти повну документацію щодо gcloud, перегляньте посібник з інтерфейсу командного рядка gcloud у Google Cloud.
Укажіть регіон і зону
- Укажіть регіон і зону проєкту для цього практичного заняття:
gcloud config set compute/region {{{project_0.default_region | Region}}}
gcloud config set compute/zone {{{project_0.default_zone | Zone}}}
Щоб дізнатися більше про регіони й зони, перегляньте відповідну документацію.
Примітка. Якщо ви запускаєте командний рядок gcloud на власній машині, налаштування конфігурації зберігаються в різних сеансах. Однак у Cloud Shell вам потрібно вказувати їх для кожного нового сеансу або повторного підключення.
Завдання 1. Створіть віртуальне середовище
У віртуальному середовищі зручно впорядковувати програмне забезпечення проєкту, завдяки чому ваш код завжди може працювати з потрібними версіями інструментів.
За допомогою віртуальних середовищ Python можна ізолювати встановлення пакетів від системи.
- Установіть середовище
virtualenv:
sudo apt-get install -y virtualenv
- Створіть віртуальне середовище:
python3 -m venv venv
- Активуйте віртуальне середовище:
source venv/bin/activate
Як увімкнути Gemini Code Assist в інтегрованому середовищі для розробки Cloud Shell
Ви можете використовувати Gemini Code Assist в інтегрованому середовищі для розробки (ІСР), наприклад у Cloud Shell, щоб отримувати вказівки щодо написання коду або вирішувати проблеми з ним. Перш ніж почати використовувати Gemini Code Assist, потрібно ввімкнути цей сервіс.
- У Cloud Shell увімкніть Gemini for Google Cloud API за допомогою наведеної нижче команди.
gcloud services enable cloudaicompanion.googleapis.com
- На панелі інструментів Cloud Shell натисніть Open Editor (Відкрити редактор).
Примітка. Щоб відкрити редактор Cloud Shell, на панелі інструментів у цьому середовищі натисніть Open Editor (Відкрити редактор). Щоб перемикатися між Cloud Shell і редактором коду, натискайте Open Editor (Відкрити редактор) або Open Terminal (Відкрити термінал).
-
На панелі ліворуч натисніть значок Settings (Налаштування), а потім у вікні, що відкриється, виконайте пошук за запитом Gemini Code Assist.
-
Знайдіть опцію Geminicodeassist: Enable (Geminicodeassist: увімкнути) і поставте біля неї прапорець. Закрийте вікно Settings (Налаштування).
-
Натисніть Cloud Code – No Project (Cloud Code – немає проєкту) у рядку стану внизу екрана.
-
Авторизуйте плагін, дотримуючись вказівок. Якщо проєкт не буде вказано автоматично, натисніть Select a Google Cloud Project (Виберіть проєкт Google Cloud) і виберіть .
-
Переконайтеся, що ваш проєкт Google Cloud () відображається в повідомленні про статус Cloud Code у рядку стану.
Завдання 2. Створіть групу керованих екземплярів для серверної частини
За допомогою такої групи керованих екземплярів Google Cloud може автоматично створювати й підтримувати ідентичні копії вашого сервісу. Якщо одна копія не працює, Google Cloud замінює її – це підвищує надійність сервісу.
Створіть скрипт запуску
Цей скрипт схожий на набір вказівок, яких дотримується кожна нова віртуальна машина у вашій групі під час запуску. Скрипт містить невеликий вебсервер, написаний мовою Python. Вебсервер визначатиме тип числа: якщо воно просте, ви отримаєте значення True (істина), якщо ні – False (хиба).
- Щоб створити скрипт
backend.sh у головному каталозі, виконайте наведену нижче команду в терміналі Cloud Shell.
touch ~/backend.sh
- На панелі інструментів Cloud Shell угорі натисніть значок Open Editor (Відкрити редактор). Якщо з’явиться запит, натисніть Open in a new window (Відкрити в новому вікні).

Примітка. Якщо значка редактора коду немає, закрийте панель ліворуч, натиснувши значок меню навігації (☰).
За кілька секунд відкриється робоча область.
-
На панелі Explorer (Провідник) виберіть файл backend.sh.
-
Додайте наведений нижче скрипт у редактор.
sudo chmod -R 777 /usr/local/sbin/
sudo cat << EOF > /usr/local/sbin/serveprimes.py
import http.server
def is_prime(a): return a!=1 and all(a % i for i in range(2,int(a**0.5)+1))
class myHandler(http.server.BaseHTTPRequestHandler):
def do_GET(s):
s.send_response(200)
s.send_header("Content-type", "text/plain")
s.end_headers()
s.wfile.write(bytes(str(is_prime(int(s.path[1:]))).encode('utf-8')))
http.server.HTTPServer(("",80),myHandler).serve_forever()
EOF
nohup python3 /usr/local/sbin/serveprimes.py >/dev/null 2>&1 &
-
Натисніть File (Файл) > Save (Зберегти), але не закривайте файл.
-
Якщо в ІСР увімкнено Gemini Code Assist, то коли ви відкриєте в редакторі файл (наприклад, backend.sh), угорі праворуч на панелі інструментів з’явиться значок
. Це означає, що сервіс Gemini Code Assist готовий до використання.
Завдяки Gemini Code Assist можна працювати продуктивніше й менше перемикатися між контекстами, оскільки розумні дії на основі ШІ доступні безпосередньо в редакторі коду. Тепер вам потрібно пояснити учаснику команди призначення й функції скрипту запуску віртуальної машини в групі керованих екземплярів за допомогою Gemini Code Assist.
-
Натисніть значок
і виберіть Explain this (Пояснити).
-
Відкриється панель чату Gemini Code Assist із готовим запитом Explain this (Поясни). У вбудованому текстовому полі чату з Code Assist замініть готовий запит на наведений нижче й натисніть Send (Надіслати).
Ти – розробник додатків у середовищі Cymbal AI. Поясни новому учаснику команди, що таке скрипт запуску backend.sh. Цей скрипт використовується для запуску невеликого вебсервера мовою Python, написаного у файлі serveprimes.py. Докладно опиши ключові компоненти скрипту й поясни функцію кожної команди.
Не пропонуй покращень у вмісті файлу.
У чаті Gemini Code Assist з’явиться докладне пояснення скрипту запуску backend.sh для невеликого вебсервера.
Створіть шаблон екземпляра
- На панелі інструментів Cloud Shell натисніть Open Terminal (Відкрити термінал). Виконайте наведену нижче команду, щоб створити шаблон екземпляра
primecalc.
gcloud compute instance-templates create primecalc \
--metadata-from-file startup-script=backend.sh \
--no-address --tags backend --machine-type=e2-medium
Це слугуватиме макетом для серверних віртуальних машин. Зверніть увагу на частину --no-address: це означає, що віртуальні машини не матимуть доступу до мережі Інтернет із міркувань безпеки.
Відкрийте брандмауер
Потрібно створити правило брандмауера, що дозволяє трафік через порт 80 (стандартний трафік HTTP) до серверних віртуальних машин. Це важливо, щоб до них могли підключатися внутрішній розподілювач навантаження додатків і інструменти перевірки стану.
- Щоб відкрити брандмауер через порт
80, виконайте таку команду:
gcloud compute firewall-rules create http --network default --allow=tcp:80 \
--source-ranges {{{project_0.startup_script.selected_cidr | IP}}} --target-tags backend
Щоб підтвердити виконання завдання, натисніть Підтвердити виконання.
Створіть шаблон екземпляра й відкрийте брандмауер через порт 80
Створіть групу екземплярів
- Далі виконайте наведену нижче команду, щоб створити групу керованих екземплярів під назвою
backend. Спочатку створіть 3 екземпляри:
gcloud compute instance-groups managed create backend \
--size 3 \
--template primecalc \
--zone {{{project_0.default_zone | ZONE }}}
- Коли скрипт виконається, поверніться на вкладку консолі. Перейдіть у розділ Compute Engine > VM instances (Екземпляри віртуальних машин). Група екземплярів має створити три серверні віртуальні машини.

Серверні віртуальні машини готові обробляти трафік.
Щоб підтвердити виконання завдання, натисніть Підтвердити виконання.
Створіть групу екземплярів
Завдання 3. Налаштуйте внутрішній розподілювач навантаження
Потрібно створити єдиний приватний VIP-вхід для внутрішнього сервісу. З таким входом інші внутрішні додатки зможуть надійно отримувати доступ до калькулятора простих чисел, не знаючи, яка саме серверна віртуальна машина активна або доступна.
У цьому завданні ви налаштуєте внутрішній розподілювач навантаження й підключите його до щойно створеної групи екземплярів.
Внутрішній розподілювач навантаження складається з трьох основних частин, описаних нижче.
-
Правило переадресації. Це фактична приватна IP-адреса, на яку надсилатимуть запити інші внутрішні сервіси. Правило "переадресовує" трафік до вашого серверного сервісу.
-
Серверний сервіс. Визначає, як розподілювач навантаження розосереджує трафік між екземплярами віртуальних машин, а також виконує перевірку стану.
-
Перевірка стану. Це безперервне відстежування стану серверних віртуальних машин. Розподілювач навантаження надсилає трафік лише до тих машин, які проходять перевірку стану, щоб ваш сервіс завжди був доступний.
На наведеній нижче схемі показано, як розподіляється навантаження між екземплярами в кількох групах серверної частини в різних зонах.

Створіть перевірку стану
- Завдяки перевірці стану розподілювач навантаження надсилає трафік лише до справних екземплярів. Ваш серверний сервіс – це сервер HTTP, тому перевірте наведеною нижче командою, чи дає він відповідь "200 OK" для певного URL-шляху (у цьому випадку
/2, щоб перевірити, чи є 2 простим числом).
gcloud compute health-checks create http ilb-health --request-path /2
Оскільки сервіс HTTP надається, потрібно перевірити, чи заповнено відповідь 200 для певного URL-шляху (у цьому випадку /2, щоб перевірити, чи є 2 простим числом).
Створіть серверний сервіс
- Тепер виконайте наведену нижче команду, щоб створити серверний сервіс із назвою
prime-service.
gcloud compute backend-services create prime-service \
--load-balancing-scheme internal --region={{{project_0.default_region | REGION}}} \
--protocol tcp --health-checks ilb-health
Цей сервіс зв’язує перевірку стану з групою екземплярів.
Додайте групу екземплярів у серверний сервіс
- Виконайте наведену нижче команду, щоб підключити групу екземплярів серверної частини до серверного сервісу prime-service. Так розподілювач навантаження знатиме, якими машинами він має керувати.
gcloud compute backend-services add-backend prime-service \
--instance-group backend --instance-group-zone={{{project_0.default_zone | ZONE }}} \
--region={{{project_0.default_region | REGION}}}
Створіть правило переадресації
- Насамкінець виконайте наведену нижче команду, щоб створити правило переадресації під назвою
prime-lb зі статичною IP-адресою .
gcloud compute forwarding-rules create prime-lb \
--load-balancing-scheme internal \
--ports 80 --network default \
--region={{{project_0.default_region | REGION}}} --address {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}} \
--backend-service prime-service
Тепер ваш внутрішній сервіс обчислення простих чисел повністю налаштовано, і до нього можна надсилати запити через внутрішню IP-адресу.
Щоб підтвердити виконання завдання, натисніть Підтвердити виконання.
Налаштуйте внутрішній розподілювач навантаження
Завдання 4. Протестуйте розподілювач навантаження
Ви маєте переконатися, що внутрішній розподілювач навантаження додатків правильно спрямовує трафік до серверних сервісів. Це означатиме, що інші внутрішні додатки можуть надійно підключатися до вашого сервісу через єдину стабільну IP-адресу, забезпечуючи безперервну роботу.
Щоб протестувати розподілювач навантаження, створіть новий екземпляр віртуальної машини в тій самій мережі, що й внутрішній розподілювач навантаження додатків. Він доступний лише з приватної хмарної мережі, а не безпосередньо із середовища Cloud Shell, розташованого за межами цієї мережі.
- Щоб створити простий тестовий екземпляр, у Cloud Shell виконайте таку команду
gcloud:
gcloud compute instances create testinstance \
--machine-type=e2-standard-2 --zone {{{project_0.default_zone | ZONE }}}
- Потім виконайте наведену нижче команду, щоб підключитися до нього через SSH.
gcloud compute ssh testinstance --zone {{{project_0.default_zone | ZONE }}}
Якщо з’явиться запит, введіть Y і двічі натисніть клавішу Enter.
Виконайте запит до розподілювача навантаження
- У тестовому екземплярі виконайте наведені нижче команди
curl, щоб надіслати запит на IP-адресу внутрішнього розподілювача навантаження додатків щодо того, чи є певні числа простими.
curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/2
curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/4
curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/5
Поруч із командним рядком відобразиться значення True (істина) або False (хиба).
Вивід:
user@testinstance:~$ curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/2
Trueuser@testinstance:~$ curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/4
Falseuser@testinstance:~$ curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/5
Trueuser@testinstance:~$ exit
Ви побачите, що тип чисел визначено правильно: 2 й 5 є простими числами, а 4 – ні. Це підтверджує, що внутрішній розподілювач навантаження додатків працює. Він отримав запити й успішно переадресував їх на одну з ваших серверних віртуальних машин для обчислення простих чисел.
Сервіс правильно відповів, що 2 й 5 є простими числами, а 4 – ні.
- Щоб вийти з тестового екземпляра, виконайте наведену нижче команду.
exit
- Видаліть екземпляр, оскільки він більше не потрібен. Для цього виконайте наведену нижче команду.
gcloud compute instances delete testinstance --zone={{{project_0.default_zone | ZONE }}}
- Щоб підтвердити видалення, введіть Y.
Завдання 5. Створіть загальнодоступний вебсервер
Тепер ви побачите, як загальнодоступний додаток (наприклад, вебсайт) може використовувати ваші внутрішні сервіси.
У цьому завданні ви створите загальнодоступний вебсервер, який використовуватиме внутрішній сервіс ("калькулятор простих чисел") через внутрішній розподілювач навантаження додатків, щоб відобразити матрицю простих чисел.
- Спочатку виконайте наведену нижче команду, щоб створити скрипт запуску для загальнодоступної клієнтської частини в головному каталозі:
touch ~/frontend.sh
- Редактор коду має бути відкритим. Якщо ні, запустіть редактор коду, вибравши його в Cloud Shell.

Через кілька секунд відкриється робоча область.
-
На панелі Explorer (Провідник) виберіть файл frontend.sh.
-
Додайте наведений нижче скрипт у редактор.
sudo chmod -R 777 /usr/local/sbin/
sudo cat << EOF > /usr/local/sbin/getprimes.py
import urllib.request
from multiprocessing.dummy import Pool as ThreadPool
import http.server
PREFIX="http://{{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/" #HTTP Load Balancer
def get_url(number):
return urllib.request.urlopen(PREFIX+str(number)).read().decode('utf-8')
class myHandler(http.server.BaseHTTPRequestHandler):
def do_GET(s):
s.send_response(200)
s.send_header("Content-type", "text/html")
s.end_headers()
i = int(s.path[1:]) if (len(s.path)>1) else 1
s.wfile.write("<html><body><table>".encode('utf-8'))
pool = ThreadPool(10)
results = pool.map(get_url,range(i,i+100))
for x in range(0,100):
if not (x % 10): s.wfile.write("<tr>".encode('utf-8'))
if results[x]=="True":
s.wfile.write("<td bgcolor='#00ff00'>".encode('utf-8'))
else:
s.wfile.write("<td bgcolor='#ff0000'>".encode('utf-8'))
s.wfile.write(str(x+i).encode('utf-8')+"</td> ".encode('utf-8'))
if not ((x+1) % 10): s.wfile.write("</tr>".encode('utf-8'))
s.wfile.write("</table></body></html>".encode('utf-8'))
http.server.HTTPServer(("",80),myHandler).serve_forever()
EOF
nohup python3 /usr/local/sbin/getprimes.py >/dev/null 2>&1 &
-
Натисніть File (Файл) > Save (Зберегти), але не закривайте файл.
Як і раніше, попросіть Gemini Code Assist пояснити учаснику команди скрипт запуску для загальнодоступного вебсервера.
-
Якщо файл frontend.sh відкрито й Gemini Code Assist увімкнено в ІСР, угорі праворуч у редакторі з’явиться значок
.
-
Натисніть значок
і виберіть Explain this (Пояснити).
-
Відкриється панель чату Gemini Code Assist із готовим запитом Explain this (Поясни). У вбудованому текстовому полі чату з Code Assist замініть готовий запит на наведений нижче й натисніть Send (Надіслати).
Ти – розробник додатків у середовищі Cymbal AI. Новому учаснику команди потрібно допомогти зрозуміти цей скрипт запуску для загальнодоступного вебсервера, написаного у файлі Python getprimes.py. Докладно поясни скрипт файлу frontend.sh. Розбери його ключові компоненти, використані команди і їх функції в скрипті.
Не пропонуй покращень у вмісті файлу.
У чаті Gemini Code Assist з’явиться докладне пояснення скрипту запуску frontend.sh для загальнодоступного вебсервера.
Створіть екземпляр клієнтської частини
- У терміналі Cloud Shell виконайте наведений нижче код, щоб створити екземпляр під назвою
frontend, на якому працюватиме цей вебсервер.
gcloud compute instances create frontend --zone={{{project_0.default_zone | ZONE }}} \
--metadata-from-file startup-script=frontend.sh \
--tags frontend --machine-type=e2-standard-2
Відкрийте брандмауер для клієнтської частини
- Оскільки це загальнодоступний сервер, потрібно виконати наведену нижче команду, щоб відкрити його брандмауер і дозволити трафік із будь-якого джерела в Інтернеті (0.0.0.0/0) через порт 80.
gcloud compute firewall-rules create http2 --network default --allow=tcp:80 \
--source-ranges 0.0.0.0/0 --target-tags frontend
-
У меню навігації натисніть Compute Engine > VM instances (Екземпляри віртуальних машин). Якщо екземпляра frontend немає, оновіть сторінку вебпереглядача.
-
Відкрийте зовнішню IP-адресу для клієнтської частини у вебпереглядачі:

Ви побачите матрицю, у якій усі прості числа до 100 позначено зеленим кольором:

- Додайте в шлях якесь число, наприклад http://your-ip/10000, щоб переглянути всі прості числа, починаючи із цього числа.

Примітка. Наведений скрипт запуску недостатньо ефективно обчислює прості числа. Крім того, він не має алгоритмів виявлення або виправлення помилок. Якщо додати в шлях великі числа, час очікування сервісу буде перевищено.
Щоб підтвердити виконання завдання, натисніть Підтвердити виконання.
Створіть загальнодоступний вебсервер
Вітаємо!
Вам вдалося створити надійний внутрішній сервіс за допомогою внутрішнього розподілювача навантаження додатків Google Cloud і Gemini Code Assist, а також показати, як загальнодоступний додаток може безпечно його використовувати.
Наступні кроки/Докладніше
Навчання й сертифікація Google Cloud
…допомагають ефективно використовувати технології Google Cloud. Наші курси передбачають опанування технічних навичок, а також ознайомлення з рекомендаціями, що допоможуть вам швидко зорієнтуватися й вивчити матеріал. Ми пропонуємо курси різних рівнів – від базового до високого. Ви можете вибрати формат навчання (за запитом, онлайн або офлайн) відповідно до власного розкладу. Пройшовши сертифікацію, ви перевірите й підтвердите свої навички та досвід роботи з технологіями Google Cloud.
Посібник востаннє оновлено 22 серпня 2025 року
Практичне заняття востаннє протестовано 22 серпня 2025 року
© Google LLC 2025. Усі права захищено. Назва та логотип Google є торговельними марками Google LLC. Усі інші назви компаній і продуктів можуть бути торговельними марками відповідних компаній, з якими вони пов’язані.