דילוג לתוכן
  1. כתבות/

סקירת Amazon Linux 2023

··1651 מילים·8 דקות
רועי בנדל
מחבר
רועי בנדל
תוכן עניינים

סוף סוף זה כאן! Amazon Linux 2023. במקור נקרא Amazon Linux 2022, ואז השם שונה בשקט ל-Amazon Linux 2023 לאחר עיכוב… האם היה שווה לחכות?

לוגו הציפור של Amazon Linux

לוגו הציפור של Amazon Linux

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

1. נתיב השדרוג

Amazon Linux 2023 יכולה להיחשב כיורשת של Amazon Linux 2.1 לכן, ייתכן שתחשבו שתוכלו להריץ כמה פקודות כדי לשדרג את שרתי AL2 שלכם ל-AL2023, אך זה לא המצב. AL2023 היא גרסה חדשה משמעותית וכוללת שינויים רבים (כפי שניתן להבין מהעובדה שהיא גבוהה ב-2,021 גרסאות מ-AL2). לכל דבר ועניין, אני סבור שניתן להתייחס ל-AL2023 כהפצת לינוקס שונה לחלוטין מ-AL2. אפרט בהמשך על ההבדלים. עם זאת, חשוב לציין כי אין לצפות שכל משימות העבודה הקיימות ב-AL2 יעבדו בהכרח ב-AL2023, אלא אם כן נבדקו ביסודיות.

זה עשוי להיראות מאכזב בהשוואה להפצות לינוקס אחרות שמציעות שדרוגים במקום (למשל Ubuntu ו-RHEL). עם זאת, זה לא חדש עבור Amazon Linux; גם בין Amazon Linux המקורי ל-Amazon Linux 2 לא היה מסלול שדרוג. אם הייתי צריך לנחש את הסיבה לכך, מלבד האתגרים הטכניים, היא שאמזון רוצה לעודד אותנו באופן מרומז להתייחס לאינסטנסים כאל בקר, ולא כאל חיות מחמד. כלומר, אנחנו לא צריכים להיקשר לאינסטנס מסוים עד כדי כך שנרגיש שאנחנו חייבים לשדרג אותו במקום. במקום זאת, עלינו להרגיש בנוח לסיים כל אינסטנס ולהפעיל אינסטנס חדש במקומו.

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

יהיה מעניין לראות אם Amazon תציע בעתיד מסלול שדרוג מ-Amazon Linux 2023 ל-Amazon Linux 2025. למיטב ידיעתי, הם לא הודיעו על כך דבר, ולכן לא אצפה לכך, אלא אם Amazon תודיע אחרת.

2. זמינות

Amazon Linux 2023 זמין כעת בכל אזורי AWS. משמעות הדבר היא שתוכלו לפרוס שרתים של EC2 המריצים את הפצת לינוקס החדשה הזו על ידי בחירת AMI (Amazon Machine Image) המתאים. ניתן לעשות זאת מקונסולת הניהול של AWS EC2, שם ייתכן ש-AL2023 כבר יופיע כאופציית AMI המהירה המוגדרת כברירת מחדל עבורכם. אם הוא לא מופיע כברירת מחדל, חפשו “Amazon Linux 2023” וודאו שאתם בוחרים באופציה מ"ספק מאומת". אם אתם משתמשים בכלי כמו AWS CLI או Terraform, תוכלו להעתיק את מזהה ה-AMI בעצמכם (רק זכרו שמזהי AMI שונים מאזור AWS לאזור AWS); ראו כיצד למצוא AMI של Linux בתיעוד AWS EC2.

תצוגה של קונסולת AWS EC2 המציגה כיצד לפרוס את Amazon Linux 2023

תצוגה של קונסולת AWS EC2 המציגה כיצד לפרוס את Amazon Linux 2023

3. עלות

Amazon Linux 2023 הוא חינמי בשני המובנים של המילה. הוא קוד פתוח, ואינו כרוך בעלות נוספת לשימוש.

