In diesem Beitrag demonstrieren wir die Automatisierung der Bereitstellung von Von Amazon verwaltete Workflows für Apache Airflow (Amazon MWAA) unter Verwendung kundenverwalteter Endpunkte in einer VPC und sorgt für Kompatibilität mit gemeinsam genutzten oder anderweitig eingeschränkten VPCs.
Datenwissenschaftler und Ingenieure haben es geschafft Apache-Luftstrom Ein führendes Open-Source-Tool zum Erstellen von Datenpipelines aufgrund seiner aktiven Open-Source-Community, vertrauter Python-Entwicklung als Directed Asymmetric Graph (DAG)-Workflows und einer umfangreichen Bibliothek vorgefertigter Integrationen. Amazon MWAA ist ein verwalteter Service für Airflow, der es einfach macht, Airflow auf AWS auszuführen, ohne den betrieblichen Aufwand durch die Verwaltung der zugrunde liegenden Infrastruktur. Für jede Airflow-Umgebung erstellt Amazon MWAA eine Single-Tenant-Service-VPC, die die Metadatenbank hostet, in der Zustände gespeichert werden, und den Webserver, der die Benutzeroberfläche bereitstellt. Darüber hinaus verwaltet Amazon MWAA Airflow-Planer- und Worker-Instanzen in einer kundeneigenen und verwalteten VPC, um Aufgaben zu planen und auszuführen, die mit Kundenressourcen interagieren. Diese Airflow-Container in der Kunden-VPC greifen über a auf Ressourcen in der Service-VPC zu VPC-Endpunkt.
Viele Organisationen entscheiden sich dafür ihre VPC zentral verwalten Verwendung von AWS-OrganisationenDadurch kann eine VPC in einem Besitzerkonto mit Ressourcen in einem anderen Teilnehmerkonto geteilt werden. Da das Erstellen einer neuen Route außerhalb einer VPC jedoch als privilegierter Vorgang gilt, können Teilnehmerkonten keine Endpunkte in Eigentümer-VPCs erstellen. Darüber hinaus möchten viele Kunden die zum Erstellen von VPC-Endpunkten erforderlichen Sicherheitsrechte nicht auf alle Benutzer ausweiten, die Amazon MWAA-Umgebungen bereitstellen. Zusätzlich zu VPC-Endpunkten möchten Kunden auch den Datenausgang über einschränken Amazon Simple Queue-Dienst (Amazon SQS)-Warteschlangen und Amazon SQS-Zugriff ist eine Voraussetzung in der Amazon MWAA-Architektur.
Durch die Unterstützung gemeinsam genutzter VPCs für Amazon MWAA können Sie Ihre eigenen Endpunkte innerhalb Ihrer VPCs verwalten und so die Kompatibilität mit gemeinsam genutzten und ansonsten eingeschränkten VPCs erhöhen. Die Angabe kundenverwalteter Endpunkte bietet außerdem die Möglichkeit, strenge Sicherheitsrichtlinien einzuhalten, indem der VPC-Ressourcenzugriff explizit auf diejenigen beschränkt wird, die von Ihren Amazon MWAA-Umgebungen benötigt werden. Dieser Beitrag zeigt, wie vom Kunden verwaltete Endpunkte mit Amazon MWAA funktionieren, und bietet Beispiele dafür, wie die Bereitstellung dieser Endpunkte automatisiert werden kann.
Lösungsüberblick
Durch die Unterstützung gemeinsamer VPCs für Amazon MWAA können mehrere AWS-Konten ihre Airflow-Umgebungen in gemeinsam genutzten, zentral verwalteten VPCs erstellen. Das Konto, dem die VPC gehört (Eigentümer), teilt die beiden von Amazon MWAA benötigten privaten Subnetze mit anderen Konten (Teilnehmern), die derselben Organisation von AWS Organizations angehören. Nachdem die Subnetze freigegeben wurden, können die Teilnehmer Amazon MWAA-Umgebungen in den für sie freigegebenen Subnetzen anzeigen, erstellen, ändern und löschen.
Wenn Benutzer während der Umgebungserstellung die Notwendigkeit einer gemeinsam genutzten oder anderweitig durch Richtlinien eingeschränkten VPC angeben, erstellt Amazon MWAA zunächst die Service-VPC-Ressourcen und wechselt dann mit einem bis zu 72 Stunden lang in den Status „Ausstehend“. Amazon EventBridge Benachrichtigung über die Zustandsänderung. Dadurch können Eigentümer die erforderlichen Endpunkte im Namen der Teilnehmer basierend auf Endpunkt-Serviceinformationen von der Amazon MWAA-Konsole oder -API oder programmgesteuert über eine erstellen AWS Lambda Funktion und EventBridge-Regel, wie im Beispiel in diesem Beitrag.
Nachdem diese Endpunkte auf dem Besitzerkonto erstellt wurden, erkennt der Endpunktdienst in der Einzelmandanten-Amazon MWAA-VPC das Endpunktverbindungsereignis und setzt die Umgebungserstellung fort. Sollte ein Problem auftreten, können Sie die Umgebungserstellung abbrechen, indem Sie die Umgebung in diesem ausstehenden Status löschen.
Mit dieser Funktion können Sie auch das entfernen VPCE-Berechtigungen erstellen, ändern und löschen von dem AWS Identity and Access Management and (IAM)-Prinzipal, der Amazon MWAA-Umgebungen erstellt, auch wenn keine gemeinsam genutzte VPC verwendet wird, da diese Berechtigung stattdessen dem IAM-Prinzipal auferlegt wird, der den Endpunkt erstellt (in unserem Beispiel die Lambda-Funktion). Darüber hinaus stellt die Amazon MWAA-Umgebung den Amazon-Ressourcennamen (ARN) der SQS-Warteschlange bereit, der vom Airflow Celery Executor zum Einreihen von Aufgaben verwendet wird (die Celery Executor-Warteschlange), sodass Sie diese Ressourcen explizit in Ihre Netzwerkrichtlinie eingeben können, anstatt einen bereitzustellen offenere und allgemeinere Erlaubnis.
In diesem Beispiel erstellen wir die VPC- und Amazon MWAA-Umgebung im selben Konto. Für gemeinsam genutzte VPCs über mehrere Konten hinweg wären die EventBridge-Regel und die Lambda-Funktion im Besitzerkonto vorhanden und die Amazon MWAA-Umgebung würde im Teilnehmerkonto erstellt. Sehen Senden und Empfangen von Amazon EventBridge-Ereignissen zwischen AWS-Konten um mehr zu erfahren.
Voraussetzungen:
Folgende Voraussetzungen sollten Sie mitbringen:
- Ein AWS-Konto
- Ein AWS-Benutzer in diesem Konto mit Berechtigungen zum Erstellen von VPCs, VPC-Endpunkten und Amazon MWAA-Umgebungen
- An Amazon Simple Storage-Service (Amazon S3)-Bucket in diesem Konto mit einem Ordner namens
dags
Erstellen Sie die VPC
Wir beginnen mit der Erstellung einer restriktiven VPC mithilfe von AWS CloudFormation Vorlage, um die Erstellung des erforderlichen VPC-Endpunkts und die Änderung der SQS-Endpunktrichtlinie zu simulieren. Wenn Sie eine vorhandene VPC verwenden möchten, können Sie mit dem nächsten Abschnitt fortfahren.
- Laden Sie die CloudFormation-Vorlage herunter referenziert in Option drei: Erstellen eines Amazon VPC-Netzwerks ohne Internetzugang.
- Extrahieren Sie die Datei
cfn-vpc-private-bjs.yml
aus dem heruntergeladenen ZIP-Archiv. - Jetzt bearbeiten wir unsere CloudFormation-Vorlage, um den Zugriff auf Amazon SQS einzuschränken. In
cfn-vpc-private-bjs.yml
, bearbeiten Sie dieSqsVpcEndoint
Abschnitt wie folgt aussehen:
Dieser zusätzliche Richtliniendokumenteintrag verhindert den Amazon SQS-Ausgang zu einer Ressource, die nicht explizit aufgeführt ist.
Jetzt können wir unseren CloudFormation-Stack erstellen.
- Wählen Sie in der AWS CloudFormation-Konsole aus Stapel erstellen.
- Auswählen Laden Sie eine Vorlagendatei hoch.
- Auswählen Datei auswählen.
- Navigieren Sie zu der Datei, die Sie geändert haben.
- Auswählen Weiter.
- Aussichten für Stapelname, eingeben
MWAA-Environment-VPC
. - Auswählen Weiter bis Sie zur Bewertungsseite gelangen.
- Auswählen Absenden.
Erstellen Sie die Lambda-Funktion
Wir haben zwei Möglichkeiten, unsere Endpunkte selbst zu verwalten: manuell und automatisiert. In diesem Beispiel erstellen wir eine Lambda-Funktion, die auf die Amazon MWAA EventBridge-Benachrichtigung reagiert. Sie können auch die EventBridge-Benachrichtigung verwenden, um eine zu senden Amazon Simple Notification Service (Amazon SNS)-Nachricht, z. B. eine E-Mail, an jemanden mit der Berechtigung, den VPC-Endpunkt manuell zu erstellen.
Zuerst erstellen wir eine Lambda-Funktion, um auf das EventBridge-Ereignis zu reagieren, das Amazon MWAA ausgibt.
- Wählen Sie auf der Lambda-Konsole Funktion erstellen.
- Aussichten für Name und Vorname, eingeben
mwaa-create-lambda
. - Aussichten für Laufzeit, wählen Python 3.11.
- Auswählen Funktion erstellen.
- Aussichten für CodeIn der Quellcode Abschnitt, für
lambda_function
Geben Sie den folgenden Code ein: - Auswählen Deploy.
- Auf dem Konfiguration Registerkarte der Lambda-Funktion, in der Allgemeine Konfiguration Wählen Sie im Abschnitt Bearbeiten.
- Aussichten für Timeout, auf 5 Minuten und 0 Sekunden erhöhen.
- Auswählen Speichern.
- Im Berechtigungen Abschnitt, unter Ausführungsrolle, wählen Sie den Rollennamen aus, um die Berechtigungen dieser Funktion zu bearbeiten.
- Aussichten für Berechtigungsrichtlinien, wählen Sie den Link unten Versicherungsname.
- Auswählen Bearbeiten und fügen Sie ein Komma und die folgende Anweisung hinzu:
Die vollständige Richtlinie sollte etwa wie folgt aussehen:
- Auswählen Weiter bis Sie zur Bewertungsseite gelangen.
- Auswählen Speichern Sie die Änderungen.
Erstellen Sie eine EventBridge-Regel
Als Nächstes konfigurieren wir EventBridge so, dass die Amazon MWAA-Benachrichtigungen an unsere Lambda-Funktion gesendet werden.
- Wählen Sie in der EventBridge-Konsole aus Regel erstellen.
- Aussichten für Name und Vorname, geben Sie mwaa-create ein.
- Auswählen Regel mit einem Ereignismuster.
- Auswählen Weiter.
- Aussichten für Erstellungsmethode, wählen Benutzermusterformular.
- Auswählen Muster bearbeiten.
- Aussichten für Ereignismuster, Gebe folgendes ein:
- Auswählen Weiter.
- Aussichten für Wählen Sie ein Ziel aus, wählen Lambda-Funktion.
Sie können auch eine SNS-Benachrichtigung angeben, um eine Nachricht zu erhalten, wenn sich der Umgebungsstatus änderts.
- Aussichten für Funktion, wählen
mwaa-create-lambda
. - Auswählen Weiter bis Sie den letzten Abschnitt erreichen, und wählen Sie dann Regel erstellen.
Erstellen Sie eine Amazon MWAA-Umgebung
Schließlich erstellen wir eine Amazon MWAA-Umgebung mit vom Kunden verwalteten Endpunkten.
- Wählen Sie auf der Amazon MWAA-Konsole Umgebung erstellen.
- Aussichten für Name und VornameGeben Sie einen eindeutigen Namen für Ihre Umgebung ein.
- Aussichten für Airflow-Version, wählen Sie die neueste Airflow-Version.
- Aussichten für S3-Eimer, wählen Durchsuchen Sie S3 und wählen Sie Ihren S3-Bucket aus oder geben Sie den Amazon S3-URI ein.
- Aussichten für DAGs-Ordner, wählen Durchsuchen Sie S3 und wähle das
dags/
Ordner in Ihrem S3-Bucket oder geben Sie den Amazon S3-URI ein. - Auswählen Weiter.
- Aussichten für Virtuelle Private Cloud, wählen Sie die VPC aus, die Sie zuvor erstellt haben.
- Aussichten für Zugriff auf den Webserver, wählen Öffentliches Netzwerk (Internet zugänglich).
- Aussichten für Sicherheitsgruppen, Abwählen Erstellen Sie eine neue Sicherheitsgruppe.
- Wählen Sie die freigegebene VPC-Sicherheitsgruppe aus, die von der CloudFormation-Vorlage erstellt wurde.
Weil die Sicherheitsgruppen der AWS PrivateLink Da die Endpunkte aus dem vorherigen Schritt selbstreferenzierend sind, müssen Sie dieselbe Sicherheitsgruppe für Ihre Amazon MWAA-Umgebung auswählen.
- Aussichten für Endpunktverwaltung, wählen Vom Kunden verwaltete Endpunkte.
- Behalten Sie die restlichen Einstellungen als Standard bei und wählen Sie Weiter.
- Auswählen Umgebung erstellen.
Wenn Ihre Umgebung verfügbar ist, können Sie über darauf zugreifen Öffnen Sie die Airflow-Benutzeroberfläche Link auf der Amazon MWAA-Konsole.
Aufräumen
Die Bereinigung nicht aktiv genutzter Ressourcen senkt die Kosten und ist eine bewährte Vorgehensweise. Wenn Sie Ihre Ressourcen nicht löschen, können zusätzliche Kosten anfallen. Führen Sie die folgenden Schritte aus, um Ihre Ressourcen zu bereinigen:
- Löschen Sie Ihre Amazon MWAA-Umgebung, EventBridge-Regel und Lambda-Funktion.
- Löschen Sie die VPC-Endpunkte erstellt durch die Lambda-Funktion.
- Beliebige löschen Sicherheitsgruppen ggf. erstellt.
- Nachdem die Löschung der oben genannten Ressourcen abgeschlossen ist, löschen Sie die CloudFormation-Stapel um sicherzustellen, dass Sie alle verbleibenden Ressourcen entfernt haben.
Zusammenfassung
In diesem Beitrag wurde beschrieben, wie Sie die Umgebungserstellung mit gemeinsamer VPC-Unterstützung in Amazon MWAA automatisieren. Dies gibt Ihnen die Möglichkeit, Ihre eigenen Endpunkte innerhalb Ihrer VPC zu verwalten und so die Kompatibilität zu gemeinsam genutzten oder anderweitig eingeschränkten VPCs zu erhöhen. Die Angabe kundenverwalteter Endpunkte bietet außerdem die Möglichkeit, strenge Sicherheitsrichtlinien einzuhalten, indem der Zugriff auf VPC-Ressourcen explizit auf diejenigen beschränkt wird, die von ihren Amazon MWAA-Umgebungen benötigt werden. Weitere Informationen zu Amazon MWAA finden Sie im Amazon MWAA-Benutzerhandbuch. Weitere Beiträge zu Amazon MWAA finden Sie unter Amazon MWAA-Ressourcenseite.
Über den Autor
John Jackson verfügt über mehr als 25 Jahre Software-Erfahrung als Entwickler, Systemarchitekt und Produktmanager in Start-ups und großen Unternehmen und ist der Hauptproduktmanager von AWS, der für Amazon MWAA verantwortlich ist.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoData.Network Vertikale generative KI. Motiviere dich selbst. Hier zugreifen.
- PlatoAiStream. Web3-Intelligenz. Wissen verstärkt. Hier zugreifen.
- PlatoESG. Kohlenstoff, CleanTech, Energie, Umwelt, Solar, Abfallwirtschaft. Hier zugreifen.
- PlatoHealth. Informationen zu Biotechnologie und klinischen Studien. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/big-data/introducing-shared-vpc-support-on-amazon-mwaa/
- :hast
- :Ist
- :nicht
- $UP
- 10
- 100
- 11
- 13
- 15%
- 200
- 25
- 41
- 72
- 8
- a
- Fähigkeit
- Über Uns
- oben
- Zugang
- zugänglich
- Konto
- Trading Konten
- über
- Action
- aktiv
- aktiv
- azyklisch
- hinzufügen
- Hinzufügen
- Zusatz
- Zusätzliche
- Fügt
- Nach der
- Alle
- erlauben
- erlaubt
- Zulassen
- erlaubt
- bereits
- ebenfalls
- Amazon
- Amazon Web Services
- an
- und
- jedem
- Apache
- Bienen
- erscheinen
- anwendbar
- Archiv
- SIND
- AS
- automatisieren
- Automatisiert
- automatisieren
- verfügbar
- AWS
- AWS CloudFormation
- basierend
- BE
- weil
- beginnen
- Namen
- Sein
- BESTE
- zwischen
- Körper
- fett
- beide
- Break
- Last
- aber
- by
- namens
- CAN
- Kann bekommen
- Übernehmen
- Änderungen
- Gebühren
- Auswählen
- reinigen
- Auftraggeber
- Code
- COM
- community
- Kompatibilität
- abschließen
- Abgeschlossene Verkäufe
- Verbindung
- betrachtet
- Konsul (Console)
- Behälter
- Kontext
- Konzerne
- Kosten
- könnte
- erstellen
- erstellt
- schafft
- Erstellen
- Schaffung
- Kunde
- Kunden
- TAG
- technische Daten
- Datenbase
- Standard
- zeigen
- zeigt
- Einsatz
- beschreiben
- beschrieben
- Detail
- entdecken
- Entwickler:in / Unternehmen
- Entwicklung
- anders
- gerichtet
- Dokument
- die
- Nicht
- zwei
- im
- jeder
- Früher
- Einfache
- bewirken
- sonst
- Endpunkt
- Endpunkte
- Ingenieure
- gewährleisten
- Enter
- Eintrag
- Arbeitsumfeld
- Umgebungen
- Äther (ETH)
- Sogar
- Event
- Veranstaltungen
- Beispiel
- Beispiele
- existieren
- vorhandenen
- ERFAHRUNGEN
- explizit
- erweitern
- umfangreiche
- vertraut
- Merkmal
- Reichen Sie das
- Filterung
- Finale
- Vorname
- Folgende
- folgt
- Aussichten für
- gefunden
- für
- Funktion
- weiter
- Außerdem
- bekommen
- gibt
- Graph
- Gruppe an
- Gruppen
- Haben
- mit
- Gastgeber
- STUNDEN
- Ultraschall
- Hilfe
- aber
- HTML
- http
- HTTPS
- IAM
- ID
- Identitätsschutz
- if
- importieren
- auferlegten
- in
- Info
- Information
- Infrastruktur
- Instanzen
- beantragen müssen
- Integrationen
- interagieren
- Schnittstelle
- Internet
- in
- Einführung
- Problem
- IT
- SEINE
- jpg
- JSON
- nur
- Wesentliche
- grosse
- neueste
- führenden
- LERNEN
- Bibliothek
- LINK
- Gelistet
- Protokollierung
- aussehen
- gemacht
- MACHT
- verwalten
- verwaltet
- Manager
- Managed
- manuell
- manuell
- viele
- Kann..
- Triff
- Nachricht
- Minuten
- geändert
- ändern
- mehr
- mehrere
- sollen
- Name
- notwendig,
- Need
- erforderlich
- Netzwerk
- Neu
- weiter
- Benachrichtigung
- Benachrichtigungen
- of
- on
- XNUMXh geöffnet
- Open-Source-
- Betrieb
- Betriebs-
- Optionen
- or
- Auftrag
- Organisation
- Organisationen
- Andere
- Andernfalls
- UNSERE
- aussen
- übrig
- besitzen
- Eigentümer
- Besitzer
- Besitzt
- Seite
- Teilnehmer
- Teilnehmer
- Schnittmuster
- schwebend
- Erlaubnis
- Berechtigungen
- Plato
- Datenintelligenz von Plato
- PlatoData
- Politik durchzulesen
- Datenschutzrichtlinien
- Post
- BLOG-POSTS
- Praxis
- Voraussetzungen
- verhindert
- Principal
- privat
- privilegiert
- Privilegien
- vorgehen
- Produkt
- Produkt-Manager
- immobilien
- die
- bietet
- Bereitstellung
- Python
- R
- lieber
- erreichen
- erhalten
- Empfang
- reduziert
- siehe
- verbleibenden
- entfernen
- Entfernt
- falls angefordert
- Anforderung
- Ressourcen
- Downloads
- Reagieren
- Antwort
- für ihren Verlust verantwortlich.
- eine Beschränkung
- eingeschränkt
- einschränkend
- Restriktiv
- fortsetzen
- Rückkehr
- Überprüfen
- Rollen
- Straße
- Regel
- Führen Sie
- s
- gleich
- Zeitplan
- Wissenschaftler
- Sekunden
- Abschnitt
- Sicherheitdienst
- Sicherheitsrichtlinien
- sehen
- senden
- Server
- Lösungen
- Einstellungen
- von Locals geführtes
- Shares
- sollte
- ähnlich
- Einfacher
- So
- Software
- Jemand,
- Quelle
- Stapel
- Startups
- Bundesstaat
- Erklärung
- Staaten
- Status
- Schritt
- Shritte
- Lagerung
- speichern
- Läden
- streng
- Subnetze
- so
- Support
- Systeme und Techniken
- und Aufgaben
- Vorlage
- als
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- ihr
- Sie
- dann
- Dort.
- fehlen uns die Worte.
- diejenigen
- nach drei
- zu
- Werkzeug
- was immer dies auch sein sollte.
- XNUMX
- tippe
- für
- zugrunde liegen,
- einzigartiges
- bis
- Aktualisierung
- URI
- -
- benutzt
- Mitglied
- Benutzerschnittstelle
- Nutzer
- Verwendung von
- Wert
- Werte
- Version
- Anzeigen
- Besuchen Sie
- wollen
- we
- Netz
- Web-Server
- Web-Services
- wann
- welche
- werden wir
- mit
- .
- ohne
- Arbeiten
- Arbeiter
- Workflows
- würde
- Jahr
- U
- Ihr
- Zephyrnet
- PLZ