Cześć wszystkim! W grudniu OTUS uruchamia nowy kurs — . Przed rozpoczęciem kursu dzielimy się z wami tłumaczeniem interesującego materiału na ten temat.

to rozwiązanie, które pomaga klientom szybko skonfigurować bezpieczne środowisko AWS z wieloma kontami, opierając się na najlepszych praktykach.
Od ponad pięciu lat nasz zespół w Mitoc Group nieustannie pracuje nad tym, aby pomagać dużym organizacjom skutecznie przeprowadzać transformację cyfrową oraz budować lub przenosić swój cyfrowy ślad do chmury AWS. Innymi słowy, parafrazując naszych przyjaciół z AWS: „Nasi klienci na nowo odkrywają siebie z AWS”. To niekończące się wysiłki w celu przemyślenia i uproszczenia mechanik w imieniu samych klientów, a AWS świetnie radzi sobie z rozwiązywaniem złożonych problemów przy pomocą łatwych w przyswojeniu rozwiązań.

AWS Landing Zone ()
Czym jest AWS Landing Zone?
Jak mówi informacja z oficjalnego źródła:
AWS Landing Zone to rozwiązanie, które pomaga klientom szybciej konfigurować bezpieczne środowisko AWS z wieloma kontami, opierając się na najlepszych praktykach AWS. Przy dużej liczbie opcji, konfigurowanie środowiska z wieloma kontami może zająć znaczną ilość czasu oraz wymagać skonfigurowania wielu kont i usług, co wymaga głębokiego zrozumienia działania usług AWS.
Rozwiązanie AWS Landing Zone znacznie uprościło złożoność i spójność podobnych do siebie wzorców projektowych, które są dostarczane różnym klientom. Z drugiej strony, nasz zespół musiał przystosować niektóre komponenty CloudFormation na komponenty Terraform, aby można je było dalej automatyzować.
Dlatego zadaliśmy sobie pytanie, dlaczego nie zbudować całego rozwiązania AWS Landing Zone w Terraform? Czy możemy to zrobić i czy rozwiąże to problemy naszych klientów? Spojler: rozwiązuje i już rozwiązuje! 🙂
Kiedy nie warto używać AWS Landing Zone?
Jeśli masz do czynienia z typowymi usługami chmurowymi i zasobami chmurowymi w ramach jednego lub dwóch kont AWS, te środki mogą okazać się zbędne. Ci, którzy do tego punktu się nie odnoszą, mogą kontynuować czytanie 🙂
Na co należy zwrócić uwagę przed rozpoczęciem pracy?
Wiele dużych organizacji, z którymi współpracowaliśmy, ma już jakąś strategię wykorzystania technologii chmurowych. Firmy zmagają się z udanym wdrożeniem usług chmurowych, nie mając jasnej wizji i sformułowanych oczekiwań. Proszę, poświęć czas na określenie swojej strategii i zrozumienie, jak AWS w nią wpisuje.
Określając strategię, udani klienci AWS Landing Zone aktywnie zwracają uwagę na następujące aspekty:
- Prosta automatyzacja to nie opcja. Preferowana jest natywna automatyzacja chmurowa.
- Zespoły konsekwentnie korzystają z tych samych mechanizmów z tym samym zestawem narzędzi do przygotowywania zasobów chmurowych. Lepiej używać Terraform.
- Najbardziej produktywni użytkownicy usług chmurowych mają możliwość tworzenia procesów do wielokrotnego użytku i udostępniania ich jako usługi do wielokrotnego użytku zamiast kodu do wielokrotnego użytku. Preferowane jest wykorzystanie architektury bezserwerowej.
Przedstawiamy moduł Terraform dla AWS Landing Zone
Po kilku miesiącach intensywnej pracy z przyjemnością przedstawiam Państwu . jest przechowywany na GitHubie, a są publikowane w Terraform Module Registry.
Aby rozpocząć pracę, wystarczy dodać main.tf do swojego kodu:
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}"
} Uwaga: nie zapomnij dodać variables.tf i wszystkiego, co może Ci się przydać z outputs.tf.
Aby ułatwić zrozumienie, dodaliśmy wartości domyślne do 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"
[...]
} Oznacza to, że podczas korzystania z tego modułu terraform będziesz musiał:
- Zmienić wartości
account_idiregionna własne, które odpowiadają danym w AWS Organization; - Zmienić wartości
landing_zone_componentsna te, które odpowiadają Twojemu przypadkowi użycia AWS Landing Zone; - Edytuj
s3://terraform-aws-landing-zone/mycompanyna swój blok S3 i prefiks klucza S3, gdzie będziesz przechowywać pliki.tfvars(lub bezwzględna ścieżka do plików.tfvarsw Twoim lokalnym przechowywaniu).
Ten moduł może mieć dziesiątki, setki lub tysiące wdrażanych komponentów, ale nie wszystkie muszą i będą wdrożone. W czasie realizacji komponenty, które nie są częścią mapy zmiennych landing_zone_components zostaną zignorowane.
Podsumowanie
Jesteśmy bardzo zadowoleni i dumni, że możemy dzielić się owocami naszych wysiłków, które pomagają klientom w tworzeniu natywnej automatyzacji w chmurze. Moduł Terraform dla AWS Landing Zone to kolejne rozwiązanie, które umożliwia organizacjom szybsze skonfigurowanie bezpiecznego środowiska AWS z wieloma kontami, opierając się na najlepszych praktykach AWS. Doskonale rozumiemy, że AWS rozwija się niezwykle szybko, i dążymy do równie szybkiego rozwijania rozwiązania Terraform, które obejmuje wszystkie podstawy oraz integruje się z innymi działającymi rozwiązaniami AWS.
To wszystko. Czekamy na Wasze komentarze i zapraszamy na w ramach którego my przyjrzymy się projektowaniu architektury domeny Cloud Landing Zone i omówimy architektoniczne wzorce kluczowych domen..
Źródło: habr.com