כמובן שעדיין תצטרכו לשלם את כל העמלות הרלוונטיות לשימוש ב-EC2, למשל תשלום עבור תמחור Linux לפי דרישה ונפחי EBS. עם זאת, אינכם צריכים לשלם תמחור נוסף עבור רישוי, כפי שאתם נדרשים לעשות עבור מערכות הפעלה מסוימות ב-AWS (למשל RHEL, SUSE או Windows). בנוסף, AL2023 זכאי ל"שירות חינם" — כלומר, תוכלו לנסות אותו בחינם כל עוד השימוש שלכם נכלל בשירות החינם של AWS.

דוגמה לתמחור שרתי EC2. Amazon Linux 2023 נכלל ב"תמחור Linux לפי דרישה", שהוא זול יותר מתמחור RHEL, SUSE ו-Windows. המחירים הם באזור “us-east-1” נכון ל-2022–03–20.

לדוגמה, תמחור של שרת EC2. Amazon Linux 2023 נכלל ב"תמחור לינוקס לפי דרישה", שהוא זול יותר מתמחור RHEL, SUSE ו-Windows. המחירים מתייחסים לאזור “us-east-1” נכון ל-2022–03–20.

4. ליבה

כעת, כשידעתי ש-AL2023 זמין והבנתי את עלויותיו, הייתי מוכן לבדוק אותו בעצמי. פרשתי מיקרו-אינסטנס EC2 לבדיקה והתחלתי להריץ פקודות כדי לראות מה אוכל למצוא. הפקודה הראשונה שהרצתי הייתה uname -a כדי לראות את גרסת הליבה של לינוקס הכלולה כרגע ב-AL2023. הרצת הפקודה הזו מראה שגרסת הליבה של לינוקס ב-AL2023 היא 6.1.15-28.43.amzn2023.

הופתעתי לטובה לגלות ש-AL2023 מריץ את גרסת ליבת לינוקס 6.1, גרסת ליבת LTS לינוקס העדכנית ביותר. זו קפיצה גדולה בהשוואה ל-AL2, המשתמש בגרסת ליבת לינוקס 5.10. במקור, AL2 השתמש בגרסת ליבה 4.14, אך מאוחר יותר קיבל עדכונים לגרסאות ליבה 5.4 ו-5.10. עם זאת, AL2 מעולם לא עודכן לגרסת לינוקס 5.15, גרסת ה-LTS הקודמת של הליבה.

Amazon Linux 2023 צפוי לקבל גם עדכוני ליבה, לפחות עבור סדרת הליבות 6.1 (ואולי גם עבור ליבות LTS עתידיות). עדכון ליבה בזמן אמת נתמך, כלומר תוכלו להתקין עדכוני ליבה ללא צורך באתחול מחדש.

5. משפחת מערכות ההפעלה

ברור ש-Amazon Linux 2023 היא “לינוקס”, ואנו יודעים שהליבה שלה הוא 6.1, אך על איזו הפצת לינוקס היא מבוססת בדיוק? עץ המשפחה של הפצות לינוקס הוא גדול ומורכב, אך כדי לפשט מעט את הדברים, נוכל להתייחס לשני הענפים העיקריים של הפצות לינוקס כהפצות מבוססות Debian והפצות מבוססות RPM. שני ענפי הפצות אלה הם הדומיננטיים הן בתחום שולחן העבודה של לינוקס והן, במיוחד, בתחום הפצות השרתים.2 הפצות מבוססות Debian כוללות את Ubuntu, והפצות מבוססות RPM כוללות את RHEL, CentOS Stream, Fedora ו-SUSE.

כל הפצות Amazon Linux מבוססות RPM. AL2, למשל, התבססה בחלקה על CentOS 7. עם זאת, AL2023 מבוססת על רכיבים של Fedora 34/35/36 עם כמה היבטים של CentOS 9 Stream. עם זאת, Amazon מבהירה כי AL2023 אינה דומה ישירות לשום גרסה ספציפית של Fedora. משמעות הדבר היא שלא ניתן לצפות שהיא תתנהג באותו אופן כמו Fedora או CentOS Stream. יש להתייחס אליה כהפצה נפרדת עם חבילות משלה.

5. זמינות חבילות

