In dit bericht demonstreren we het automatiseren van de implementatie van Door Amazon beheerde workflows voor Apache Airflow (Amazon MWAA) maakt gebruik van door de klant beheerde eindpunten in een VPC, waardoor compatibiliteit wordt geboden met gedeelde of anderszins beperkte VPC's.
Datawetenschappers en ingenieurs hebben gemaakt Apache-luchtstroom een toonaangevende open source-tool om datapijplijnen te creëren dankzij de actieve open source-gemeenschap, vertrouwde Python-ontwikkeling als Directed Acyclic Graph (DAG)-workflows en uitgebreide bibliotheek met vooraf gebouwde integraties. Amazon MWAA is een beheerde service voor Airflow die het eenvoudig maakt om Airflow op AWS uit te voeren zonder de operationele last van het beheer van de onderliggende infrastructuur. Voor elke Airflow-omgeving creëert Amazon MWAA een single-tenant service-VPC, die de metadatabase host die statussen opslaat en de webserver die de gebruikersinterface levert. Amazon MWAA beheert verder de Airflow-planner en werkinstanties in een VPC die eigendom is van de klant en wordt beheerd, om taken te plannen en uit te voeren die interactie hebben met de bronnen van de klant. Deze Airflow-containers in de VPC van de klant hebben toegang tot bronnen in de service-VPC via een VPC-eindpunt.
Veel organisaties kiezen ervoor hun VPC centraal beheren gebruik AWS-organisaties, waardoor een VPC in een eigenaarsaccount kan worden gedeeld met bronnen in een ander deelnemersaccount. Omdat het maken van een nieuwe route buiten een VPC echter als een bevoorrechte bewerking wordt beschouwd, kunnen deelnemersaccounts geen eindpunten maken in eigenaar-VPC's. Bovendien willen veel klanten de beveiligingsrechten die nodig zijn om VPC-eindpunten te creëren niet uitbreiden naar alle gebruikers die Amazon MWAA-omgevingen inrichten. Naast VPC-eindpunten willen klanten ook de uitgaande gegevensoverdracht beperken Amazon Simple Queue-service (Amazon SQS)-wachtrijen en Amazon SQS-toegang is een vereiste in de Amazon MWAA-architectuur.
Gedeelde VPC-ondersteuning voor Amazon MWAA biedt u de mogelijkheid om uw eigen eindpunten binnen uw VPC's te beheren, waardoor compatibiliteit met gedeelde en anderszins beperkte VPC's wordt toegevoegd. Het specificeren van door de klant beheerde eindpunten biedt ook de mogelijkheid om aan een strikt beveiligingsbeleid te voldoen door de toegang tot VPC-bronnen expliciet te beperken tot alleen de toegang die nodig is voor uw Amazon MWAA-omgevingen. Dit bericht laat zien hoe door de klant beheerde eindpunten werken met Amazon MWAA en geeft voorbeelden van hoe u de inrichting van die eindpunten kunt automatiseren.
Overzicht oplossingen
Dankzij gedeelde VPC-ondersteuning voor Amazon MWAA kunnen meerdere AWS-accounts hun Airflow-omgevingen creëren in gedeelde, centraal beheerde VPC's. Het account dat eigenaar is van de VPC (eigenaar) deelt de twee privé-subnetten die Amazon MWAA nodig heeft met andere accounts (deelnemers) die tot dezelfde organisatie behoren van AWS-organisaties. Nadat de subnetten zijn gedeeld, kunnen de deelnemers Amazon MWAA-omgevingen bekijken, creëren, wijzigen en verwijderen in de subnetten die met hen worden gedeeld.
Wanneer gebruikers tijdens het maken van de omgeving de behoefte aan een gedeelde of anderszins door beleid beperkte VPC specificeren, zal Amazon MWAA eerst de service-VPC-bronnen aanmaken en vervolgens gedurende maximaal 72 uur in de status 'in behandeling' gaan, met een Amazon EventBridge kennisgeving van de staatswijziging. Hierdoor kunnen eigenaren namens deelnemers de vereiste eindpunten creëren op basis van eindpuntservice-informatie van de Amazon MWAA-console of API, of programmatisch via een AWS Lambda functie en EventBridge-regel, zoals in het voorbeeld in dit bericht.
Nadat deze eindpunten zijn aangemaakt op het eigenaarsaccount, zal de eindpuntservice in de single-tenant Amazon MWAA VPC de eindpuntverbindingsgebeurtenis detecteren en het maken van de omgeving hervatten. Mocht er zich een probleem voordoen, dan kunt u het maken van de omgeving annuleren door de omgeving tijdens deze status in behandeling te verwijderen.
Met deze functie kunt u ook de VPCE-rechten aanmaken, wijzigen en verwijderen van het AWS Identiteits- en toegangsbeheer (IAM)-principal die Amazon MWAA-omgevingen maakt, zelfs als er geen gedeelde VPC wordt gebruikt, omdat die toestemming in plaats daarvan wordt opgelegd aan de IAM-principal die het eindpunt maakt (de Lambda-functie in ons voorbeeld). Bovendien zal de Amazon MWAA-omgeving de SQS-wachtrij Amazon Resource Name (ARN) leveren die door de Airflow Celery Executor wordt gebruikt om taken in de wachtrij te plaatsen (de Celery Executor Queue), waardoor u deze bronnen expliciet in uw netwerkbeleid kunt invoeren in plaats van dat u een meer open en algemene toestemming.
In dit voorbeeld creëren we de VPC- en Amazon MWAA-omgeving in hetzelfde account. Voor gedeelde VPC's tussen accounts zouden de EventBridge-regel en Lambda-functie aanwezig zijn in het eigenaarsaccount, en zou de Amazon MWAA-omgeving worden gecreëerd in het deelnemersaccount. Zien Verzenden en ontvangen van Amazon EventBridge-gebeurtenissen tussen AWS-accounts voor meer informatie.
Voorwaarden
U moet de volgende vereisten hebben:
- Een AWS-account
- Een AWS-gebruiker in dat account, met machtigingen om VPC's, VPC-eindpunten en Amazon MWAA-omgevingen te maken
- An Amazon eenvoudige opslagservice (Amazon S3) bucket in dat account, met een map genaamd
dags
Maak de VPC
We beginnen met het maken van een beperkende VPC met behulp van een AWS CloudFormatie sjabloon, om het creëren van het benodigde VPC-eindpunt en het wijzigen van het SQS-eindpuntbeleid te simuleren. Als u een bestaande VPC wilt gebruiken, kunt u doorgaan naar de volgende sectie.
- Download het CloudFormation-sjabloon waarnaar wordt verwezen in Optie drie: Een Amazon VPC-netwerk creëren zonder internettoegang.
- Pak het bestand uit
cfn-vpc-private-bjs.yml
uit het gedownloade ZIP-archief. - Nu bewerken we onze CloudFormation-sjabloon om de toegang tot Amazon SQS te beperken. In
cfn-vpc-private-bjs.yml
, bewerk deSqsVpcEndoint
sectie als volgt verschijnen:
Deze aanvullende beleidsdocumentinvoer verhindert Amazon SQS-uitgaan naar bronnen die niet expliciet worden vermeld.
Nu kunnen we onze CloudFormation-stack maken.
- Kies op de AWS CloudFormation-console Maak een stapel.
- kies Upload een sjabloonbestand.
- Kies Kies bestand.
- Blader naar het bestand dat u hebt gewijzigd.
- Kies Volgende.
- Voor Stack naam, ga naar binnen
MWAA-Environment-VPC
. - Kies Volgende totdat u de beoordelingspagina bereikt.
- Kies Verzenden.
De Lambda-functie maken
We hebben twee opties om onze eindpunten zelf te beheren: handmatig en geautomatiseerd. In dit voorbeeld maken we een Lambda-functie die reageert op de Amazon MWAA EventBridge-melding. Je kunt de EventBridge-melding ook gebruiken om een bericht te sturen Amazon eenvoudige meldingsservice (Amazon SNS)-bericht, zoals een e-mail, naar iemand met toestemming om het VPC-eindpunt handmatig te maken.
Eerst maken we een Lambda-functie om te reageren op de EventBridge-gebeurtenis die Amazon MWAA zal uitzenden.
- Kies op de Lambda-console Maak functie.
- Voor Naam, ga naar binnen
mwaa-create-lambda
. - Voor Runtime, kiezen Python 3.11.
- Kies Maak functie.
- Voor Code, in de Broncode sectie, voor
lambda_function
, voer de volgende code in: - Kies Implementeren.
- Op de Configuratie tabblad van de Lambda-functie, in de Algemene configuratie sectie, kies Edit.
- Voor Timeout, verhogen naar 5 minuten, 0 seconden.
- Kies Bespaar.
- In het machtigingen sectie, onder Uitvoeringsrol, kies de rolnaam om de rechten van deze functie te bewerken.
- Voor Toestemmingsbeleid, kies de link hieronder Beleidsnaam.
- Kies Edit en voeg een komma en de volgende verklaring toe:
Het volledige beleid moet er ongeveer als volgt uitzien:
- Kies Volgende totdat u de beoordelingspagina bereikt.
- Kies Wijzigingen opslaan.
Maak een EventBridge-regel
Vervolgens configureren we EventBridge om de Amazon MWAA-meldingen naar onze Lambda-functie te sturen.
- Kies op de EventBridge-console Creëer regel.
- Voor Naam, voer mwaa-create in.
- kies Regel met een gebeurtenispatroon.
- Kies Volgende.
- Voor Creatie methode, kiezen Gebruikerspatroonformulier.
- Kies Patroon bewerken.
- Voor Gebeurtenis patroon, Vul het volgende in:
- Kies Volgende.
- Voor Selecteer een doel, kiezen Lambda-functie.
U kunt ook een SNS-melding opgeven, zodat u een bericht ontvangt wanneer de omgevingsstatus veranderts.
- Voor Functie, kiezen
mwaa-create-lambda
. - Kies Volgende totdat je het laatste gedeelte bereikt, en kies dan Creëer regel.
Creëer een Amazon MWAA-omgeving
Ten slotte creëren we een Amazon MWAA-omgeving met door de klant beheerde eindpunten.
- Kies op de Amazon MWAA-console: Creëer omgeving.
- Voor NaamVoer een unieke naam in voor uw omgeving.
- Voor Luchtstroomversie, kies de nieuwste Airflow-versie.
- Voor S3 emmer, kiezen Blader door S3 en kies uw S3-bucket, of voer de Amazon S3-URI in.
- Voor DAG's map, kiezen Blader door S3 En kies de
dags/
map in uw S3-bucket of voer de Amazon S3-URI in. - Kies Volgende.
- Voor Virtuele privécloud, kies de VPC die u eerder hebt gemaakt.
- Voor Toegang tot webserver, kiezen Openbaar netwerk (internet toegankelijk).
- Voor Beveiligingsgroepen, deselecteren Maak een nieuwe beveiligingsgroep.
- Kies de gedeelde VPC-beveiligingsgroep die is gemaakt door de CloudFormation-sjabloon.
Omdat de beveiligingsgroepen van de AWS PrivéLink eindpunten uit de eerdere stap naar zichzelf verwijzen, moet u dezelfde beveiligingsgroep kiezen voor uw Amazon MWAA-omgeving.
- Voor Eindpuntbeheer, kiezen Door de klant beheerde eindpunten.
- Houd de overige instellingen als standaard en kies Volgende.
- Kies Creëer omgeving.
Wanneer uw omgeving beschikbaar is, kunt u deze benaderen via de Open de luchtstroom-UI link op de Amazon MWAA-console.
Opruimen
Het opruimen van hulpbronnen die niet actief worden gebruikt, verlaagt de kosten en is een best practice. Als u uw bronnen niet verwijdert, kunnen er extra kosten in rekening worden gebracht. Voer de volgende stappen uit om uw bronnen op te schonen:
- Verwijder je Amazon MWAA-omgeving, EventBridge-regel en Lambda-functie.
- Verwijder de VPC-eindpunten gemaakt door de Lambda-functie.
- Verwijder elke beveiligingsgroepen aangemaakt, indien van toepassing.
- Nadat de bovenstaande bronnen zijn verwijderd, verwijdert u het CloudFormation-stapel om ervoor te zorgen dat u alle resterende bronnen hebt verwijderd.
Samengevat
In dit bericht wordt beschreven hoe je het maken van een omgeving kunt automatiseren met gedeelde VPC-ondersteuning in Amazon MWAA. Dit geeft u de mogelijkheid om uw eigen eindpunten binnen uw VPC te beheren, waardoor compatibiliteit met gedeelde of anderszins beperkte VPC's wordt toegevoegd. Het specificeren van door de klant beheerde eindpunten biedt ook de mogelijkheid om aan een strikt beveiligingsbeleid te voldoen door de toegang tot VPC-bronnen expliciet te beperken tot alleen die welke nodig zijn voor hun Amazon MWAA-omgevingen. Voor meer informatie over Amazon MWAA raadpleegt u de Amazon MWAA-gebruikershandleiding. Ga voor meer berichten over Amazon MWAA naar de Amazon MWAA-bronnenpagina.
Over de auteur
John Jackson heeft meer dan 25 jaar software-ervaring als ontwikkelaar, systeemarchitect en productmanager bij zowel startups als grote bedrijven en is als AWS Principal Product Manager verantwoordelijk voor Amazon MWAA.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://aws.amazon.com/blogs/big-data/introducing-shared-vpc-support-on-amazon-mwaa/
- : heeft
- :is
- :niet
- $UP
- 10
- 100
- 11
- 13
- 15%
- 200
- 25
- 41
- 72
- 8
- a
- vermogen
- Over
- boven
- toegang
- beschikbaar
- Account
- accounts
- over
- Actie
- actieve
- actief
- acyclische
- toevoegen
- toe te voegen
- toevoeging
- Extra
- Voegt
- Na
- Alles
- toelaten
- toegestaan
- Het toestaan
- toestaat
- al
- ook
- Amazone
- Amazon Web Services
- an
- en
- elke
- apache
- api
- verschijnen
- toepasselijk
- Archief
- ZIJN
- AS
- automatiseren
- geautomatiseerde
- automatiseren
- Beschikbaar
- AWS
- AWS CloudFormatie
- gebaseerde
- BE
- omdat
- beginnen
- namens
- wezen
- BEST
- tussen
- lichaam
- pin
- zowel
- Breken
- last
- maar
- by
- Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
- CAN
- Kan krijgen
- verandering
- Wijzigingen
- lasten
- Kies
- schoon
- klant
- code
- COM
- gemeenschap
- verenigbaarheid
- compleet
- Voltooid
- versterken
- beschouwd
- troosten
- containers
- verband
- Bedrijven
- Kosten
- kon
- en je merk te creëren
- aangemaakt
- creëert
- Wij creëren
- het aanmaken
- klant
- Klanten
- DAG
- gegevens
- Database
- Standaard
- tonen
- demonstreert
- inzet
- beschrijven
- beschreven
- detail
- opsporen
- Ontwikkelaar
- Ontwikkeling
- anders
- gerichte
- document
- doet
- Dont
- twee
- gedurende
- elk
- Vroeger
- En het is heel gemakkelijk
- effect
- anders
- Endpoint
- eindpunten
- Ingenieurs
- verzekeren
- Enter
- toegang
- Milieu
- omgevingen
- Ether (ETH)
- Zelfs
- Event
- EVENTS
- voorbeeld
- voorbeelden
- bestaan
- bestaand
- ervaring
- uitdrukkelijk
- verlengen
- uitgebreid
- vertrouwd
- Kenmerk
- Dien in
- filtering
- finale
- Voornaam*
- volgend
- volgt
- Voor
- gevonden
- oppompen van
- functie
- verder
- Bovendien
- krijgen
- geeft
- diagram
- Groep
- Groep
- Hebben
- met
- hosts
- HOURS
- Hoe
- How To
- Echter
- HTML
- http
- HTTPS
- IAM
- ID
- Identiteit
- if
- importeren
- opgelegd
- in
- info
- informatie
- Infrastructuur
- gevallen
- verkrijgen in plaats daarvan
- integraties
- interactie
- Interface
- Internet
- in
- de invoering
- kwestie
- IT
- HAAR
- jpg
- json
- voor slechts
- sleutel
- Groot
- laatste
- leidend
- LEARN
- Bibliotheek
- LINK
- opgesomd
- logging
- Kijk
- gemaakt
- MERKEN
- beheer
- beheerd
- manager
- beheert
- handboek
- handmatig
- veel
- Mei..
- Maak kennis met
- Bericht
- minuten
- gewijzigd
- wijzigen
- meer
- meervoudig
- Dan moet je
- naam
- noodzakelijk
- Noodzaak
- nodig
- netwerk
- New
- volgende
- notificatie
- meldingen
- of
- on
- open
- open source
- operatie
- operationele
- Opties
- or
- bestellen
- organisatie
- organisaties
- Overige
- anders-
- onze
- buiten
- over
- het te bezitten.
- eigenaar
- eigenaren
- bezit
- pagina
- deelnemer
- deelnemers
- Patronen
- in afwachting van
- toestemming
- permissies
- Plato
- Plato gegevensintelligentie
- PlatoData
- beleidsmaatregelen door te lezen.
- beleidsmaatregelen
- Post
- Berichten
- praktijk
- vereisten
- voorkomt
- Principal
- privaat
- bevoorrecht
- voorrechten
- gaan
- Product
- product manager
- vastgoed
- zorgen voor
- biedt
- het verstrekken van
- Python
- R
- liever
- bereiken
- ontvangen
- ontvangende
- vermindert
- verwijzen
- resterende
- verwijderen
- verwijderd
- nodig
- vereiste
- hulpbron
- Resources
- Reageren
- antwoord
- verantwoordelijk
- beperken
- begrensd
- beperken
- beperkend
- hervat
- terugkeer
- beoordelen
- Rol
- weg
- Regel
- lopen
- s
- dezelfde
- rooster
- wetenschappers
- seconden
- sectie
- veiligheid
- beveiligingsbeleid
- zien
- sturen
- server
- service
- Diensten
- settings
- gedeeld
- Aandelen
- moet
- gelijk
- Eenvoudig
- So
- Software
- Iemand
- bron
- stack
- Startups
- Land
- Statement
- Staten
- Status
- Stap voor
- Stappen
- mediaopslag
- shop
- winkels
- streng
- subnetten
- dergelijk
- ondersteuning
- Systems
- taken
- sjabloon
- neem contact
- dat
- De
- hun
- Ze
- harte
- Er.
- dit
- die
- drie
- naar
- tools
- waar
- twee
- type dan:
- voor
- die ten grondslag liggen
- unieke
- tot
- bijwerken
- URI
- .
- gebruikt
- Gebruiker
- User Interface
- gebruikers
- gebruik
- waarde
- Values
- versie
- via
- Bekijk
- Bezoek
- willen
- we
- web
- webserver
- webservices
- wanneer
- welke
- wil
- Met
- binnen
- zonder
- Mijn werk
- werker
- workflows
- zou
- jaar
- u
- Your
- zephyrnet
- Postcode