התהליך שלוקח זמן של הגדרת המשאבים הנדרשים אחד אחד כבר אינו נחוץ לפריסת יישומי אינטרנט ושרתים.
מוצרי פלטפורמה כשירות (PaaS) כגון AWS Elastic Beanstalk ו-Heroku נוצרו כדי לאפשר יישומים שיופרסו ויהפכו לזמינים למשתמשים עם מעט או ללא קוד ומעט כפתורים קליקים.
אז מה זה AWS Elastic Beanstalk, ואיך אתה יכול לפרוס את יישומי האינטרנט של Go בענן עם Elastic Beanstalk?
מהו AWS Beanstalk אלסטי?
AWS Elastic Beanstalk (AWS EB) הוא מוצר פלטפורמה כשירות המוצע על ידי Amazon Web Services המאפשר פריסה וניהול מהירים וקלים של יישומים ומשאבים נדרשים.
עם Elastic Beanstalk, קל לפרוס יישום מבלי להגדיר את כל המשאבים הנדרשים כמו שרת לינוקס ב-EC2, או שירות ניטור ב-cloudwatch. Elastic Beanstalk מטפל בכל התהליכים של הגדרת המשאבים, והוא מאפשר לך לפרוס סוגים שונים של יישומים, כולל Node.js, Golang, PHP, Docker וכו'.
יצירת שרת אינטרנט פשוט של גולנג
לצורך הדרכה זו, נדרשת לך אפליקציית Golang עובדת לפריסה ב-AWS Elastic Beanstalk, כך שבסעיף זה, נוצר שרת אינטרנט פשוט של Go.
עליך להגדיר סביבת פיתוח של Golang במחשב שלך כדי לעקוב אחר הסעיף הזה.
השלב הראשון הוא לאתחל פרויקט Golang חדש שניתן לעשות מהמסוף על ידי הפעלת הפקודות הבאות:
לאחר שתסיים, תוכל לפתוח את ספריית הפרויקט ב-IDE המועדף עליך. בספריית פרויקט השורש שלך, צור תיקייה בשם סטָטִי וליצור index.html קובץ בו. העתק והדבק את הקוד הבא לתוך קובץ ה-HTML ושמור אותו.
html>
<htmllang="he">
<רֹאשׁ>
<מטאערכת תווים="UTF-8">
<כותרת>שלום עולם!כותרת>
רֹאשׁ>
<גוּף>
<h1>Hello World מבית Elastic Beanstalkh1>
גוּף>
html>
חזור לספריית השורש של הפרויקט שלך וצור קובץ application.go קוֹבֶץ. העתק והדבק את הקוד למטה לתוך שלך application.go קובץ ושמור אותו. עליך לתת שם לקובץ הראשי application.go כי זה הקובץ ש- Elastic Beanstalk יחפש לבניית האפליקציה שלך במהלך תהליך הפריסה.
חֲבִילָה רָאשִׁי
יְבוּא (
"עֵץ"
"נטו/http"
)funcרָאשִׁי() {
סטטי := http. FileServer (http. דיר("./סטָטִי"))
http. ידית("/", סטטי)
עֵץ. קטלני (http. ListenAndServe(":5000", אֶפֶס))
}
Elastic Beanstalk כברירת מחדל משתמש בתצורת NGINX המעבירה בקשות לאפליקציה שלך ביציאה 5000 בלבד. מלבד שתעקוף את תצורות ברירת המחדל של NGINX, אפליקציית Golang שלך צריכה תמיד להאזין ביציאה 5000 לבקשות.
אם תשמור את הקובץ ותפעיל את התוכנית בטרמינל עם לך להפעיל את application.go, תוכל לצפות בתצוגה מקדימה של דף האינטרנט הסטטי על ידי פתיחת הכתובת מארח מקומי: 5000 בדפדפן שלך.
כעת יש לך את היישום לדוגמה שלך בנוי ומוכן לפריסה. בסעיף הבא, תפרוס את האפליקציה ל-AWS Elastic Beanstalk.
פריסת יישום Go ל-AWS Elastic Beanstalk
כדי לפרוס אפליקציה לכל שירות AWS, כגון Elastic Beanstalk, אתה צריך חשבון ענן AWS. אם כרגע אין לך חשבון AWS, עבור אל דף ההרשמה של AWS כדי ליצור אחד חדש בחינם.
ישנן מספר דרכים לפרוס יישומים ל- Elastic Beanstalk, כולל AWS CLI, Elastic Beanstalk Command Line (EB CLI), ומקונסולת האינטרנט, אבל במדריך זה, תלמדו כיצד לפרוס אל Elastic Beanstalk מהמסוף באמצעות ה-EB CLI כְּלִי.
אתה יכול לבדוק את מדריך התקנת AWS EB CLI למדריך מפורט כיצד להתקין ולהגדיר את EB CLI כדי להמשיך בסעיף זה. לאחר שתסיים להתקין ולהגדיר את EB CLI, תוכל כעת להמשיך ולבצע את השלבים שלהלן כדי לפרוס את אפליקציית Golang שלך.
- פתח חלון מסוף חדש ונווט אל תיקיית הפרויקט של יישום ה- Go לפרייסה באמצעות ה CD פקודה.
- לָרוּץ eb init לאתחל מאגר CLI חדש של Elastic Beanstalk. בהיותך הפעם הראשונה שלך להפעיל פקודה זו לאחר ההתקנה, EB CLI ינחה אותך עם אפשרויות הגדרה ראשוניות כפי שניתן לראות בשלבים הבאים.
- לאחר בחירת אזור מועדף, עליך להגדיר את אישורי זהות האבטחה שלך (מזהה מפתח גישה ומפתח סודי). יש מדריך מקיף שמסופק על ידי AWS על יצירת אישורי האבטחה בקונסולת AWS.
- לאחר מכן, עליך להגדיר את שם היישום שאתה פורס. כברירת מחדל, זה משתמש בשם של תיקיית הפרויקט הנוכחית שלך.
- השלב הבא הוא לבחור את הפלטפורמה של האפליקציה שאתה עומד לפרוס, במקרה זה, עליך לבחור באפשרות הרביעית מכיוון שאתה פורס אפליקציית Golang.
- ההנחיה הבאה שואלת אם ברצונך לאפשר חיבור SSH עבור היישום הפרוס שלך. זה מומלץ מכיוון שהוא מאפשר גישה מרחוק קלה ואיתור באגים עבור היישום שלך, אבל במדריך זה, לא נבחר, מכיוון שזה רק יישום פשוט.
השורה שמציינת שלא ניתן היה להגדיר את CodeCommit היא לא מה לדאוג, שכן היא נובעת מהעובדה ש-Git או כל בקרת מקור אחרת לא נמצאים בשימוש בפרויקט בדוגמה זו.
- לאחר השלמת השלבים לעיל, ייווצר מאגר Elastic Beanstalk CLI חדש ותוכל ליצור כעת סביבת Elastic Beanstalk כדי לפרוס את האפליקציה שלך בשלבים הבאים.
- לָרוּץ eb ליצור "שם סביבה" כדי ליצור סביבה חדשה בשם המצוין שם הסביבה. הסביבה נוצרת עם כל המשאבים הנדרשים כולל מופע EC2, קבוצת קנה מידה אוטומטי, דלי S3, מאזן עומסים וכו'. תהליך זה לוקח בערך 5-10 דקות בהתאם למהירות הרשת.
בדיוק כמו כשאתה לפרוס אתר סטטי ל-AWS, ליישום EB שלך מוקצית גם כתובת URL (מסומנת בתיבה האדומה בצילום המסך למעלה) שבה תוכל להשתמש כדי לגשת לאפליקציית האינטרנט שלך.
- לאחר שתסיים בהצלחה, היישום מוכן לתצוגה מקדימה, ותוכל להפעיל eb פתוח כדי לפתוח את היישום שנפרס בדפדפן שלך. עכשיו אתה אמור לראות שלום עולם מוצג בדפדפן האינטרנט שלך באמצעות כתובת האתר שהוקצתה לו על ידי Elastic Beanstalk.
בכל פעם שאתה מבצע שינוי ביישום שלך, אתה יכול להפעיל eb פריסה כדי לדחוף את העדכונים האחרונים ל- Elastic Beanstalk. וכדי לכבות את האפליקציה שלך ואת כל המשאבים שלה, אתה יכול להפעיל eb לסיים.
כעת פרסתם בהצלחה יישום אינטרנט של Golang ל-AWS Elastic Beanstalk באמצעות הכלי Elastic Beanstalk CLI. התהליך קל מאוד וניתן לעקוב אחריו כדי לפרוס כל צורה של יישום אינטרנט של Golang ב- Elastic Beanstalk.
אתה יכול לבדוק את לוח המחוונים Elastic Beanstalk שלך במסוף AWS כדי להציג את הסטטוס או כל מידע אחר על הסביבה והאפליקציה שלך.
פריסת יישומי אינטרנט ל- Elastic Beanstalk
Elastic Beanstalk היא דרך אמינה לקחת את היישומים שלך מהמקומיים לחיים בצעדים פשוטים מאוד. אתה יכול בקלות לפרוס ולנהל את היישומים הקטנים והגדולים שלך באמצעות כל אחד מהאמצעים שזמינים על ידי AWS כולל קונסולת האינטרנט, AWS CLI, EB CLI, AWS APIs או AWS SDK.
לתרגול נוסף עם הידע שנצבר ממאמר זה, תוכל לשקול לבנות API של CRUD עם Go ולפרוס אותו ב- Elastic Beanstalk.