AWS Landing Zone – это решение, которое помогает клиентам быстро настроить безопасную среду 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
После нескольких месяцев напряженной работы я с удовольствием представляю вам модуль 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 и рассмотрим архитектурные шаблоны основных доменов.
ссылка на оригинал статьи https://habr.com/ru/company/otus/blog/479344/
Добавить комментарий