W tym poście demonstrujemy automatyczne wdrażanie Przepływy pracy zarządzane przez Amazon dla Apache Airflow (Amazon MWAA) wykorzystujący punkty końcowe zarządzane przez klienta w VPC, zapewniając kompatybilność ze współdzielonymi lub w inny sposób ograniczonymi VPC.
Naukowcy i inżynierowie danych dokonali Przepływ powietrza Apache wiodące narzędzie typu open source do tworzenia potoków danych dzięki aktywnej społeczności open source, znanemu programowaniu w języku Python w postaci przepływów pracy z ukierunkowanym grafem acyklicznym (DAG) oraz obszernej bibliotece gotowych integracji. Amazon MWAA to zarządzana usługa dla Airflow, która ułatwia uruchamianie Airflow na AWS bez obciążeń operacyjnych związanych z koniecznością zarządzania podstawową infrastrukturą. Dla każdego środowiska Airflow Amazon MWAA tworzy usługę VPC z jednym dzierżawcą, w której znajduje się metabaza danych przechowująca stany oraz serwer WWW zapewniający interfejs użytkownika. Amazon MWAA dodatkowo zarządza instancjami planującymi Airflow i procesami roboczymi w należącej do klienta i zarządzanej przez niego platformie VPC, aby planować i uruchamiać zadania, które wchodzą w interakcję z zasobami klienta. Kontenery Airflow w VPC klienta uzyskują dostęp do zasobów w usłudze VPC za pośrednictwem: Punkt końcowy VPC.
Wiele organizacji decyduje się na to centralnie zarządzają swoimi VPC za pomocą Organizacje AWS, umożliwiając współdzielenie VPC na koncie właściciela z zasobami na innym koncie uczestnika. Ponieważ jednak utworzenie nowej trasy poza VPC jest uważane za operację uprzywilejowaną, konta uczestników nie mogą tworzyć punktów końcowych w VPC właściciela. Co więcej, wielu klientów nie chce rozszerzać uprawnień bezpieczeństwa wymaganych do tworzenia punktów końcowych VPC na wszystkich użytkowników udostępniających środowiska Amazon MWAA. Oprócz punktów końcowych VPC klienci chcą również ograniczyć przesyłanie danych przez Usługa Amazon Simple Queue (Amazon SQS), a dostęp do Amazon SQS jest wymogiem w Architektura Amazon MWAA.
Obsługa współdzielonych VPC dla Amazon MWAA dodaje możliwość zarządzania własnymi punktami końcowymi w ramach VPC, zwiększając kompatybilność z współdzielonymi i w inny sposób ograniczonymi VPC. Określanie punktów końcowych zarządzanych przez klienta zapewnia również możliwość spełnienia rygorystycznych zasad bezpieczeństwa poprzez wyraźne ograniczenie dostępu do zasobów VPC tylko do tych, których potrzebują środowiska Amazon MWAA. W tym poście pokazano, jak punkty końcowe zarządzane przez klienta współpracują z usługą Amazon MWAA, i przedstawiono przykłady automatyzacji udostępniania tych punktów końcowych.
Omówienie rozwiązania
Współdzielona obsługa VPC dla Amazon MWAA umożliwia wielu kontom AWS tworzenie środowisk Airflow we współdzielonych, centralnie zarządzanych VPC. Konto będące właścicielem VPC (właściciel) dzieli dwie prywatne podsieci wymagane przez Amazon MWAA z innymi kontami (uczestnikami) należącymi do tej samej organizacji z organizacji AWS. Po udostępnieniu podsieci uczestnicy mogą przeglądać, tworzyć, modyfikować i usuwać środowiska Amazon MWAA w udostępnionych im podsieciach.
Gdy użytkownicy określą potrzebę współdzielenia lub w inny sposób ograniczonego zasadami VPC podczas tworzenia środowiska, Amazon MWAA najpierw utworzy zasoby VPC usługi, a następnie przejdzie w stan oczekiwania na maksymalnie 72 godziny z Most zdarzeń Amazona powiadomienie o zmianie stanu. Umożliwia to właścicielom tworzenie wymaganych punktów końcowych w imieniu uczestników w oparciu o informacje o usługach punktów końcowych z konsoli Amazon MWAA lub interfejsu API lub programowo za pośrednictwem AWS Lambda funkcję i regułę EventBridge, jak w przykładzie w tym poście.
Po utworzeniu tych punktów końcowych na koncie właściciela usługa punktów końcowych w usłudze Amazon MWAA VPC z jedną dzierżawą wykryje zdarzenie połączenia z punktem końcowym i wznowi tworzenie środowiska. Jeśli wystąpi problem, możesz anulować tworzenie środowiska, usuwając środowisko w stanie oczekiwania.
Ta funkcja umożliwia również usunięcie pliku tworzyć, modyfikować i usuwać uprawnienia VPCE z AWS Zarządzanie tożsamością i dostępem (IAM) tworzący środowiska Amazon MWAA, nawet jeśli nie korzystasz ze współdzielonej VPC, ponieważ zamiast tego to uprawnienie zostanie nałożone na podmiot zabezpieczeń IAM tworzący punkt końcowy (w naszym przykładzie funkcja Lambda). Co więcej, środowisko Amazon MWAA udostępnia kolejkę SQS Amazon Resource Name (ARN) używaną przez moduł Airflow Celery Executor do kolejkowania zadań (kolejka Celery Executor), umożliwiając bezpośrednie wprowadzenie tych zasobów do polityki sieciowej zamiast konieczności podawania bardziej otwarte i uogólnione pozwolenie.
W tym przykładzie tworzymy środowisko VPC i Amazon MWAA na tym samym koncie. W przypadku współdzielonych VPC na różnych kontach na koncie właściciela będzie istniała reguła EventBridge i funkcja Lambda, a na koncie uczestnika zostanie utworzone środowisko Amazon MWAA. Widzieć Wysyłanie i odbieranie zdarzeń Amazon EventBridge pomiędzy kontami AWS po więcej informacji.
Wymagania wstępne
Powinieneś mieć następujące wymagania wstępne:
- Konto AWS
- Użytkownik AWS na tym koncie z uprawnieniami do tworzenia VPC, punktów końcowych VPC i środowisk Amazon MWAA
- An Usługa Amazon Simple Storage (Amazon S3) na tym koncie z folderem o nazwie
dags
Utwórz VPC
Zaczynamy od utworzenia restrykcyjnej sieci VPC za pomocą pliku Tworzenie chmury AWS szablon, w celu symulacji tworzenia niezbędnego punktu końcowego VPC i modyfikowania polityki punktu końcowego SQS. Jeśli chcesz skorzystać z istniejącej platformy VPC, możesz przejść do następnej sekcji.
- Pobierz szablon CloudFormation wymienione w Opcja trzecia: Utworzenie sieci Amazon VPC bez dostępu do Internetu.
- Wyodrębnij plik
cfn-vpc-private-bjs.yml
z pobranego archiwum ZIP. - Teraz edytujemy nasz szablon CloudFormation, aby ograniczyć dostęp do Amazon SQS. W
cfn-vpc-private-bjs.yml
, edytujSqsVpcEndoint
sekcja będzie wyglądać następująco:
Ten dodatkowy wpis w dokumencie zasad zapobiega wyjściu Amazon SQS do jakichkolwiek zasobów, które nie są wyraźnie wymienione.
Teraz możemy stworzyć nasz stos CloudFormation.
- W konsoli AWS CloudFormation wybierz Utwórz stos.
- Wybierz Prześlij plik szablonu.
- Dodaj Wybierz plik.
- Przejdź do zmodyfikowanego pliku.
- Dodaj Następna.
- W razie zamówieenia projektu Nazwa stosu, wchodzić
MWAA-Environment-VPC
. - Dodaj Następna aż dojdziesz do strony z recenzjami.
- Dodaj Prześlij.
Utwórz funkcję Lambda
Mamy dwie możliwości samodzielnego zarządzania naszymi punktami końcowymi: ręczną i zautomatyzowaną. W tym przykładzie tworzymy funkcję Lambda, która odpowiada na powiadomienie Amazon MWAA EventBridge. Możesz także użyć powiadomienia EventBridge, aby wysłać wiadomość Usługa prostego powiadomienia Amazon wiadomość (Amazon SNS), na przykład e-mail, do osoby mającej uprawnienia do ręcznego tworzenia punktu końcowego VPC.
Najpierw tworzymy funkcję Lambda, która będzie odpowiadać na zdarzenie EventBridge, które wyemituje Amazon MWAA.
- Na konsoli Lambda wybierz Utwórz funkcję.
- W razie zamówieenia projektu Imię, wchodzić
mwaa-create-lambda
. - W razie zamówieenia projektu Czas pracywybierz Python 3.11.
- Dodaj Utwórz funkcję.
- W razie zamówieenia projektu Code, W Kod źródłowy sekcja dla
lambda_function
, wprowadź następujący kod: - Dodaj Rozmieścić.
- Na systemu zakładka funkcji Lambda w pliku Ogólna konfiguracja Sekcja, wybierz Edytuj.
- W razie zamówieenia projektu Timeout, zwiększ do 5 minut i 0 sekund.
- Dodaj Zapisz.
- W Uprawnienia sekcja, pod Rola wykonawcza, wybierz nazwę roli, aby edytować uprawnienia tej funkcji.
- W razie zamówieenia projektu Zasady uprawnień, wybierz link poniżej Nazwa polityki.
- Dodaj Edytuj i dodaj przecinek oraz następującą instrukcję:
Kompletna polityka powinna wyglądać podobnie do poniższej:
- Dodaj Następna aż dojdziesz do strony z recenzjami.
- Dodaj Zapisz zmiany.
Utwórz regułę EventBridge
Następnie konfigurujemy EventBridge tak, aby wysyłał powiadomienia Amazon MWAA do naszej funkcji Lambda.
- W konsoli EventBridge wybierz Stwórz zasadę.
- W razie zamówieenia projektu Imię, wpisz mwaa-create.
- Wybierz Reguła z wzorcem zdarzeń.
- Dodaj Następna.
- W razie zamówieenia projektu Metoda tworzeniawybierz Formularz wzorca użytkownika.
- Dodaj Edytuj wzór.
- W razie zamówieenia projektu Wzór zdarzeniawprowadź następujące informacje:
- Dodaj Następna.
- W razie zamówieenia projektu Wybierz celwybierz Funkcja Lambdy.
Możesz także określić powiadomienie SNS, aby otrzymać wiadomość w przypadku zmiany stanu środowiskas.
- W razie zamówieenia projektu Funkcjonowaćwybierz
mwaa-create-lambda
. - Dodaj Następna aż dojdziesz do ostatniej sekcji, a następnie wybierz Stwórz zasadę.
Stwórz środowisko Amazon MWAA
Na koniec tworzymy środowisko Amazon MWAA z punktami końcowymi zarządzanymi przez klienta.
- Na konsoli Amazon MWAA wybierz Stwórz środowisko.
- W razie zamówieenia projektu Imięwprowadź unikalną nazwę swojego środowiska.
- W razie zamówieenia projektu Wersja z przepływem powietrza, wybierz najnowszą wersję Airflow.
- W razie zamówieenia projektu Wiadro S3wybierz Przeglądaj S3 i wybierz segment S3 lub wprowadź identyfikator URI Amazon S3.
- W razie zamówieenia projektu folderze DAGwybierz Przeglądaj S3 i wybierz
dags/
folder w wiadrze S3 lub wprowadź identyfikator URI Amazon S3. - Dodaj Następna.
- W razie zamówieenia projektu Wirtualna chmura prywatna, wybierz utworzoną wcześniej platformę VPC.
- W razie zamówieenia projektu Dostęp do serwera WWWwybierz Sieć publiczna (dostępny Internet).
- W razie zamówieenia projektu Grupy bezpieczeństwa, odznacz Utwórz nową grupę zabezpieczeń.
- Wybierz udostępnioną grupę zabezpieczeń VPC utworzoną na podstawie szablonu CloudFormation.
Ponieważ grupy bezpieczeństwa Prywatny link AWS punkty końcowe z poprzedniego kroku odnoszą się do siebie, musisz wybrać tę samą grupę zabezpieczeń dla swojego środowiska Amazon MWAA.
- W razie zamówieenia projektu Zarządzanie punktami końcowymiwybierz Punkty końcowe zarządzane przez klienta.
- Pozostaw pozostałe ustawienia jako domyślne i wybierz Następna.
- Dodaj Stwórz środowisko.
Gdy środowisko jest dostępne, możesz uzyskać do niego dostęp za pośrednictwem Otwórz interfejs przepływu powietrza link na konsoli Amazon MWAA.
Sprzątać
Czyszczenie zasobów, które nie są aktywnie używane, zmniejsza koszty i jest najlepszą praktyką. Jeśli nie usuniesz swoich zasobów, możesz ponieść dodatkowe opłaty. Aby wyczyścić zasoby, wykonaj następujące kroki:
- Usuń swoje Środowisko Amazon MWAA, Reguła EventBridge, Funkcja Lambdy.
- usunąć Punkty końcowe VPC utworzone przez funkcję Lambda.
- Usuń dowolne grupy zabezpieczeń utworzone, jeśli ma to zastosowanie.
- Po zakończeniu usuwania powyższych zasobów usuń plik Stos CloudFormation aby upewnić się, że usunąłeś wszystkie pozostałe zasoby.
Podsumowanie
W tym poście opisano, jak zautomatyzować tworzenie środowiska dzięki współdzielonej obsłudze VPC w Amazon MWAA. Daje to możliwość zarządzania własnymi punktami końcowymi w ramach VPC, dodając kompatybilność do współdzielonych lub w inny sposób ograniczonych VPC. Określanie punktów końcowych zarządzanych przez klienta zapewnia również możliwość spełnienia rygorystycznych zasad bezpieczeństwa poprzez wyraźne ograniczenie dostępu do zasobów VPC tylko do tych, których potrzebują środowiska Amazon MWAA. Aby dowiedzieć się więcej o Amazon MWAA, zapoznaj się z sekcją Podręcznik użytkownika Amazon MWAA. Więcej postów na temat Amazon MWAA znajdziesz na stronie Strona zasobów Amazon MWAA.
O autorze
Johna Jacksona ma ponad 25-letnie doświadczenie w oprogramowaniu jako programista, architekt systemów i menedżer produktu zarówno w start-upach, jak i dużych korporacjach oraz jest głównym menedżerem produktu AWS odpowiedzialnym za Amazon MWAA.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/big-data/introducing-shared-vpc-support-on-amazon-mwaa/
- :ma
- :Jest
- :nie
- $W GÓRĘ
- 10
- 100
- 11
- 13
- 15%
- 200
- 25
- 41
- 72
- 8
- a
- zdolność
- O nas
- powyżej
- dostęp
- dostępny
- Konto
- Konta
- w poprzek
- Działania
- aktywny
- aktywnie
- acykliczny
- Dodaj
- dodanie
- dodatek
- Dodatkowy
- Dodaje
- Po
- Wszystkie kategorie
- dopuszczać
- dozwolony
- Pozwalać
- pozwala
- już
- również
- Amazonka
- Amazon Web Services
- an
- i
- każdy
- Apache
- api
- zjawić się
- odpowiedni
- Archiwum
- SĄ
- AS
- zautomatyzować
- zautomatyzowane
- automatyzacja
- dostępny
- AWS
- Tworzenie chmury AWS
- na podstawie
- BE
- bo
- rozpocząć
- w imieniu
- jest
- BEST
- pomiędzy
- ciało
- obie
- przerwa
- ciężar
- ale
- by
- nazywa
- CAN
- Może uzyskać
- zmiana
- Zmiany
- Opłaty
- Dodaj
- kleń
- klient
- kod
- COM
- społeczność
- zgodność
- kompletny
- Zakończony
- połączenie
- za
- Konsola
- Pojemniki
- kontekst
- Korporacje
- Koszty:
- mógłby
- Stwórz
- stworzony
- tworzy
- Tworzenie
- tworzenie
- klient
- Klientów
- DZIEŃ
- dane
- Baza danych
- Domyślnie
- wykazać
- demonstruje
- Wdrożenie
- opisać
- opisane
- detal
- wykryć
- Deweloper
- oprogramowania
- różne
- skierowany
- dokument
- robi
- nie
- z powodu
- podczas
- każdy
- Wcześniej
- łatwo
- efekt
- więcej
- Punkt końcowy
- Punkty końcowe
- Inżynierowie
- zapewnić
- Wchodzę
- wejście
- Środowisko
- środowiska
- Eter (ETH)
- Parzyste
- wydarzenie
- wydarzenia
- przykład
- przykłady
- istnieć
- Przede wszystkim system został opracowany
- doświadczenie
- wyraźnie
- rozciągać się
- rozległy
- znajomy
- Cecha
- filet
- filtracja
- finał
- i terminów, a
- następujący
- następujący sposób
- W razie zamówieenia projektu
- znaleziono
- od
- funkcjonować
- dalej
- Ponadto
- otrzymać
- daje
- wykres
- Zarządzanie
- Grupy
- Have
- mający
- gospodarze
- GODZINY
- W jaki sposób
- How To
- Jednak
- HTML
- http
- HTTPS
- IAM
- ID
- tożsamość
- if
- importować
- nałożone
- in
- Informacje
- Informacja
- Infrastruktura
- instancje
- zamiast
- integracje
- interakcji
- Interfejs
- Internet
- najnowszych
- wprowadzenie
- problem
- IT
- JEGO
- jpg
- json
- właśnie
- Klawisz
- duży
- firmy
- prowadzący
- UCZYĆ SIĘ
- Biblioteka
- LINK
- Katalogowany
- zalogowaniu
- Popatrz
- zrobiony
- WYKONUJE
- zarządzanie
- zarządzane
- kierownik
- zarządza
- podręcznik
- ręcznie
- wiele
- Może..
- Poznaj nasz
- wiadomość
- minuty
- zmodyfikowano
- modyfikować
- jeszcze
- wielokrotność
- musi
- Nazwa
- niezbędny
- Potrzebować
- potrzebne
- sieć
- Nowości
- Następny
- powiadomienie
- Powiadomienia
- of
- on
- koncepcja
- open source
- działanie
- operacyjny
- Opcje
- or
- zamówienie
- organizacja
- organizacji
- Inne
- Inaczej
- ludzkiej,
- zewnętrzne
- koniec
- własny
- właściciel
- właściciele
- posiada
- strona
- uczestnik
- Uczestnicy
- Wzór
- w oczekiwaniu
- pozwolenie
- uprawnienia
- plato
- Analiza danych Platona
- PlatoDane
- polityka
- polityka
- Post
- Wiadomości
- praktyka
- warunki wstępne
- zapobiega
- Główny
- prywatny
- uprzywilejowany
- przywileje
- kontynuować
- Produkt
- product manager
- niska zabudowa
- zapewniać
- zapewnia
- że
- Python
- R
- raczej
- dosięgnąć
- otrzymać
- odbieranie
- zmniejsza
- odnosić się
- pozostały
- usunąć
- Usunięto
- wymagany
- wymaganie
- Zasób
- Zasoby
- Odpowiadać
- odpowiedź
- odpowiedzialny
- ograniczać
- ograniczony
- ograniczające
- Restrykcyjne
- Resume
- powrót
- przeglądu
- Rola
- Trasa
- Zasada
- run
- s
- taki sam
- rozkład
- Naukowcy
- sekund
- Sekcja
- bezpieczeństwo
- zasady bezpieczeństwa
- widzieć
- wysłać
- serwer
- usługa
- Usługi
- w panelu ustawień
- shared
- Akcje
- powinien
- podobny
- Prosty
- So
- Tworzenie
- Ktoś
- Źródło
- stos
- Startups
- Stan
- Zestawienie sprzedaży
- Zjednoczone
- Rynek
- Ewolucja krok po kroku
- Cel
- przechowywanie
- sklep
- sklep
- rygorystyczny
- podsieci
- taki
- wsparcie
- systemy
- zadania
- szablon
- niż
- że
- Połączenia
- ich
- Im
- następnie
- Tam.
- to
- tych
- trzy
- do
- narzędzie
- prawdziwy
- drugiej
- rodzaj
- dla
- zasadniczy
- wyjątkowy
- aż do
- aktualizowanie
- URI
- posługiwać się
- używany
- Użytkownik
- Interfejs użytkownika
- Użytkownicy
- za pomocą
- wartość
- Wartości
- wersja
- przez
- Zobacz i wysłuchaj
- Odwiedzić
- chcieć
- we
- sieć
- serwer wWW
- usługi internetowe
- jeśli chodzi o komunikację i motywację
- który
- będzie
- w
- w ciągu
- bez
- Praca
- pracownik
- przepływów pracy
- by
- lat
- ty
- Twój
- zefirnet
- Zamek błyskawiczny