Здравейте на всички! През декември OTUS стартира нов курс — . В навечерието на този курс споделяме с вас превод на интересен материал по темата.

е решение, което помага на клиентите бързо да настроят безопасна среда в AWS с няколко акаунта, основавайки се на добри практики.
В течение на повече от пет години нашият екип в 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
След няколко месеца усилена работа с удоволствие ви представям . съхраняващ се на GitHub, а се публикуват в Terraform Module Registry.
За да започнете работа, просто добавете 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.
На това е всичко. Очакваме вашите коментари и ви каним на в рамките на което ще проучим проектирането на архитектурата на домейна Cloud Landing Zone и ще разгледаме архитектурните шаблони на основните домейни..
Източник: habr.com
