Здравейте на всички! През декември 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