AL2023 משתמש במנהל החבילות DNF, שהוא היורש של YUM (ששימש בעבר ב-AL2). למרות שפקודות yum עדיין זמינות, הן מפנות כעת ל-dnf.

מבחינת זמינות החבילות, AL2023 אינו משתמש במאגרי Fedora או CentOS Stream, אלא במאגרים ייעודיים משלו. החבילות דומות אך אינן זהות לאלה שהוצעו ב-AL2. רוב החבילות עודכנו לגרסאות האחרונות. בעת שדרוג מ-AL2 ל-AL2023, עליך לוודא שכל החבילות הדרושות לך עדיין זמינות. בנוסף, עליך לוודא שעדכוני הגרסה אינם כוללים שינויים משמעותיים המשפיעים עליך. לדוגמה, Python 2.7 כבר אינו זמין ב-AL2023, בניגוד ל-AL2 שעדיין תומך ב-Python 2.7.

מבחינת חבילות מחוץ למאגר AL2023, התמיכה נראית מוגבלת. AL2023 אינו תומך במאגרי EPEL, והיא גם לא תומכת ב-amazon-linux-extras. למרות שחלק מהחבילות מ-amazon-linux-extras כלולות כעת במאגרי AL2023 הראשיים (כולל docker ו-nginx), לא כולן כלולות; לדוגמה, שמתי לב ש-Ansible חסר (אם כי עדיין ניתן להתקין אותו באמצעות pip).

בהשוואה למאגרי Fedora, ישנן חבילות רבות שחסרות במאגרי AL2023. כבר הזכרתי את Ansible, אך כדי לתת דוגמה נוספת — Podman חסר. זה מעניין לאור ההתמקדות הרבה של RedHat ב-Podman בשנים האחרונות (כדי “להתחרות” ב-Docker). בגרסאות האחרונות של Fedora, Podman אפילו מותקן כברירת מחדל. עם זאת, הוא לא מופיע ב-AL2023, שמבוסס בחלקו על Fedora. עם זאת, ב-AL2023 repos כן ניתן להשיג את Docker ו-containerd.

במאגר GitHub של Amazon Linux 2023 כל אחד יכול לפתוח בקשות להוספת חבילות חסרות. אני מקווה שצוות Amazon Linux ימהר להוסיף חבילות מבוקשות במיוחד. הסיבה לכך היא שאני לא ממש בטוח מהי האלטרנטיבה עבור המשתמשים; משתמשי AL2023 לא יכולים להוסיף בבטחה מאגרי Fedora, CentOS Stream או EPEL, מכיוון ש-AL2023 אינו תואם ישירות לאף אחת מהפצות אלה. אולי אנחנו פשוט צריכים להריץ הכל בקונטיינרים? אישית, אני לא מתנגד לרעיון הזה עבור חבילות מסוימות, אבל אז אנחנו צריכים לפחות להשיג חבילות כמו podman ו-ansible.

דבר נוסף שכדאי לדעת על מאגרי AL2023 הוא שהם משתמשים בשדרוגים דטרמיניסטיים באמצעות מאגר גרסאות.

6. קצב שחרור ותמיכה לטווח ארוך

החל מ-Amazon Linux 2023, Amazon מתכננת לשחרר גרסה חדשה משמעותית כל שנתיים. בעוד שנתיים נוכל לצפות ל-Amazon Linux 2025, ואז ל-Amazon Linux 2027 ו-2029. כל גרסה אמורה לקבל תמיכה לטווח ארוך (LTS) למשך חמש שנים.

