מה חדש עם תמיכת Amazon MWAA עבור סקריפטים להפעלה | שירותי האינטרנט של אמזון

מה חדש עם תמיכת Amazon MWAA עבור סקריפטים להפעלה | שירותי האינטרנט של אמזון

צומת המקור: 2099143

אמזון מנוהל זרימת עבודה עבור Apache Airflow (Amazon MWAA) הוא שירות מנוהל עבור זרימת אוויר של אפאצ'י המאפשרת לך להשתמש באותה סביבת Apache Airflow המוכרת כדי לארגן את זרימות העבודה שלך וליהנות מדרגיות משופרות, זמינות ואבטחה ללא הנטל התפעולי של הצורך לנהל את התשתית הבסיסית.

באפריל 2023, Amazon MWAA הוסיפה תמיכה עבור סקריפטים להפעלת מעטפת עבור גרסאות הסביבה Apache Airflow 2.x ואילך. עם תכונה זו, אתה יכול להתאים אישית את סביבת Apache Airflow על ידי השקת סקריפט השקת מעטפת מותאם אישית בעת ההפעלה כדי לעבוד טוב יותר עם תשתית האינטגרציה הקיימת ולעזור עם צרכי התאימות שלך. אתה יכול להשתמש בסקריפט השקת מעטפת זה כדי להתקין זמני ריצה מותאמים אישית של לינוקס, להגדיר משתני סביבה ולעדכן קובצי תצורה. Amazon MWAA מריץ את הסקריפט הזה במהלך האתחול על כל רכיב Apache Airflow בודד (עובד, מתזמן ושרת אינטרנט) לפני התקנת הדרישות ואתחול תהליך Apache Airflow.

בפוסט זה, אנו מספקים סקירה כללית של התכונות, חוקרים מקרי שימוש ישימים, מפרטים את השלבים לשימוש בו ומספקים עובדות נוספות על היכולות של סקריפט השקת מעטפת זה.

סקירת פתרונות

כדי להפעיל את Apache Airflow, Amazon MWAA בונה מרשם מיכל אלסטי של אמזון תמונות (Amazon ECR) המאגדות מהדורות של Apache Airflow עם קבצים בינאריים נפוצים אחרים וספריות Python. לאחר מכן משתמשים בתמונות אלו על ידי AWS פרגייט מכולות ב סביבת MWAA של אמזון. ניתן להביא ספריות נוספות דרך ה requirements.txt ו plugins.zip קבצים ולהעביר את שירות אחסון פשוט של אמזון נתיבים (Amazon S3) כפרמטר במהלך יצירה או עדכון של הסביבה.

עם זאת, שיטה זו להתקנת חבילות לא כיסתה את כל מקרי השימוש שלך כדי להתאים את סביבות ה-Apache Airflow שלך. לקוחות ביקשו מאיתנו דרך להתאים אישית את תמונות מיכל Apache Airflow על ידי ציון ספריות מותאמות אישית, זמני ריצה וקבצים נתמכים.

מקרי שימוש ישימים

התכונה החדשה מוסיפה את היכולת להתאים אישית את תמונת ה-Apache Airflow שלך על ידי השקת סקריפט השקת מעטפת מותאם אישית בעת ההפעלה. אתה יכול להשתמש בסקריפט הפעלת מעטפת כדי לבצע פעולות כגון:

  • התקן זמני ריצה - התקן או עדכן זמני ריצה של Linux הנדרשים על ידי זרימות העבודה והחיבורים שלך. לדוגמה, אתה יכול להתקין libaio כספרייה מותאמת אישית עבור אורקל.
  • הגדר משתני סביבה - הגדר משתני סביבה עבור מתזמן Apache Airflow, שרת האינטרנט ורכיבי העובד. ניתן להחליף משתנים נפוצים כגון PATH, PYTHONPATH, ו LD_LIBRARY_PATH. לדוגמה, אתה יכול להגדיר LD_LIBRARY_PATH כדי להורות לפייתון לחפש קבצים בינאריים בנתיבים שאתה מציין.
  • נהל מפתחות ואסימונים - העבר אסימוני גישה למאגרים המותאמים אישית התואמים PyPI/PEP-503 הפרטיים שלך requirements.txt ולהגדיר מפתחות אבטחה.

