Mitä uutta Amazonin MWAA-tuessa käynnistysskripteille | Amazon Web Services

Mitä uutta Amazonin MWAA-tuessa käynnistysskripteille | Amazon Web Services

Lähdesolmu: 2099143

Amazonin hallinnoima työnkulku Apache Airflowlle (Amazon MWAA) on hallittu palvelu apache-ilmavirta jonka avulla voit käyttää samaa tuttua Apache Airflow -ympäristöä työnkulkujen organisointiin ja parannetun skaalautuvuuden, saatavuuden ja turvallisuuden parantamiseen ilman taustalla olevan infrastruktuurin hallintaa.

Huhtikuussa 2023, Amazon MWAA lisäsi tuen shell-käynnistyskomentosarjat ympäristöversioille Apache Airflow 2.x ja uudemmat. Tämän ominaisuuden avulla voit mukauttaa Apache Airflow -ympäristöä käynnistämällä mukautetun shell-käynnistyskomentosarjan käynnistettäessä, jotta se toimii paremmin olemassa olevan integraatioinfrastruktuurin kanssa ja auttaa vaatimustenmukaisuustarpeissasi. Tämän shell-käynnistyskomentosarjan avulla voit asentaa mukautettuja Linux-ajoaikoja, asettaa ympäristömuuttujia ja päivittää kokoonpanotiedostoja. Amazon MWAA suorittaa tämän skriptin käynnistyksen aikana jokaisessa yksittäisessä Apache Airflow -komponentissa (työntekijä, aikatauluttaja ja verkkopalvelin) ennen vaatimusten asentamista ja Apache Airflow -prosessin alustamista.

Tässä viestissä annamme yleiskatsauksen ominaisuuksista, tutkimme soveltuvia käyttötapauksia, kerromme yksityiskohtaisesti sen käytön vaiheet ja tarjoamme lisätietoja tämän shell-käynnistysohjelman ominaisuuksista.

Ratkaisun yleiskatsaus

Amazon MWAA rakentaa Apache Airflow -sovelluksen Amazonin elastisten säiliörekisteri (Amazon ECR) -kuvat, jotka yhdistävät Apache Airflow -julkaisut muiden yleisten binäärien ja Python-kirjastojen kanssa. Näitä kuvia sitten käyttää AWS-veljeskunta astiat Amazon MWAA -ympäristö. Voit tuoda lisää kirjastoja osoitteen kautta requirements.txt ja plugins.zip tiedostot ja välitä Amazonin yksinkertainen tallennuspalvelu (Amazon S3) polut parametrina ympäristön luomisen tai päivityksen aikana.

Tämä pakettien asennustapa ei kuitenkaan kattanut kaikkia käyttötapauksiasi Apache Airflow -ympäristöjesi räätälöimiseksi. Asiakkaat pyysivät meiltä tapaa mukauttaa Apache Airflow -konttikuvia määrittämällä mukautettuja kirjastoja, suoritusaikaa ja tuetut tiedostot.

Sovellettavat käyttötapaukset

Uusi ominaisuus lisää mahdollisuuden mukauttaa Apache Airflow -kuvaasi käynnistämällä mukautetun määritetyn shell-käynnistyskomentosarjan käynnistyksen yhteydessä. Voit käyttää shell-käynnistyskomentosarjaa esimerkiksi seuraavien toimien suorittamiseen:

  • Asenna suoritusajat – Asenna tai päivitä työnkulkujesi ja yhteyksiesi edellyttämät Linux-ajoajat. Voit esimerkiksi asentaa libaio mukautettuna kirjastona Oraclelle.
  • Määritä ympäristömuuttujat – Aseta ympäristömuuttujat Apache Airflow -aikataululle, verkkopalvelimelle ja työntekijäkomponenteille. Voit korvata yleisiä muuttujia, kuten PATH, PYTHONPATHja LD_LIBRARY_PATH. Voit esimerkiksi asettaa LD_LIBRARY_PATH käskeä Python etsimään binääriä määrittämiltäsi poluilta.
  • Hallitse avaimia ja tunnuksia – Välitä pääsytunnukset yksityisille PyPI/PEP-503-yhteensopiville mukautetuille tietovarastoille requirements.txt ja määritä suojausavaimet.

