אתה עיין בעיול עם לנטור את העומס של ההתקנים שלך ב-AWS והתעבס מכמות התעבורה שהם מקבלים? למה לא לאוטומטיזציה מלאה על ידי פיתוח של קבוצות Autoscaling Groups באמצעות Terraform? אוטומציה זו מאפשרת לחלק מהשרתים לישון בזמן שאין התעבורה נמוכה ולהוסיף שרתים נוספים בזמן שהתעבורה גבוהה, וכך לחסוך בעלויות החשמל לחברות.
במדריך זה, תלמד כיצד לבנות ולהריץ תצורת Terraform לבניית קבוצות Autoscaling ולפרסם אותן באמצעות Terraform.
המשך והשג אפס זמן עצירה על ההתקנים שלך!
דרישות מוקדמות
פוסט זה יהיה מדריך שלב אחר שלב. אם ברצונך להשתמש, ודא שיש לך את הפריטים הבאים במקום:
- חשבון Amazon Web Service (AWS).
- A code editor – Even though you can use any text editor to work with Terraform configuration files, consider using Visual Studio (VS) Code as it understands the HCL Terraform language well.
- Terraform – המדריך משתמש ב-Terraform v1.1.5 הרץ על Ubuntu 20.04 LTS, אך יש לעבוד על כל מערכת הפעלה עם Terraform.
בניית תצורת Terraform עבור קבוצת Autoscaling ב-AWS
לפני הרצת פקודות Terraform כדי לבנות ולהשיק את התשתיות, עליך ליצור את קבצי התצורה של Terraform. תיבנה קונפיגורציה של Terraform כדי ליצור קבוצת AWS בחשבון ה- AWS שלך.
1. התחבר למכונה שלך באמצעות לקוח SSH האהוב עליך.
2. לאחר מכן, צור תיקייה בשם ~/terraform-autoscaling-demo, ואז שנה את תיקיית העבודה (cd
) לתיקייה ההיא. תיקייה זו תכיל את כל קבצי התצורה שבהם תעבוד במדריך זה.
3. פתח את עורך הקוד האהוב עליך, העתק/הדבק את התצורה הבאה, ושמור את הקובץ בשם main.tf בתיקייה של ~/terraform-autoscaling-demo. קובץ זה main.tf הוא קובץ הקונפיגורציה של Terraform עבור קבוצת ה- Autoscaling.
הקוד למטה יוצר תצורת הקונפיגורציה של Terraform עבור קבוצת ה- Autoscaling. קבוצת ה- Autoscaling כוללת גם את הרכיבים שלה (aws_autoscaling_schedule
ו- aws_autoscaling_policy
).
4. צור קובץ נוסף ב- ~/terraform-autoscaling-demo בשם provider.tf, ומלא את התוכן למטה. הקובץ provider.tf מגדיר ספקים כמו AWS, Oracle, Azure וכו '. קובץ זה מגדיר את החיבור של Terraform עם שירותי הענן הנכונים.
המדריך ייצור משאבים באזור us-east-1. אך תוכל למצוא את רשימת האזורים שבהם AWS נתמך.
5. לבסוף, הפעל את הפקודה tree
למטה כדי לוודא שכל הקבצים הדרושים נמצאים בתיקיית הפרויקט שלך (~/terraform-autoscaling-demo
).

יצירת קבוצת AWS Autoscaling עם קובץ הגדרת Terraform
עכשיו שיש לך קובץ הגדרת Terraform וקבצי משתנים התקנו כראוי, הגיע הזמן להפעיל את Terraform וליצור את קבוצת ה-AWS Autoscaling.
כדי לספק את קבוצת ה-AWS Autoscaling, כמו בכל הגדרות Terraform אחרות, Terraform משתמשת בשלוש פקודות ברצף (terraform init
, terraform plan
, ו-terraform apply
).
1. הרץ את הפקודה terraform init
בתיקייה ~/terraform-autoscaling-demo. הפקודה מאתחלת את התוספים והספקים הדרושים לעבודה עם משאבים.
אם הכל עובר בהצלחה, תראה הודעה שאומרת שה-Terraform אותחל בהצלחה בפלט, כפי שמוצג למטה.

2. לאחר מכן, הרץ את הפקודה terraform plan
כדי לוודא שהתחברות הקבצים שלך נכונה ונותנת לך תוכנית משאבים שיהיו מתקיימים בתשתית שלך.
אם זה מצליח, אתה צופה לראות הודעה שמציגה את התוכנית כמו בדוגמה למטה.

