
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create mynetwork and its resources
/ 100
За допомогою сервісу Terraform можна безпечно й сплановано створювати, змінювати та покращувати інфраструктуру. Це інструмент із відкритим кодом, який дає змогу систематизувати API в декларативні файли конфігурації, прив’язані до певної версії. Їх можна надсилати іншим учасникам команди у вигляді коду для редагування й перегляду.
Під час цього практичного заняття ви створите конфігурацію Terraform із модулем для автоматизації розгортання інфраструктури Google Cloud. Зокрема, вам потрібно розгорнути одну автоматичну мережу з правилом брандмауера й два екземпляри віртуальних машин, як показано на цій діаграмі:
На цьому практичному занятті ви навчитеся виконувати наведені нижче дії.
Для кожного практичного заняття ви безкоштовно отримуєте новий проект Google Cloud і набір ресурсів на визначений період часу.
Натисніть кнопку Почати заняття. Якщо за практичне заняття необхідно заплатити, відкриється спливаюче вікно, де ви зможете обрати спосіб оплати. Ліворуч розміщено панель Відомості про практичне заняття з такими компонентами:
Натисніть Відкрити консоль Google або натисніть правою кнопкою миші й виберіть Відкрити анонімне вікно, якщо ви використовуєте вебпереглядач Chrome.
Завантажаться необхідні ресурси. Потім відкриється нова вкладка зі сторінкою Вхід.
Порада. Упорядковуйте вкладки в окремих вікнах, розміщуючи їх поруч.
За потреби скопіюйте значення в полі Username (Ім’я користувача) нижче й вставте його у вікні Вхід.
Поле Username (Ім’я користувача) також можна знайти на панелі Відомості про практичне заняття.
Натисніть Next (Далі).
Скопіюйте значення в полі Password (Пароль) нижче й вставте його у вікні Welcome (Привітання).
Поле Password (Пароль) також можна знайти на панелі Відомості про практичне заняття.
Натисніть Next (Далі).
Що від вас очікується
Через кілька секунд Google Cloud Console відкриється в новій вкладці.
У цьому завданні ви налаштуєте середовище Cloud Shell для використання інструмента Terraform.
Наразі Terraform входить у пакет Cloud Shell. Перевірте, яку версію цього інструмента встановлено.
Вивід матиме такий вигляд:
Примітка. Не хвилюйтесь, якщо ви отримаєте сповіщення про те, що версія Terraform застаріла, оскільки вказівки в цьому практичному занятті надано для Terraform версії 1.5.7 і новіших. Ви можете завантажити останню версію Terraform на цьому вебсайті. Terraform розповсюджується як пакет двійкового коду для всіх підтримуваних платформ і архітектур, а Cloud Shell працює на 64-розрядній версії Linux.
Примітка. Якщо з’явиться повідомлення "Unable to load code editor because third-party cookies are disabled" (Не вдається завантажити редактор коду, оскільки сторонні файли cookie заборонені.), натисніть Open in New Window (Відкрити в новому вікні). Редактор коду відкриється в новому вікні. Поверніться на початкову вкладку й натисніть Open Terminal (Відкрити термінал), а потім знову перейдіть на вкладку з редактором коду. Під час цього практичного заняття вам час від часу доведеться повертатися до термінала Cloud Shell.
Terraform використовує архітектуру на основі плагінів, що забезпечує підтримку більшості доступних інфраструктур і постачальників послуг. Кожен постачальник функціонує окремо від Terraform як інкапсульований двійковий пакет. Ініціалізуйте Terraform, вибравши Google як постачальника послуг.
натисніть правою кнопкою миші
папку tfinfra, а потім виберіть New File (Новий файл).provider.tf
:Щоб зберегти файл provider.tf, натисніть File (Файл) > Save (Зберегти).
Щоб ініціалізувати Terraform, виконайте таку команду:
Тепер ви можете працювати з Terraform у Cloud Shell.
У цьому завданні ви створите автоматичну мережу mynetwork разом із правилом брандмауера й двома екземплярами віртуальних машин (mynet_vm_1 і mynet_vm_2).
Створіть нову конфігурацію і визначте мережу mynetwork.
натисніть правою кнопкою миші
папку tfinfra, а потім виберіть New File (Новий файл).mynetwork.tf
:На основі цього базового шаблону можна створювати ресурси Google Cloud. У полі name (назва) можна вказати назву ресурсу, а в полі type (тип) – зазначити, який саме ресурс Google Cloud потрібно створити. За потреби ви також можете визначити властивості для деяких ресурсів.
mynetwork.tf
замініть [RESOURCE_TYPE]
на "google_compute_network"
(з лапками).Примітка. Ресурс google_compute_network – це мережа VPC. Ви можете переглянути інформацію про доступні ресурси в документації постачальника Google Cloud. Докладніше про цей окремий ресурс можна дізнатися з документації Terraform.
[RESOURCE_NAME]
на "mynetwork"
(з лапками) у файлі mynetwork.tf
.mynetwork.tf
.Автоматична мережа створює підмережу одразу в кожному регіоні, тому встановіть для параметра auto_create_subnetworks значення true.
mynetwork.tf
, натисніть File (Файл) > Save (Зберегти).Створіть правило брандмауера, що дозволяє трафік HTTP, SSH, RDP й ICMP для мережі mynetwork.
mynetwork.tf
.mynetwork.tf
замініть [RESOURCE_TYPE]
на "google_compute_firewall"
(з лапками).Примітка. Ресурс google_compute_firewall – це правило брандмауера. Докладніше про цей окремий ресурс можна дізнатися з документації Terraform.
mynetwork.tf
замініть [RESOURCE_NAME]
на "mynetwork-allow-http-ssh-rdp-icmp"
(з лапками).mynetwork.tf
.Примітка. Оскільки правило брандмауера відноситься до певної мережі, ви використовуєте google_compute_network.mynetwork.self_link, щоб повідомити Terraform, що ресурси потрібно створювати в заданому порядку. Так мережу буде створено раніше за правило брандмауера.
mynetwork.tf
.Список правил allow показує, які протоколи й порти дозволено використовувати.
mynetwork.tf
має такий вигляд:Визначте екземпляри віртуальних машин, створивши модуль для таких екземплярів. Модуль – це конфігурація для багаторазового використання всередині папки. Під час цього практичного заняття ви будете використовувати цей модуль для обох екземплярів віртуальних машин.
натисніть правою кнопкою миші
папку instance, а потім виберіть New File (Новий файл).Структура папок у Cloud Shell повинна мати такий вигляд:
main.tf
замініть [RESOURCE_TYPE]
на "google_compute_instance"
(з лапками).Примітка. Ресурс google_compute_instance – це екземпляр Compute Engine. Докладніше про цей окремий ресурс можна дізнатися з документації Terraform.
main.tf
замініть [RESOURCE_NAME]
на "${var.instance_name}"
(з лапками).Визначте назву екземпляра як вхідну змінну, оскільки ви використовуватимете її для обох екземплярів віртуальних машин. Так ви зможете керувати назвою змінної з файлу "mynetwork.tf". Докладніше про вхідні змінні можна дізнатися в цьому посібнику.
main.tf
.Ці ресурси визначають зону й тип машини екземпляра як вхідні змінні.
main.tf
.Цей ресурс визначає образ ОС Debian 11 як завантажувальний диск. Оскільки обидва екземпляри віртуальних машин використовуватимуть однаковий образ, ви можете жорстко закодувати цей ресурс у модулі.
main.tf
.Цей ресурс визначає інтерфейс мережі, призначаючи назву мережі як вхідну змінну й конфігурацію доступу. Якщо не вказати конфігурацію доступу, буде призначено тимчасову зовнішню IP-адресу (потрібну для цього практичного заняття). Щоб створювати екземпляри лише з однією IP-адресою, вилучіть розділ access_config. Щоб дізнатися більше, перегляньте документацію Terraform.
main.tf
має такий вигляд (включно з дужками {}
):натисніть правою кнопкою миші
папку instance, а потім виберіть New File (Новий файл).variables.tf
.Призначивши змінну за умовчанням для instance_type, ви зробите її необов’язковою. Змінні instance_name, instance_zone і instance_network є обов’язковими. Їх потрібно визначити у файлі mynetwork.tf
.
mynetwork.tf
.Ці ресурси використовуються в модулі в папці instance і передають значення назви, зони й мережі. Оскільки ці екземпляри пов’язані з мережею VPC, скористайтеся посиланням google_compute_network.mynetwork.self_link, щоб повідомити Terraform, що ресурси потрібно створювати в заданому порядку. Так мережу буде створено раніше за екземпляр.
Примітка. Перевага написання модуля Terraform полягає в тому, що його можна використовувати для багатьох конфігурацій. Замість того, щоб писати власний модуль, можна скористатися наявними модулями з реєстру модулів Terraform.
Щоб зберегти mynetwork.tf
, натисніть File (Файл) > Save (Зберегти).
Переконайтеся, що файл mynetwork.tf
має такий вигляд (включно з дужками {}
).
Час застосувати конфігурацію для мережі mynetwork.
Вивід матиме такий вигляд:
Примітка. Якщо станеться помилка, перегляньте попередні кроки, щоб перевірити, чи створено конфігурацію відповідно до вказівок практичного заняття. Якщо вам не вдається вирішити проблему, завантажте й перегляньте такі стандартні конфігурації:
Вивід матиме такий вигляд:
Примітка. Якщо виникне помилка, перегляньте попередні кроки, щоб переконатися, що структура файлів і папок правильна. Якщо вам не вдається вирішити проблему, завантажте й перегляньте наведені вище стандартні конфігурації. Коли вирішите проблему, виконайте попередню команду ще раз.
Вивід матиме такий вигляд:
Сервіс Terraform визначив, що потрібно додати 4 наведені нижче ресурси.
Назва | Опис |
---|---|
mynetwork | Мережа VPC |
mynetwork-allow-http-ssh-rdp-icmp | Правило брандмауера, що дозволяє трафік HTTP, SSH, RDP й ICMP |
mynet-vm-2 | Екземпляр віртуальної машини в |
mynet-vm-2 | Екземпляр віртуальної машини в |
Вивід матиме такий вигляд:
Щоб підтвердити виконання завдання, натисніть Check my progress (Підтвердити виконання).
Примітка. Якщо під час виконання виникне помилка, перегляньте попередні кроки, щоб переконатися, що структура файлів і папок правильна. Якщо вам не вдається вирішити проблему, завантажте й перегляньте наведені вище стандартні конфігурації. Коли вирішите проблему, виконайте попередню команду ще раз.
Перевірте на консолі Google Cloud, чи створено ресурси.
Під час цього практичного заняття ви створили конфігурацію Terraform із модулем для автоматизації розгортання інфраструктури Google Cloud. Коли ви змінюєте конфігурацію, Terraform може створювати відповідні плани виконання, що дає змогу поступово змінювати всю конфігурацію.
Ви повторно застосували таку саму конфігурацію для кількох ресурсів за допомогою модуля екземпляра, використовуючи його властивості як змінні. Створені конфігурацію і модуль можна використовувати як основу під час майбутніх розгортань.
Закінчивши виконувати завдання, натисніть кнопку End Lab (Завершити завдання). Google Cloud Skills Boost вилучить використані ресурси й очистить обліковий запис.
Ви зможете оцінити, наскільки вам сподобалося виконувати завдання на платформі. Виберіть потрібну кількість зірочок, введіть коментар і натисніть Submit (Надіслати).
Кількість зірочок відповідає певній оцінці:
Якщо ви не хочете надсилати відгук, просто закрийте діалогове вікно.
Залишайте свої відгуки, пропозиції або коментарі на вкладці Support (Підтримка).
© Google LLC 2022. Усі права захищено. Назва та логотип Google є торговельними марками Google LLC. Усі інші назви компаній і продуктів можуть бути торговельними марками відповідних компаній, з якими вони пов’язані.
This content is not currently available
We will notify you via email when it becomes available
Great!
We will contact you via email if it becomes available
One lab at a time
Confirm to end all existing labs and start this one