איך זה עובד

סקריפט המעטפת פועל לְהַכּוֹת פקודות בעת ההפעלה, כך שתוכל להתקין באמצעות yum וכלים אחרים הדומים לאיך Amazon Elastic Cloud Compute Cloud (Amazon EC2) מציעה תמיכה בנתוני משתמש ובסקריפטים של מעטפת. אתה יכול להגדיר סקריפט מעטפת מותאם אישית עם סיומת .sh ולמקם אותו באותו דלי S3 כמו requirements.txt ו plugins.zip. אתה יכול להגדיר גרסת קובץ S3 של סקריפט המעטפת במהלך יצירת הסביבה או עדכון באמצעות מסוף ה-MWAA של אמזון, API או ממשק שורת הפקודה של AWS (AWS CLI). לפרטים על אופן התצורה של סקריפט האתחול, עיין ב שימוש בסקריפט הפעלה עם Amazon MWAA.

במהלך תהליך יצירת הסביבה או העדכון, אמזון MWAA מעתיקה את plugins.zip, requirements.txt, סקריפט מעטפת ושלך גרפי אקריליק מכוונים Apache Airflow (DAGs) לתמונות המכולה על הבסיס שירות מיכלים אלסטי של אמזון (אמזון ECS) אשכולות פרגייט. המופע של Amazon MWAA מחלץ את התוכן הזה ומריץ את קובץ סקריפט האתחול שציינת. סקריפט האתחול מופעל מה- /usr/local/airflow/startup ספריית זרימת האוויר של Apache בתור airflow מִשׁתַמֵשׁ. כאשר זה יושלם, תהליך ההתקנה יתקין את requirements.txt ו plugins.zip קבצים, ולאחר מכן תהליך Apache Airflow המשויך למיכל.

צילום המסך הבא מציג לך את האופציונלי החדש קובץ סקריפט הפעלה שדה בקונסולת ה-MWAA של אמזון.

לניטור וצפייה, אתה יכול לראות את הפלט של הסקריפט בסביבת ה-MWAA של Amazon שלך אמזון CloudWatch יומן קבוצות. כדי להציג את היומנים, עליך להפעיל רישום עבור קבוצת היומן. אם מופעל, Amazon MWAA יוצר זרם יומן חדש שמתחיל בקידומת startup_script_exection_ip. אתה יכול לאחזר אירועי יומן כדי לוודא שהסקריפט פועל כמצופה.

אתה יכול גם להשתמש ב-Amazon MWAA רץ מקומי כדי לבדוק תכונה זו בסביבות הפיתוח המקומיות שלך. כעת תוכל לציין את סקריפט האתחול המותאם אישית שלך ב- startup_script מדריך בספרייה local-runner. מומלץ לבדוק באופן מקומי את הסקריפט שלך לפני החלת שינויים בהגדרות ה-MWAA של Amazon שלך.

אתה יכול להפנות לקבצים שאתה ארוז בתוכם plugins.zip או תיקיית DAGs שלך מסקריפט ההפעלה שלך. זה יכול להיות מועיל אם אתה דורש התקנת זמני ריצה של לינוקס על שרת אינטרנט פרטי מחבילה מקומית. זה גם שימושי להיות מסוגל לדלג על התקנה של ספריות Python בשרת אינטרנט שאין לו גישה, בין אם בגלל מצב שרת אינטרנט פרטי או עבור ספריות המתארחות במאגר פרטי הנגיש רק מה-VPC שלך, כמו בדוגמה הבאה :

#!/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 המשתנה המשמש בסקריפט מזהה כל מתזמן Apache Airflow, שרת אינטרנט ורכיב עובד שעליהם פועל הסקריפט.

שיקולים נוספים

