Kontynuując przeglądanie strony, wyrażasz zgodę na używanie przez nas plików cookies. Sprawdź jej szczegóły Polityki Prywatności i Cookies.

Akceptuję arrow

AWS Landing Zone -
usprawnij tworzenie i zarządzanie zasobami w koncie AWS,
zachowując wysoki poziom bezpieczeństwa

15.10.2018 | LCloud
Udostępnij:
AWS Landing Zone to jedna z wielu usług służących do zarządzania zasobami w chmurze. Powstała w celu wykorzystania potencjału  chmurowego oraz łatwiejszej konfiguracji kont w organizacji.

Dzięki swojej funkcjonalności pozwala  na sprawniejsze skonfigurowanie środowiska, z zachowaniem Dobrych Praktyk AWS, bez konieczności głębokiej analizy poszczególnych usług i ułatwia podejmowanie skomplikowanych decyzji projektowych. W praktyce usługa  obejmuje gotowe konta AWS, z uwzględnieniem minimalnej podstawy bezpieczeństwa (IAM) i pozwala na tworzenie nowych kont z zadaną konfiguracją. Usługa  znalazła zastosowanie przy projektowaniu usług, gdzie struktura organizacyjna jest wielopoziomowa.

AWS Landing Zone to:

  • bezpieczne środowisko skonfigurowane w oparciu o Dobre Praktyki AWS
  • punkt wyjściowy do rozpoczęcia migracji danych/aplikacji klienta
  • środowisko, które z biegiem czasu można rozbudować i dostosować do zmieniających się potrzeb technologicznych.

Jest to rozwiązanie zapewniające kompletną podstawę do rozpoczęcia pracy z architekturą chmury; tworzeniem wielu kont, zarządzaniem tożsamością i dostępami, bezpieczeństwem danych czy projektowaniem sieci.

Niewątpliwymi atutami przemawiającymi za zastosowaniem  usługi są:

  • prostota we wdrożeniu
  • automatyzacja całego procesu deploymentu
  • możliwość łatwej konfiguracji do potrzeb użytkownika
  • bezpieczeństwo

Powyższe zalety sprawiają, że warto przyjrzeć się bliżej jej komponentom. W dalszej części wpisu omówimy: kwestie bezpieczeństwa, AWS Organizations oraz notyfikacje.

Bezpieczeństwo

Oferowana przez Landing Zone “Security baseline” to idealna baza, którą w szybki i łatwy sposób można skonfigurować, i dostosować do potrzeb klienta. W jej skład wchodzą takie usługi AWS jak:

  • AWS CloudTrail,
  • AWS Config,
  • AWS Config Rules,
  • AWS Identity and Access Management (Zarządzanie tożsamością i dostępem AWS),
  • Cross-Account Access (dostęp dla wielu kont)
  • Amazon Virtual Private Cloud (VPC).

Ich ustawienia zostały tak dobrane, aby podczas wdrażania nowego szablonu na koncie, usługa automatycznie skonfigurowała konto, z wcześniej wspomnianymi zabezpieczeniami.

AWS Organizations

AWS Organizations to usługa umożliwiająca klientom tworzenie wielu kont AWS z możliwością wspólnego zarządzania nimi w sposób jednolity i automatyczny. Dodatkowo stwarza możliwość grupowania ich w jednostki organizacyjne (OU), a to z kolei pozwala na administrowanie nimi jako pojedynczymi układami. Każde z tych kont jest skonfigurowane z zachowaniem minimalnej podstawy bezpieczeństwa, zgodnej z Dobrymi Praktykami AWS. AWS Landing Zone automatycznie tworzy 3 oddzielne konta AWS: SharedServices, Logging i Security.

  • Konto SharedServices jest odniesieniem do współdzielonych elementów infrastruktury np. usług katalogowych.
  • Konto Logging zawiera centralny bucket S3 – to tu trafią wszystkie logi z AWS CloudTrail i AWS Config.
  • Z kolei z poziomu konta Security można utworzyć role pomiędzy kontami administratora i audytorów, tak samo jak dla wszystkich zarządzanych kont w usłudze AWS Landing Zone.