Kuinka se toimii

Shell-skripti suoritetaan Kemut komennot käynnistyksen yhteydessä, joten voit asentaa käyttämällä yumia ja muita samankaltaisia ​​työkaluja Amazon Elastic Cloud Compute Cloud (Amazon EC2) tarjoaa käyttäjätietojen ja shell-skriptien tuki. Voit määrittää mukautetun komentotulkkikomentosarjan .sh-laajennuksella ja sijoittaa sen samaan S3-alueeseen kuin requirements.txt ja plugins.zip. Voit määrittää shell-skriptin S3-tiedostoversion ympäristön luomisen tai päivityksen aikana Amazon MWAA -konsolin, API:n tai AWS-komentoriviliitäntä (AWS CLI). Katso lisätietoja käynnistyskomentosarjan määrittämisestä kohdasta Käynnistysskriptin käyttäminen Amazon MWAA:n kanssa.

Ympäristön luomisen tai päivitysprosessin aikana Amazon MWAA kopioi plugins.zip, requirements.txt, komentotulkkikomentosarja ja sinun Apache Airflow -ohjatut akryylikaaviot (DAG) taustalla oleviin säilökuviin Amazonin elastisten säiliöiden palvelu (Amazon ECS) Fargate-klusterit. Amazon MWAA -ilmentymä purkaa tämän sisällön ja suorittaa määrittämäsi käynnistyskomentosarjatiedoston. Käynnistysskripti suoritetaan osoitteesta /usr/local/airflow/startup Apache Airflow -hakemisto airflow käyttäjä. Kun se on valmis, asennusprosessi asentaa requirements.txt ja plugins.zip tiedostot ja sen jälkeen säilöön liittyvä Apache Airflow -prosessi.

Seuraavassa kuvakaappauksessa näkyy uusi valinnainen Käynnistysskriptitiedosto -kenttään Amazon MWAA -konsolissa.

Seurantaa ja havaittavuutta varten voit tarkastella skriptin tulosta Amazon MWAA -ympäristössäsi amazonin pilvikello lokiryhmät. Jos haluat tarkastella lokeja, sinun on otettava lokiryhmän kirjaus käyttöön. Jos käytössä, Amazon MWAA luo uuden lokivirran, joka alkaa etuliitteellä startup_script_exection_ip. Voit noutaa lokitapahtumat varmistaaksesi, että komentosarja toimii odotetulla tavalla.

Voit myös käyttää Amazon MWAA:ta paikallinen juoksija testataksesi tätä ominaisuutta paikallisissa kehitysympäristöissäsi. Voit nyt määrittää mukautetun käynnistysohjelman startup_script hakemisto hakemistossa local-runner. On suositeltavaa testata komentosarjasi paikallisesti ennen kuin teet muutoksia Amazon MWAA -asetuksiin.

Voit viitata tiedostoihin, joihin pakkaat plugins.zip tai DAGs-kansiosi käynnistysskriptistä. Tästä voi olla hyötyä, jos haluat asentaa Linux-ajoajat yksityiselle verkkopalvelimelle paikallisesta paketista. On myös hyödyllistä, jos pystyt ohittamaan Python-kirjastojen asennuksen verkkopalvelimelle, jolla ei ole pääsyä joko yksityisen verkkopalvelintilan vuoksi tai kirjastoille, jotka on isännöity yksityisessä arkistossa, johon pääsee vain VPC:ltäsi, kuten seuraavassa esimerkissä. :

