Всім привіт! У грудні OTUS запускає новий курс
Протягом більш ніж п'яти років існування наша команда в Mitoc Group невпинно працювала над тим, щоб допомагати великим організаціям успішно проводити цифрову трансформацію та будувати чи переносити свій цифровий слід у хмару AWS. Іншими словами, цитуючи наших друзів із AWS: «Наші клієнти знову відкривають себе з AWS». Це нескінченні зусилля по перевинаходженню та спрощенню механік від імені самих клієнтів, і AWS чудово справляється з вирішенням складних проблем за допомогою простих у засвоєнні рішень.
AWS Landing Zone (
Що таке AWS Landing Zone?
Як свідчить інформація з офіційного джерела:
AWS Landing Zone – це рішення, яке допомагає клієнтам швидше налаштовувати безпечне середовище AWS з кількома обліковими записами, ґрунтуючись на кращих практиках AWS. При великій кількості варіантів, налаштування середовища з декількома обліковими записами може зайняти значний час, а також включати налаштування безлічі акаунтів і сервісів, і вимагати глибокого розуміння роботи сервісів AWS.
Рішення AWS Landing Zone значно знизило складність та узгодженість аналогічних один одному шаблонів проектування, що надаються різним клієнтам. З іншого боку, нашій команді довелося переналаштувати деякі компоненти CloudFormation як компоненти Terraform, щоб використовувати їх для автоматизації.
Тому ми запитали, чому б не побудувати все рішення AWS Landing Zone в Terraform? Чи можемо це зробити і чи вирішить це проблеми наших клієнтів? Спойлер: вирішить і вже вирішує! 🙂
Коли не варто використовувати AWS Landing Zone?
Якщо ви маєте справу зі звичайними хмарними сервісами та хмарними ресурсами в рамках одного або двох облікових записів AWS, ці заходи можуть виявитися зайвими. Всі, хто до цього пункту не належать, можуть читати 🙂
Що потрібно врахувати перед початком роботи?
Багато великих організацій, з якими ми працювали, вже мають якусь стратегію використання хмарних технологій. Компанії борються за успішне впровадження хмарних сервісів, не маючи чіткого бачення та сформульованих очікувань. Будь ласка, згаяйте час на те, щоб визначитися зі своєю стратегією і зрозуміти як AWS в неї вписується.
Визначаючи стратегію, успішні клієнти AWS Landing Zone активно акцентують увагу на наступному:
- Просто автоматизація – це варіант. Переважною є нативна хмарна автоматизація.
- Команди послідовно використовують одні й самі механіки з тим самим набором інструментів на підготовку хмарних ресурсів. Найкраще використовувати Terraform.
- Найпродуктивніші користувачі хмарних сервісів мають можливість створювати перевикористовувані процеси і надавати їх як сервіси, що перевикористовуються, замість коду, що перевикористовується. Переважно використання безсерверної архітектури.
Представляємо модуль Terraform для AWS Landing Zone
Після кількох місяців напруженої роботи я із задоволенням уявляю вам
Щоб розпочати роботу, просто увімкніть main.tf
у ваш код:
module "landing_zone" {
source = "TerraHubCorp/landing-zone/aws"
version = "0.0.6"
root_path = "${path.module}"
account_id = "${var.account_id}"
region = "${var.region}"
landing_zone_components = "${var.landing_zone_components}"
}
Примітка: обов'язково увімкніть variables.tf
і все, що вам може стати в нагоді з outputs.tf
.
Щоб полегшити розуміння, ми додали значення за замовчуванням terraform.tfvars
:
account_id = "123456789012"
region = "us-east-1"
landing_zone_components = {
landing_zone_pipeline_s3_bucket = "s3://terraform-aws-landing-zone/mycompany/landing_zone_pipeline_s3_bucket/default.tfvars"
[...]
}
Це означає, що при використанні цього модуля terraform
вам потрібно:
- Змінити значення
account_id
иregion
на власні, які відповідають даним в AWS Organization; - Змінити значення
landing_zone_components
на ті, які відповідають вашому варіанту використання AWS Landing Zone; - Змінити
s3://terraform-aws-landing-zone/mycompany
на ваш блок S3 та префікс ключа S3, де ви зберігатимете файли.tfvars
(або абсолютний шлях до файлів.tfvars
у вашому локальному сховищі).
Цей модуль може мати десятки, сотні або тисячі компонентів, що розгортаються, але не всі з них повинні бути і будуть розгорнуті. Під час виконання компоненти, які не є частиною карти змінних landing_zone_components
будуть проігноровані.
Висновок
Ми дуже раді та горді тим, що ділимося плодами наших зусиль, які допомагають клієнтам створювати нативну хмарну автоматизацію. Модуль Terraform для AWS Landing Zone – це ще одне рішення, яке допомагає організаціям швидше налаштувати безпечне середовище AWS з кількома обліковими записами, ґрунтуючись на найкращих практиках AWS. Ми добре знаємо, що AWS розвивається дуже швидко, і ми прагнемо також швидко розвивати рішення terraform, яке охоплює всі основи, а також інтегрується з іншими робочими рішеннями AWS.
На цьому все. Чекаємо на ваші коментарі та запрошуємо на
Джерело: habr.com