Poniższy schemat doskonale obrazuje zależności pomiędzy poszczególnymi kontami.

Schemat tworzenia kont w usłudze AWS Landing Zone.
Źródło: AWS Landing Zone

Notyfikacje

AWS Landing Zone konfiguruje alarmy i zdarzenia dla AWS CloudWatch, który z kolei wysyła notyfikacje o awariach logowania do konsoli, błędach uwierzytelniania API oraz zmianach w obrębie konta. Wspomniane zmiany mogą dotyczyć grup zabezpieczeń, połączeń peeringowych czy modyfikacji w stanach instancji EC2. Rozwiązanie konfiguruje Topic’ki w usłudze AWS SNS na każdym z kont w Organizacji. Lambda zasubskrybowana automatycznie, przekazuje wszystkie powiadomienia do wspólnej kolejki Amazon SNS w koncie AWS Organizations. Funkcjonalność  ma na celu umożliwienie lokalnym administratorom  subskrypcję i otrzymywanie wybranych powiadomień na koncie.

Schemat działania notyfikacji w usłudze AWS Landing Zone.
Źródło: AWS Landing Zone

Dodatkowe  komponenty

Do innych, równie istotnych elementów usługi AWS Landing Zone zaliczamy:

  • Account Vending Machine (AVM), która jest dostarczana jako produkt AWS umożliwiający klientom tworzenie nowych kont w jednostkach organizacyjnych (OU).
  • User Access (dostęp użytkownika), zapewnienie najniższego poziomu uprawnień – indywidualnego dostępu do konta jest podstawowym elementem zarządzania kontami AWS.

 

Budowanie Landing Zone

Pierwszym krokiem powinno być zapoznanie się z templatkami AWS CloudFormation.

W tym zakresie AWS  przygotował dwa szablony, z których pierwszy służy do tworzenia grup użytkowników IAM i ról, a drugi do wdrażania wszystkich powiązanych komponentów rozwiązania Landing Zone.

Całość rozwiązania została pokazana na schemacie poniżej:

Schemat implementacji CloudFotmation w usłudze AWS Landing Zone.
Źródło: AWS Landing Zone, AWS Implementation Guide, Lalit Grover, Marzec 2018.

UWAGA! To rozwiązanie jest przeznaczone dla klientów AWS, którzy nie mieli skonfigurowanych i wdrożonych kont w AWS.

Aby rozpocząć proces tworzenia Landing Zone, należy utworzyć konto AWS z adresem mailowym, który wcześniej nie był wykorzystywany. Następnie należy usłudze AWS Organizations zwiększyć liczbę kont do 10.

Właściwe wdrożenie przebiega w 3 krokach:

  • utworzenie zasobów IAM,
  • utworzenie i konfiguracja pozostałych zasobów,
  • aktualizacji parametrów scentralizowanego logowania.

Cała procedura opiera się o stacki AWS CloudFormation i jest w pełni zautomatyzowana.

 

Oto poszczególne kroki podczas wdrożenia/deploymentu:

Utworzenie zasobów IAM
  1. Należy zalogować się do konsoli AWS oraz wybrać usługę AWS CloudFormation, a następnie szablon aws-landing-zone-iam-assets. Można go również pobrać do własnej implementacji.
  2. Szablon domyślnie jest uruchamiany w rejonie wschodnim USA (N. Virginia) – należy zmienić swój region docelowy na pasku regionów.
  3. Na stronie ze Szczegółami należy wpisać nazwę Stacku.
  4. Parametry należy zweryfikować i wprowadzić ewentualne zmiany.
  5. Następnie należy kliknąć Dalej/Next.
  6. W Opcjach również należy kliknąć Dalej/Next.
  7. Na stronie z podsumowaniem warto dokładnie sprawdzić wprowadzone ustawienia. Należy pamiętać o zaznaczeniu pola potwierdzającego. Szablon tworzy zasoby zarządzania tożsamością i dostępem (IAM).
  8. Następnie należy kliknąć Utwórz, aby zdeployować Stack.

Cały proces powinien trwać nie dłużej niż 5 min. Po czym powinien pojawić się komunikat CREATE_COMPLETE.