זכור את המידע הנוסף הבא של תכונה זו:

  • ציון קובץ סקריפט של מעטפת אתחול הוא אופציונלי. אתה יכול לבחור גירסת קובץ S3 ספציפית של הסקריפט שלך.
  • עדכון סקריפט ההפעלה לסביבת MWAA קיימת של אמזון יוביל להפעלה מחדש של הסביבה. Amazon MWAA מריץ את סקריפט האתחול כאשר כל רכיב בסביבה שלך מופעל מחדש. עדכוני סביבה יכולים להימשך 10-30 דקות. אנו ממליצים להשתמש ב-MWAA של אמזון local-runner כדי לבדוק ולהפחית את לולאת המשוב.
  • אתה יכול לבצע מספר שינויים בסביבת Apache Airflow, כגון הגדרה ללא שמור AIRFLOW__ משתני סביבה והתקנת ספריות Python מותאמות אישית. לרשימה מפורטת של משתני סביבה שמורים ולא שמורים שניתן להגדיר או לעדכן, עיין הגדר משתני סביבה באמצעות סקריפט הפעלה.
  • שדרוג ספריות הליבה ותלויות Apache Airflow או גרסאות Python אינו נתמך. הסיבה לכך היא שיש אילוצים המשמשים לתצורת הבסיס של Apache Airflow באמזון MWAA שיובילו לאי תאימות גרסאות עם התקנות שונות של זמן הריצה של Python וגרסאות ספרייה תלויות. Amazon MWAA מפעיל אימותים לפני הפעלת סקריפט האתחול המותאם אישית שלך כדי למנוע מהתקנות של Python או Apache Airflow לכלול תהליכי עבודה מפעילים.
  • כשל במהלך הפעלת סקריפט האתחול מביא לייצוב משימות לא מוצלח של הקונטיינרים הבסיסיים של Amazon ECS Fargate. זה יכול להשפיע על היכולת של סביבת ה-Amazon MWAA שלך ליצור או לעדכן בהצלחה.
  • זמן הריצה של סקריפט האתחול מוגבל ל-5 דקות, ולאחר מכן הוא יפוג אוטומטית.
  • כדי להחזיר סקריפט הפעלה שנכשל או שאינו נדרש עוד, ערוך את סביבת ה-Amazon MWAA שלך כדי להפנות לקובץ .sh ריק.

סיכום

בפוסט זה, דיברנו על התכונה החדשה של Amazon MWAA המאפשרת לך להגדיר סקריפט השקת מעטפת אתחול. תכונה זו נתמכת בסביבות חדשות וקיימות של Amazon MWAA המרצות את Apache Airflow 2.x ומעלה. השתמש בתכונה זו כדי להתקין זמני ריצה של לינוקס, להגדיר משתני סביבה ולנהל מפתחות ואסימונים. כעת יש לך אפשרות נוספת להתאים אישית את תמונת ה-Apache Airflow הבסיסית שלך כדי לענות על הצרכים הספציפיים שלך.

לפרטים נוספים ודוגמאות קוד ב-Amazon MWAA, בקר באתר מדריך למשתמש של אמזון MWAA ו אמזון MWAA דוגמת ריפו של GitHub.


על הכותבים

פרנב בסאק הוא אדריכל פתרונות ומומחה ללא שרתים ב-AWS. הוא מתמחה ביצירת פתרונות חדשים מקוריים בענן תוך שימוש בשיטות פיתוח תוכנה מודרניות כמו ללא שרת, DevOps ואנליטיקה. פארנב עובדת בשיתוף פעולה הדוק בתחום שירותי הניתוח והאינטגרציה ומסייעת ללקוחות לאמץ שירותי AWS לצרכי תזמור זרימת העבודה שלהם.

וישאל ויג'איווארגיה הוא מהנדס תוכנה שעובד על Amazon MWAA בשירותי האינטרנט של Amazon. הוא נלהב מבניית מערכות תוכנה מבוזרות וניתנות להרחבה. וישאל גם נהנה לשחק בדמינטון וקריקט.

בול זמן:

עוד מ AWS Big Data