În această postare, demonstrăm automatizarea implementării Fluxuri de lucru gestionate de Amazon pentru Apache Airflow (Amazon MWAA) folosind puncte finale gestionate de client într-un VPC, oferind compatibilitate cu VPC-uri partajate sau restricționate în alt mod.
Oamenii de știință și inginerii de date au făcut Flux de aer Apache un instrument open source de top pentru a crea conducte de date datorită comunității sale active open source, dezvoltării familiare Python ca fluxuri de lucru Directed Acyclic Graph (DAG) și bibliotecii extinse de integrări pre-construite. Amazon MWAA este un serviciu gestionat pentru Airflow care facilitează rularea Airflow pe AWS fără sarcina operațională de a gestiona infrastructura de bază. Pentru fiecare mediu Airflow, Amazon MWAA creează un serviciu VPC cu un singur locatar, care găzduiește metabase de date care stochează stările și serverul web care oferă interfața cu utilizatorul. Amazon MWAA gestionează în continuare planificatorul Airflow și instanțe de lucrător într-un VPC deținut și gestionat de client, pentru a programa și rula sarcini care interacționează cu resursele clienților. Acele containere Airflow din VPC-ul clientului accesează resursele din VPC-ul de serviciu prin a Punct final VPC.
Multe organizații aleg să își gestioneze central VPC-ul folosind Organizații AWS, permițând ca un VPC dintr-un cont de proprietar să fie partajat cu resurse dintr-un alt cont de participant. Cu toate acestea, deoarece crearea unei rute noi în afara unui VPC este considerată o operațiune privilegiată, conturile de participant nu pot crea puncte finale în VPC-urile proprietare. În plus, mulți clienți nu doresc să extindă privilegiile de securitate necesare pentru a crea puncte terminale VPC la toți utilizatorii care furnizează medii Amazon MWAA. Pe lângă punctele finale VPC, clienții doresc, de asemenea, să restricționeze ieșirea datelor prin intermediul Serviciul de coadă simplă Amazon (Amazon SQS) și accesul Amazon SQS este o cerință în Arhitectura Amazon MWAA.
Suportul VPC partajat pentru Amazon MWAA adaugă posibilitatea de a vă gestiona propriile puncte finale în VPC-urile dvs., adăugând compatibilitate la VPC-urile partajate și restricționate în alt mod. Specificarea punctelor finale gestionate de client oferă, de asemenea, capacitatea de a respecta politici stricte de securitate prin restricționarea explicită a accesului la resursele VPC doar la cele necesare mediilor dvs. Amazon MWAA. Această postare demonstrează modul în care punctele finale gestionate de client funcționează cu Amazon MWAA și oferă exemple despre cum să automatizezi furnizarea acestor puncte finale.
Prezentare generală a soluțiilor
Suportul VPC partajat pentru Amazon MWAA permite mai multor conturi AWS să-și creeze mediile Airflow în VPC-uri partajate, gestionate central. Contul care deține VPC-ul (proprietar) partajează cele două subrețele private cerute de Amazon MWAA cu alte conturi (participanți) care aparțin aceleiași organizații de la AWS Organizations. După ce subrețelele sunt partajate, participanții pot vizualiza, crea, modifica și șterge mediile Amazon MWAA din subrețelele partajate cu ei.
Atunci când utilizatorii specifică necesitatea unui VPC partajat sau restricționat de politică în timpul creării mediului, Amazon MWAA va crea mai întâi resursele VPC de serviciu, apoi va intra într-o stare de așteptare de până la 72 de ore, cu un Amazon EventBridge notificarea schimbării de stare. Acest lucru permite proprietarilor să creeze punctele finale necesare în numele participanților pe baza informațiilor despre serviciul punctului final din consola Amazon MWAA sau API-ul sau în mod programatic printr-un AWS Lambdas funcția și regula EventBridge, ca în exemplul din această postare.
După ce acele puncte finale sunt create în contul de proprietar, serviciul punctului final din Amazon MWAA VPC cu un singur locatar va detecta evenimentul de conectare la punctul final și va relua crearea mediului. Dacă există o problemă, puteți anula crearea mediului ștergând mediul în timpul acestei stări de așteptare.
Această caracteristică vă permite, de asemenea, să eliminați creați, modificați și ștergeți privilegii VPCE de la Gestionarea identității și accesului AWS (IAM) principalul care creează medii Amazon MWAA, chiar și atunci când nu se utilizează un VPC partajat, deoarece această permisiune va fi impusă principalului IAM care creează punctul final (funcția Lambda din exemplul nostru). În plus, mediul Amazon MWAA va furniza coada SQS Nume resurse Amazon (ARN) utilizată de Airflow Celery Executor pentru a pune în coadă sarcinile (Coada Celery Executor), permițându-vă să introduceți în mod explicit acele resurse în politica de rețea, mai degrabă decât să trebuiască să furnizați o permisiunea mai deschisă și generalizată.
În acest exemplu, creăm mediul VPC și Amazon MWAA în același cont. Pentru VPC-urile partajate între conturi, regula EventBridge și funcția Lambda ar exista în contul de proprietar, iar mediul Amazon MWAA ar fi creat în contul de participant. Vedea Trimiterea și primirea evenimentelor Amazon EventBridge între conturile AWS pentru mai multe informatii.
Cerințe preliminare
Ar trebui să aveți următoarele condiții preliminare:
- Un cont AWS
- Un utilizator AWS în acel cont, cu permisiuni de a crea VPC-uri, puncte finale VPC și medii Amazon MWAA
- An Serviciul Amazon de stocare simplă (Amazon S3) în acel cont, cu un folder numit
dags
Creați VPC-ul
Începem prin a crea un VPC restrictiv folosind un Formarea AWS Cloud șablon, pentru a simula crearea punctului final VPC necesar și modificarea politicii punctului final SQS. Dacă doriți să utilizați un VPC existent, puteți trece la secțiunea următoare.
- Download the CloudFormation template referit în Option three: Creating an Amazon VPC network without Internet access.
- Extrageți fișierul
cfn-vpc-private-bjs.yml
from the downloaded ZIP archive. - Acum edităm șablonul CloudFormation pentru a restricționa accesul la Amazon SQS. În
cfn-vpc-private-bjs.yml
, editațiSqsVpcEndoint
secțiunea să apară după cum urmează:
Această intrare suplimentară în documentul politicii împiedică ieșirea Amazon SQS către orice resursă care nu este listată în mod explicit.
Acum putem crea stiva noastră CloudFormation.
- În consola AWS CloudFormation, alegeți Creați stivă.
- Selectați Încărcați un fișier șablon.
- Alege Alegeți fișierul.
- Navigați la fișierul pe care l-ați modificat.
- Alege Pagina Următoare →.
- Pentru Numele stivei, introduce
MWAA-Environment-VPC
. - Alege Pagina Următoare → până ajungi la pagina de recenzii.
- Alege Trimite mesaj.
Creați funcția Lambda
Avem două opțiuni pentru auto-gestionarea punctelor finale: manual și automat. În acest exemplu, creăm o funcție Lambda care răspunde la notificarea Amazon MWAA EventBridge. De asemenea, puteți utiliza notificarea EventBridge pentru a trimite o Serviciul de notificare simplă Amazon (Amazon SNS), cum ar fi un e-mail, către cineva cu permisiunea de a crea manual punctul final VPC.
În primul rând, creăm o funcție Lambda pentru a răspunde la evenimentul EventBridge pe care Amazon MWAA îl va emite.
- În consola Lambda, alegeți Funcție Creare.
- Pentru Nume si Prenume, introduce
mwaa-create-lambda
. - Pentru Runtime, alege Python 3.11.
- Alege Funcție Creare.
- Pentru Cod, În Cod sursa secțiune, pt
lambda_function
, introduceți următorul cod: - Alege Lansa.
- Pe Configuraţie fila funcției Lambda, în Configurație generală secțiune, pentru a alege Editati.
- Pentru Pauză, crește la 5 minute, 0 secunde.
- Alege Economisiți.
- În Permisiuni secțiune, sub Rolul de execuție, alegeți numele rolului pentru a edita permisiunile acestei funcții.
- Pentru Politici de permisiuni, alege linkul de mai jos Numele politicii.
- Alege Editati și adăugați o virgulă și următoarea afirmație:
Politica completă ar trebui să arate similar cu următorul:
- Alege Pagina Următoare → până ajungi la pagina de recenzii.
- Alege Salvează modificările.
Creați o regulă EventBridge
Apoi, configurăm EventBridge să trimită notificări Amazon MWAA către funcția noastră Lambda.
- Pe consola EventBridge, alegeți Creați o regulă.
- Pentru Nume si Prenume, introduceți mwaa-create.
- Selectați Regulă cu un model de eveniment.
- Alege Pagina Următoare →.
- Pentru Metoda de creare, alege Formular de model de utilizator.
- Alege Editați modelul.
- Pentru Modelul evenimentului, introduceți următoarele:
- Alege Pagina Următoare →.
- Pentru Selectați o țintă, alege Funcția lambda.
De asemenea, puteți specifica o notificare SNS pentru a primi un mesaj atunci când starea mediului se schimbăs.
- Pentru Funcţie, alege
mwaa-create-lambda
. - Alege Pagina Următoare → până când ajungeți la secțiunea finală, apoi alegeți Creați o regulă.
Creați un mediu Amazon MWAA
În cele din urmă, creăm un mediu Amazon MWAA cu puncte finale gestionate de client.
- Pe consola Amazon MWAA, alegeți Creați mediu.
- Pentru Nume si Prenume, introduceți un nume unic pentru mediul dvs.
- Pentru Versiunea cu flux de aer, alege cea mai recentă versiune Airflow.
- Pentru Găleată S3, alege Răsfoiți S3 și alegeți bucket-ul dvs. S3 sau introduceți URI-ul Amazon S3.
- Pentru Dosarul DAGs, alege Răsfoiți S3 și alegeți
dags/
folderul din compartimentul S3 sau introduceți URI-ul Amazon S3. - Alege Pagina Următoare →.
- Pentru Cloud privat virtual, alegeți VPC-ul creat mai devreme.
- Pentru Acces la server web, alege Rețea publică (accesibil la internet).
- Pentru Grupuri de securitate, deselectați Creați un nou grup de securitate.
- Alegeți grupul de securitate VPC partajat creat de șablonul CloudFormation.
Deoarece grupurile de securitate ale AWS PrivateLink punctele finale de la pasul anterior sunt auto-referințe, trebuie să alegeți același grup de securitate pentru mediul dvs. Amazon MWAA.
- Pentru Managementul punctelor finale, alege Puncte finale gestionate de client.
- Păstrați setările rămase ca implicite și alegeți Pagina Următoare →.
- Alege Creați mediu.
Când mediul dvs. este disponibil, îl puteți accesa prin intermediul Deschideți interfața de utilizare a fluxului de aer link pe consola Amazon MWAA.
A curăța
Curățarea resurselor care nu sunt utilizate în mod activ reduce costurile și este o bună practică. Dacă nu vă ștergeți resursele, puteți suporta taxe suplimentare. Pentru a vă curăța resursele, parcurgeți următorii pași:
- Ștergeți-vă Mediul Amazon MWAA, Regula EventBridge, și Funcția lambda.
- Ștergeți Puncte finale VPC creat de funcția Lambda.
- Ștergeți oricare grupuri de securitate creat, dacă este cazul.
- După ce resursele de mai sus au finalizat ștergerea, ștergeți Stiva CloudFormation pentru a vă asigura că ați eliminat toate resursele rămase.
Rezumat
Această postare a descris cum să automatizați crearea mediului cu suport VPC partajat în Amazon MWAA. Acest lucru vă oferă posibilitatea de a vă gestiona propriile puncte finale în VPC-urile dvs., adăugând compatibilitate la VPC-urile partajate sau restricționate în alt mod. Specificarea punctelor finale gestionate de client oferă, de asemenea, capacitatea de a îndeplini politici stricte de securitate prin restricționarea explicită a accesului la resursele VPC doar la cele necesare mediilor lor Amazon MWAA. Pentru a afla mai multe despre Amazon MWAA, consultați Ghidul utilizatorului Amazon MWAA. Pentru mai multe postări despre Amazon MWAA, vizitați Pagina de resurse Amazon MWAA.
Despre autor
John Jackson are peste 25 de ani de experiență de software ca dezvoltator, arhitect de sisteme și manager de produs atât în startup-uri, cât și în corporații mari și este AWS Principal Product Manager responsabil pentru Amazon MWAA.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/big-data/introducing-shared-vpc-support-on-amazon-mwaa/
- :are
- :este
- :nu
- $UP
- 10
- 100
- 11
- 13
- 15%
- 200
- 25
- 41
- 72
- 8
- a
- capacitate
- Despre Noi
- mai sus
- acces
- accesibil
- Cont
- Conturi
- peste
- Acțiune
- activ
- activ
- aciclic
- adăuga
- adăugare
- plus
- Suplimentar
- Adaugă
- După
- TOATE
- permite
- permis
- Permiterea
- permite
- deja
- de asemenea
- Amazon
- Amazon Web Services
- an
- și
- Orice
- Apache
- api
- apărea
- aplicabil
- arhivă
- SUNT
- AS
- automatizarea
- Automata
- automatizarea
- disponibil
- AWS
- Formarea AWS Cloud
- bazat
- BE
- deoarece
- începe
- folosul
- fiind
- CEL MAI BUN
- între
- corp
- atât
- Pauză
- povară
- dar
- by
- denumit
- CAN
- Poate obține
- Schimbare
- Modificări
- taxe
- Alege
- curat
- client
- cod
- COM
- comunitate
- compatibilitate
- Completă
- Terminat
- conexiune
- luate în considerare
- Consoleze
- Containere
- context
- Corporații
- Cheltuieli
- ar putea
- crea
- a creat
- creează
- Crearea
- creaţie
- client
- clienţii care
- DAG
- de date
- Baza de date
- Mod implicit
- demonstra
- demonstrează
- desfășurarea
- descrie
- descris
- detaliu
- detecta
- Dezvoltator
- Dezvoltare
- diferit
- dirijat
- document
- face
- Dont
- două
- în timpul
- fiecare
- Mai devreme
- uşor
- efect
- altfel
- Punct final
- Obiective
- inginerii
- asigura
- Intrați
- intrare
- Mediu inconjurator
- medii
- Eter (ETH)
- Chiar
- eveniment
- evenimente
- exemplu
- exemple
- exista
- existent
- experienţă
- explicit
- extinde
- extensiv
- familiar
- Caracteristică
- Fișier
- filtrare
- final
- First
- următor
- urmează
- Pentru
- găsit
- din
- funcţie
- mai mult
- În plus
- obține
- oferă
- grafic
- grup
- Grupului
- Avea
- având în
- Gazdele
- ORE
- Cum
- Cum Pentru a
- Totuși
- HTML
- http
- HTTPS
- IAM
- ID
- Identitate
- if
- import
- impusă
- in
- info
- informații
- Infrastructură
- cazuri
- in schimb
- integrările
- interacţiona
- interfaţă
- Internet
- în
- introducerea
- problema
- IT
- ESTE
- jpg
- JSON
- doar
- Cheie
- mare
- Ultimele
- conducere
- AFLAȚI
- Bibliotecă
- LINK
- listat
- logare
- Uite
- făcut
- FACE
- administra
- gestionate
- manager
- gestionează
- manual
- manual
- multe
- Mai..
- Întâlni
- mesaj
- minute
- modificată
- modifica
- mai mult
- multiplu
- trebuie sa
- nume
- necesar
- Nevoie
- necesar
- reţea
- Nou
- următor
- notificare
- notificări
- of
- on
- deschide
- open-source
- operaţie
- operațional
- Opţiuni
- or
- comandă
- organizație
- organizații
- Altele
- in caz contrar
- al nostru
- exterior
- peste
- propriu
- proprietar
- Proprietarii
- deține
- pagină
- participant
- participanţi
- Model
- în așteptarea
- permisiune
- permisiuni
- Plato
- Informații despre date Platon
- PlatoData
- Politicile
- Politica
- Post
- postări
- practică
- premise
- previne
- Principal
- privat
- privilegiat
- privilegii
- continua
- Produs
- manager de produs
- proprietăţi
- furniza
- furnizează
- furnizarea
- Piton
- R
- mai degraba
- ajunge
- a primi
- primire
- reduce
- trimite
- rămas
- scoate
- îndepărtat
- necesar
- cerință
- resursă
- Resurse
- Răspunde
- răspuns
- responsabil
- restrânge
- limitat
- restricționarea
- restrictiv
- relua
- reveni
- revizuiască
- Rol
- Traseul
- Regula
- Alerga
- s
- acelaşi
- programa
- oamenii de stiinta
- secunde
- Secțiune
- securitate
- politicile de securitate
- vedea
- trimite
- serverul
- serviciu
- Servicii
- setări
- comun
- Acțiuni
- să
- asemănător
- simplu
- So
- Software
- Cineva
- Sursă
- stivui
- Startup-urile
- Stat
- Declarație
- Statele
- Stare
- Pas
- paşi
- depozitare
- stoca
- magazine
- strict
- subrețele
- astfel de
- a sustine
- sisteme
- sarcini
- șablon
- decât
- acea
- lor
- Lor
- apoi
- Acolo.
- acest
- aceste
- trei
- la
- instrument
- adevărat
- Două
- tip
- în
- care stau la baza
- unic
- până la
- actualizarea
- URI
- utilizare
- utilizat
- Utilizator
- User Interface
- utilizatorii
- folosind
- valoare
- Valori
- versiune
- de
- Vizualizare
- Vizita
- vrea
- we
- web
- server de web
- servicii web
- cand
- care
- voi
- cu
- în
- fără
- Apartamente
- lucrător
- fluxuri de lucru
- ar
- ani
- tu
- Ta
- zephyrnet
- Zip