Utworzenie i konfiguracja pozostałych zasobów

UWAGA! zanim zostaną podjęte dalsze kroki, należy upewnić się, że szablon zasobów IAM został uruchomiony. W tym kroku tworzony jest Landing Zone.

  1. Należy zalogować się do konsoli AWS oraz wybrać usługę AWS CloudFormation, a następnie szablon aws-landing-initiation. Można go również pobrać do własnej implementacji.
  2. Szablon domyślnie jest uruchamiany w rejonie wschodnim USA (N. Virginia) – należy zmienić swój region docelowy na pasku regionów.
    UWAGA! Szablon aws-landing-initiation jest dostępny w konkretnych regionach, należy sprawdzić jego dostępność w danym regionie. Szablon  jest również dostępny w Europie.
  3. Na stronie ze Szczegółami należy wpisać nazwę Stacku.
  4. Parametry należy zweryfikować i wprowadzić ewentualne zmiany – parametry mają ustawienia domyślne.
  5. Następnie należy kliknąć Dalej/Next.
  6. W Opcjach również należy kliknąć Dalej/Next.
  7. Na stronie z podsumowaniem warto dokładnie sprawdzić wprowadzone ustawienia. Należy pamiętać o zaznaczeniu pola potwierdzającego zgodę na utworzenie zasobów IAM, gdyż szablon tworzy zasoby zarządzania tożsamością i dostępem (IAM).
  8. Następnie należy kliknąć Utwórz, aby zdeployować Stack.

Cały proces powinien trwać nie dłużej niż 5 min. Po czym powinien pojawić się komunikat CREATE_COMPLETE. Status można zweryfikować w konsoli AWS CloudFormation.

Aktualizacja parametrów scentralizowanego logowania

Po wdrożeniu i zdeployowaniu szablonów AWS CloudFormation, należy ręcznie zaktualizować parametry Elasticsearch Endpoint i Master Account Role

  1. Należy skonfigurować konto tak, aby swobodnie przełączać je pomiędzy Podstawowym a kontem SharedServices
    1. Identyfikator konta SharedServices można znaleźć na karcie Outputs w inicjowanym szablonie
    2. Użyj AWSCloudFormationStackSetExecutionRole dla roli
  2. W konsoli AWS Management Console należy przejść do konsoli CloudFormation a następnie Stack’u
  3. Należy wybrać główny szablon StackSet z „(SO0009)AWS Centralized Logging Solution” w opisie
  4. Należy wybrać zakładkę Output i skopiować wartości dla kluczy DomainEndpoint i MasterRole
  5. Przełączyć się na Konto Główne (tzn. z nazwą użytkownika)
  6. Przejść do konsoli CloudFormation, a następnie do StackSet
  7. Należy wybrać szablon spoke
  8. Zaktualizować wartości parametrów Elasticsearch Endpoint i Master Account Role z poprzednio skopiowanymi wartościami w kroku 4
    1. Aby zaktualizować, należy wybrać Zarządzanie stackiem i wybierz Edytuj stack
  9. Należy wybrać Dalej/Next a następnie opcję bieżącego szablonu
  10. Następnie wybrać Dalej/Next i zaktualizować dwa parametry
  11. Wybrać Dalej/Next
  12. Na stronie z podsumowaniem warto dokładnie sprawdzić wprowadzone ustawienia. Należy pamiętać o zaznaczeniu pola potwierdzającego, szablon tworzy zasoby zarządzania tożsamością i dostępem (IAM).
  13. Następnie należy kliknąć Utwórz, aby zdeployować Stack.

Cały proces powinien trwać nie dłużej niż 5 min. Po czym powinien pojawić się komunikat CREATE_COMPLETE. Status można zweryfikować w konsoli AWS CloudFormation.

Podsumowując AWS Landing Zone jest usługą, która pozwala na szybkie i bezproblemowe stworzenie siatki organizacyjnej kont w środowisku AWS. Dzięki skonfigurowanym ustawieniom domyślnym, jakie zostały dołączone do szablonów AWS CloudFormation, pewnym jest, iż dane użytkownika są prawidłowo zabezpieczone od początku procesu.