אם קצב שחרור זה נשמע לכם מוכר, זה בהחלט לא בגלל הגרסאות הקודמות של Amazon Linux. מבחינה היסטורית, שחרורי הגרסאות של Amazon Linux היו די לא עקביים, כאשר Amazon Linux 2023 עצמה עוכבה ושמה שונה ל-Amazon Linux 2022. במקום זאת, קצב השחרור הזה נראה כמו השראה מ-Ubuntu, שמשחררת גרסאות LTS מרכזיות כל שנתיים בחודש אפריל. לא משנה מה אתם חושבים על Ubuntu ו-Canonical, אי אפשר להאשים אותם בחוסר עקביות. מאז Ubuntu 8.04 LTS ב-2008, Canonical מוציאה באופן עקבי גרסאות LTS כל שנתיים, מבלי לפספס את תאריך השחרור באפריל. זאת בנוסף לגרסאות Ubuntu הסטנדרטיות שאנו מקבלים כל חצי שנה. כל גרסת Ubuntu LTS מאז 12.04 LTS קיבלה לפחות חמש שנות תמיכה. קצב השחרור העקבי של Ubuntu והתמיכה לטווח ארוך היו אחת הסיבות שהפכו אותה להפצת לינוקס מובילה, הן בתחום המחשבים השולחניים והן בתחום השרתים. בכל הנוגע ל-AWS, Ubuntu מתחרה מקרוב ב-Amazon Linux.

ייקח שנים עד שנוכל לראות אם Amazon תצליח לעמוד בהבטחותיה לגבי שחרורים עקביים של Amazon Linux. האם Amazon Linux 2025 תשוחרר בזמן בעוד שנתיים, או שתתעכב שוב ותשנה את שמה ל-Amazon Linux 2026? נצטרך לחכות ולראות. בינתיים, Amazon מבטיחה גם עדכונים קלים רבעוניים ל-Amazon Linux 2023.

7. ביצועים

Amazon טוענת ש-AL2023 מציעה “ביצועים מותאמים עבור Amazon Elastic Compute Cloud (EC2) מבוסס Graviton” ו-“AL2023 מייעלת את זמן האתחול כדי לקצר את הזמן מהשקת השרת ועד להפעלת משימות העבודה של הלקוח”. כמובן שביצועים מותאמים תמיד מועילים, במיוחד כשמדובר בשרתים של EC2 שרוצים להפעיל במהירות בעת הצורך. בקנה המידה שבו AWS פועלת, “ביצועים מותאמים” יכולים להוביל לרווחים משמעותיים.

אז האם הביצועים של AL2023 עומדים בהבטחות? לפי מייקל לרבל ב-Phoronix, התשובה היא כן! ראו את מבחני הביצועים המפורטים שלו: Amazon Linux 2023 פועל היטב, ומשפר את ביצועי EC2 לעומת Amazon Linux 2

בדיקות הביצועים של Larabel בוצעו על גבי שרת Graviton3 c7g.metal חזק. עם זאת, AL2023 מסוגל לפעול אפילו על גבי סוגי השרתים החלשים ביותר של EC2. גם AMI מינימלי של AL2023.

8. אבטחה

לדברי אמזון, “AL2023 נוקט בגישה של אבטחה כברירת מחדל כדי לסייע בשיפור רמת האבטחה שלכם באמצעות מדיניות אבטחה שהוגדרה מראש, SELinux במצב מתירני ו-IMDSv2 מופעל כברירת מחדל, וזמינות של תיקוני ליבה בזמן אמת”.

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

בעת הפעלת Amazon Linux 2023, חשוב לזכור את עקרונות מודל האחריות המשותפת.

מודל האחריות המשותפת של AWS

מודל האחריות המשותפת של AWS

סיכום

Amazon Linux 2023 היא גרסה חדשה ומרתקת. יש בה הרבה דברים שאפשר לאהוב, כולל בסיס Fedora חדש, חבילות מעודכנות, ביצועים ואבטחה משופרים. עם זאת, בשל השינויים הרבים והמשמעותיים, לא קל להמליץ על שדרוג למשתמשים קיימים של Amazon Linux 2. זמינות החבילות המוגבלת גם הופכת אותה ללא מתאימה למשימות מסוימות, שעדיין עשויות להתאים יותר ל-AMI פופולריים אחרים (כגון Ubuntu).

למרות שהיא לא תזכה לאהדת כולם, Amazon Linux 2023 היא עדיין גרסה חדשה ומצוינת, המהווה שיפור משמעותי לעומת Amazon Linux 2.


  1. שימו לב ש-Amazon Linux 2 עדיין נתמכת עד 2025-06-30. ↩︎

  2. כן, אני יודע שיש אנשים שמריצים את השרתים שלהם על Arch. גם אם זה אולי לא הרעיון הכי טוב… ↩︎