#!/bin/sh
export ENVIRONMENT_STAGE=”development”
echo “$ENVIRONMENT_STAGE” if [“${MWAA_AIRFLOW_COMPONENT} != “webserver”
then
pip3 install -r /usr/local/airflow/dags/requirements.txt
fi

- MWAA_AIRFLOW_COMPONENT komentosarjassa käytetty muuttuja tunnistaa jokaisen Apache Airflow -aikataulun, verkkopalvelimen ja työkomponentin, jolla komentosarja suoritetaan.

Muita näkökohtia

Muista seuraavat lisätiedot tästä ominaisuudesta:

  • Käynnistyskuoren komentosarjatiedoston määrittäminen on valinnaista. Voit valita skriptistäsi tietyn S3-tiedostoversion.
  • Käynnistyskomentosarjan päivittäminen olemassa olevaan Amazon MWAA -ympäristöön johtaa ympäristön uudelleenkäynnistykseen. Amazon MWAA suorittaa käynnistyskomentosarjan, kun jokainen ympäristösi komponentti käynnistyy uudelleen. Ympäristöpäivitykset voivat kestää 10–30 minuuttia. Suosittelemme käyttämään Amazon MWAA:ta local-runner testata ja vähentää takaisinkytkentäsilmukkaa.
  • Voit tehdä useita muutoksia Apache Airflow -ympäristöön, esimerkiksi asettaa ei-varaamattoman AIRFLOW__ ympäristömuuttujat ja mukautettujen Python-kirjastojen asentaminen. Yksityiskohtainen luettelo varatuista ja varaamattomista ympäristömuuttujista, jotka voit asettaa tai päivittää, on kohdassa Aseta ympäristömuuttujat käynnistyskomentosarjan avulla.
  • Apache Airflow -ydinkirjastojen ja -riippuvuuksien tai Python-versioiden päivittämistä ei tueta. Tämä johtuu siitä, että Amazon MWAA:n Apache Airflow -peruskonfiguraatiossa käytetään rajoituksia, jotka johtavat versioiden yhteensopimattomuuteen Python-ajonaikaisten ja riippuvaisten kirjastoversioiden eri asennusten kanssa. Amazon MWAA suorittaa tarkistuksia ennen mukautetun käynnistysohjelman suorittamista estääkseen Python- tai Apache Airflow -asennuksia sisältämästä käynnistäviä työnkulkuja.
  • Käynnistyskomentosarjan ajon aikana tapahtuva epäonnistuminen johtaa taustalla olevien Amazon ECS Fargate -säilöjen epäonnistuneeseen tehtävän stabilointiin. Tämä voi vaikuttaa Amazon MWAA -ympäristösi kykyyn luoda tai päivittää onnistuneesti.
  • Käynnistysskriptin suoritusaika on rajoitettu 5 minuuttiin, minkä jälkeen se aikakatkaistaan ​​automaattisesti.
  • Jos haluat palauttaa käynnistyskomentosarjan, joka epäonnistuu tai jota ei enää tarvita, muokkaa Amazon MWAA -ympäristöä viittaamaan tyhjään .sh-tiedostoon.

Yhteenveto

Tässä viestissä puhuimme Amazon MWAA:n uudesta ominaisuudesta, jonka avulla voit määrittää käynnistyskuoren käynnistyskomentosarjan. Tätä ominaisuutta tuetaan uusissa ja olemassa olevissa Amazon MWAA -ympäristöissä, joissa on Apache Airflow 2.x tai uudempi. Tämän ominaisuuden avulla voit asentaa Linux-ajoaikoja, määrittää ympäristömuuttujia ja hallita avaimia ja tunnuksia. Sinulla on nyt lisävaihtoehto mukauttaa Apache Airflow -peruskuva vastaamaan erityistarpeitasi.

Lisätietoja ja koodiesimerkkejä Amazon MWAA:sta on osoitteessa Amazon MWAA käyttöopas ja Amazon MWAA esimerkkejä GitHub reposta.


Tietoja Tekijät

Parnab Basak on ratkaisuarkkitehti ja palvelimeton asiantuntija AWS:ssä. Hän on erikoistunut luomaan uusia pilvipohjaisia ​​ratkaisuja käyttämällä nykyaikaisia ​​ohjelmistokehityskäytäntöjä, kuten palvelintonta, DevOpsia ja analytiikkaa. Parnab työskentelee tiiviisti analytiikka- ja integrointipalveluiden alalla auttaakseen asiakkaita ottamaan AWS-palvelut käyttöön työnkulun organisointitarpeisiinsa.

Vishal Vijayvargiya on ohjelmistosuunnittelija, joka työskentelee Amazon MWAA:ssa Amazon Web Services -palvelussa. Hän on intohimoinen hajautettujen ja skaalautuvien ohjelmistojärjestelmien rakentamiseen. Vishal nauttii myös sulkapallon ja kriketin pelaamisesta.

Aikaleima:

Lisää aiheesta AWS Big Data