3. לבסוף, הרץ את הפקודה terraform apply
כדי להסיר את "גלגלי האימון" ולהשיב ל-Terraform ליצור את קבוצת ה-AutoScaling של AWS.
הפקודה אומרת ל-Terraform לקרוא כל הגדרה (*.tf) בתיקייה הנוכחית ולהזרים מצב שישלח ל-AWS. לאחר מכן, תרם תקבל קבוצת ה-AutoScaling של AWS ורכיבים נוספים.
אין תשלום נוסף עבור AWS Auto Scaling. אתה משלם רק עבור משאבי AWS הדרושים להפעלת היישום שלך.

אימות קבוצת ה-AutoScaling של AWS בענן AWS
כעת, עליך להקים את קבוצת ה-AutoScaling של AWS ורכיבים קשורים עם Terraform. אך איך אתה יכול לוודא שהם קיימים בענן ה- AWS שלך? אמת את קבוצת ה-AutoScaling על ידי בדיקה ידנית ב-Konsole מנהלי של AWS.
1. פתח את דפדפן האינטרנט האהוב עליך והתחבר ל-Konsole המנהלי של AWS.
שלב 2. בדף הבית של הקונסול, לחץ על תיבת החיפוש, חפש ולחץ על 'EC2' כדי לגשת ללוח בקרת EC2.
לחץ על פריט התפריט של AWS Auto Scaling group בלוח בקרת EC2 כדי לנהל את קבוצות ההתפשטות האוטומטית שלך.
המספר הרצוי של מקררי EC2 של AWS יושקו בענן של AWS בלוח בקרת EC2 עם ההתפשטות האוטומטית שלמטה.

3. לבסוף, לחץ על AWS Auto Scaling Launch Configuration בלוח בקרת EC2. תראה את התצורה שלך להתחלת ההתפשטות ( web_config) כפי שמוצג למטה.

התפשטות את המקרר של EC2 עם בדיקות מעמר
כעת שאימתת שקבוצת/מדיניות ההתפשטות האוטומטית והרכיבים הקשורים הוגדרו כראוי, הגיע הזמן לבדוק אם תכונות ההתפשטות האוטומטית עובדות. איך? על ידי הוספת לחץ על המקרר שהושק לאחרונה עם קבוצת ההתפשטות האוטומטית.
1. פתח את מקרר EC2 שהושק עם קבוצת ההתפשטות האוטומטית באמצעות לקוח SSH.
2. לאחר מכן, הפעל את הטרמינל והפעל את הפקודה למטה כדי להתקין
את כלי הטרחנות (stress-ng
). כלי הטרחנות מאפשר לך להגדיר וליצור לחץ על מכונת ה-Ubuntu.
תוכל גם למצוא כלים נוספים לטרחנות זמינים בשוק.

3. הפעל את הפקודה של stress-ng
למטה כדי ליצור לחץ על המקרר.
הפקודה הבאה מכילה את הדגלים הבאים:
--cpu
– מציין את מספר הליבות עליהן יווצר העומס.
-v
– מאפשר מצב מפורט.
--timeout
– מציין את הזמן לו יווצר העומס.

4. כעת הפעל את הפקודה top
מתחת לרגע שתייצר העומס כדי להציג את תהליכי ה-Linux.
למטה, תראה שה-CPU מתפרץ לאחר שנוצר העומס למקרה.

5. עבור לשירות CloudWatch ב-AWS Cloud. תיכף תזהה שאזעקה נוצרה כאשר ה-CPU חצה את (10%). האזעקה הודיעה לקבוצת הגדלה אוטומטית לשפר את מספר המופעים מאחד לשני, כפי שצויין בקבוצת הגדלה האוטומטית.

6. לבסוף, עבור ל-מופעים בלוח המחוונים של EC2 כדי לאמת את מופעי EC2 של AWS.
תראה שמופע נוסף הושק, מה שמאשר את הגדרת הקבוצה האוטומטית להתרחבות של AWS ואת הרכיבים שלה.

ניתן גם לאמת את הפעילויות של הגדלת הקבוצה האוטומטית בקבוצת פעילויות של AWS AutoScale, כפי שמוצג למטה.

סיכום
במדריך זה, למדת כיצד להשתמש ב-Terraform כדי לפרוס קבוצת הגדלה אוטומטית של AWS ואת רכיביה. בניית יישום גדלה אוטומטית עם קבוצת הגדלה אוטומטית של AWS מאפשרת לך לגדול כאשר נדרש והיא משימה מהירה.
עכשיו, עם הידע החדש שזה היה, תתחילו ותממשו את הגדלת הקנייה האוטומטית עם שירותי AWS אחרים מבלי לדאוג לעומס על השרתים!
Source:
https://adamtheautomator.com/terraform-autoscaling-group/