כשאתה ניהל כעבר מקררי Amazon Web Service (AWS) EC2, לחיצה סביב לממשק הניהול עובדת טוב. אך ככל שהתשתיות שלך גדלה, ניהול המקררים לוקח זמן רב והופך למורכב. האם ישנה דרך יותר טובה לנהל מקררים? כן! מודול AWS Ansible EC2 יכול לעזור.
במדריך זה, תלמד כיצד מודול ה- Ansible ל- AWS EC2 נותן לך אחיזה חזקה לניהול מקררי AWS EC2 באמצעות גישה המבוססת על דוגמאות.
המשך לקרוא והתחל!
דרישות מוקדמות
מדובר במדריך הכולל הוראות שלב אחר שלב. אם ברצונך למשוך, וודא שיש לך את הדברים הבאים במקום:
- מארח של Ansible – מדריך זה משתמש ב- Ansible v2.11.7 על מחשב עם Ubuntu 20.04.3 LTS.
- A remote Linux computer to test out the amazon.aws.ec2_instance Ansible module. This tutorial uses Ubuntu 20.04.3 LTS as the remote node.
- חשבון AWS.
- An AWS IAM user, an מזהה מפתח לגישה, ומפתח סוד מוגדרים על המחשב המקומי שלך עם גישה ליצירה וניהול של מקררים EC2. במדריך זה, אנו נשתמש במשתמש IAM בשם ec2user.
וודא שהמשתמש IAM מוגדר לגישה פרוגרמטית ושאתה משייך אותו למדיניות הקיימת של AmazonEC2FullAccess.
- קובץ מלאי ופחות או יותר מארחים מוגדרים להפעלת פקודות ופלייבוקים של Ansible. המחשב המרוחק הלינוקסי נקרא myserver, ובמדריך זה אנו משתמשים בקבוצת מלאי בשם web.
- Python v3.6 או גרסה מתקדמת יותר מותקנת על המחשב השלט שלך ועל המכונה המרוחקת. במדריך זה אנו משתמשים ב-Python v3.8.10 על מכונת Ubuntu.
- מודולי Python boto3 בגרסה גדולה מ-1.15.0 ו-botocore בגרסה גדולה מ-1.18.0 צריכים להיות מותקנים על מארח הבקרת Ansible ועל מכונת הקודם.
יצירת או אתחול מחדש של מופע EC2 עם פקודות Ad Hoc
אם אתה מתכנן ליצור או לאתחל מחדש מופע EC2 יחיד בחשבון AWS, פעולות פקודה זמניות יהיו מספיקות. פקודות זמניות הן דרך מהירה ויעילה להריץ פקודה יחידה ליצירת מופע EC2 או לשנות את סוג המופע של מופע EC2 של AWS.
התחבר לבקר ה-Ansible שלך והפעל את הפקודת ansible
להתחברות (-m amazon.aws.ec2_instance
) למארח (web
).
הפקודה מעבירה ארגומנט (-a
) שאומר ל-Ansible לאתחל מחדש את מופע EC2 של AWS עם instance_tags=Name=Tag1
) באזור us-east-2
. כדי לאמת את החיבור לחשבון ה-AWS, אתה מוסיף את פרטי ה-aws_access_key
וה-aws_secret_key
בפקודה זמנית.
המדריך מבצע את כל הפעולות באזור us-east-2, אך אתה יכול לבצע את אותן פעולות בכל אזור ב- AWS שבחרת.
כאשר הפקודה מושלמת, תראה הודעת שונה, כפי שמוצג למטה, שמאשרת ש-Ansible איתחלה מחדש בהצלחה את מופע ה-EC2 של AWS.

הפעלת מופע EC2 עם קובץ ה־Ansible Playbook
למדת כעת כיצד לבצע פקודה אד הוק של Ansible, שזו אפשרות מצוינת לפעולה חד-פעמית! אך אולי תרצה לבצע מספר משימות. אם כן, צור קובץ ה־Ansible playbook שיפעיל מופע EC2 כדי לבצע מספר משימות.
1. פתח את הטרמינל במארח ה־Ansible controller שלך, ואז הפעל את הפקודות הבאות כדי ליצור ספרייה בשם ~/ansible_aws_ec2_module
ולהחליף אליה.
הספרייה הזו תכיל את ה־playbook ואת כל קבצי התצורה הנדרשים שתשתמש בהם כדי להפעיל את מודול ה־Ansible AWS EC2.
2. לאחר מכן, פתח את עורך הטקסט המועדף עליך, צור קובץ בשם main.yml בתיקיית ~/ansible_aws_ec2_module. מלא את קובץ ה־main.yml בתוכן הבא של playbook YAML.
הקובץ הבא מכיל את המשימה שמפעילה מופע עם כתובת IP ציבורית בתוך VPC מסוימת בחשבון AWS.
מנקודה זו ועד סוף המדריך, החלף את ערכי
aws_access_key
,aws_secret_key
עם שלך.
3. הפעל את הפקודה להפעלת הפלייבוק (main.yml
). הפלייבוק מבצע אזרחות ליצירת מופע חדש באזור us-east-2
עם סוג המופע t2.micro.
למטה, תראה כי כמה מהמשימות מציגות מצב changed, המציין כי Ansible יצר בהצלחה את המופע ושינה את מצב המשימה כדי להפעיל את הפקודה. לעומת זאת, רואים מצב ok מאחר וכמה מהמשימות לא מחייבות שינויים.

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

בעמוד ה-EC2, תראה את המופע שנוצר כעת, כפי שמוצג למטה.

עצירת מספר מופעי AWS EC2
אולי ישנם המון מקרים בהם מכונות AWS EC2 כבר לא משרתות מטרה. אם זה המקרה, תוכל לעצור או לסיים מספר מכונות על ידי ביצוע של סקריפט Ansible. ציין את המזהה של המכונה וערך ההכרזה במשימה כדי להגדיר את ההתנהגות מודול AWS EC2 של Ansible בעת עצירת המכונות.
1. צור סקריפט Ansible בשם stop.yml והעתק/הדבק את הקוד לתוך הסקריפט.
הסקריפט מעציר שתי מכונות (i-0d8c7eb4eb2c643a1 ו-i-0dbc17a67c0f7577c).
אם אתה מעדיף לסיים את המכונות במקום לעצור אותם, שנה את ערך ה-
state
ל-absent
.
2. הפעל את הפקודה הבאה כדי לבצע את הסקריפט (stop.yml
), שיעצור את המכונות שצוינו בסקריפט. ansible-playbook stop.yml

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

יצירת מכונה עם תג, אחסון וניטור של Cloud Watch
אולי יש לך צורך להפעיל את ההתקנה שלך עם רכיבים מתקדמים יותר כמו תיוג, מעקב עם אזהרות CloudWatch, ו- יצירת נפח לאחסון. במקרה כזה, שימוש במודול EC2 של Ansible ב-playbook יעשה את התעוד.
תגיות הן דרך מצוינת לארגן משאבי AWS ולבצע חישובי עלויות יעילים ב- AWS Management Console.
1. צור Playbook חדש שנקרא advanced.yml ומלא אותו עם הקוד למטה.
ה-Playbook למטה ישים בתוך AWS EC2 עם (volumes
—> /dev/sdb
, מעקב ותיוג של המקרה עם Instance1
).
2. כעת הרץ את הפקודה למטה כדי להפעיל את ה-Playbook (advanced.yml
), שישים לתוך מקרה EC2 של AWS עם תיוג, נפח ומעקב CloudWatch. ansible-playbook advanced.yml

3. לחץ על לשונית האחסון של המקרה שברצונך לוודא בלוח בקרת AWS EC2. מתחת ל־התקני בלוק, לחץ על מזהה הנפח מהרשימה כדי לראות את המידע המפורט של המקרה.

4. לבסוף, לחץ על לשונית התגים בדף מידע סיכום של המקרה. תראה את התג שהגדרת למקרה בתסריט (שלב אחד), כמו בדוגמה למטה.

סיכום
במדריך זה, ניצלת את מודול ה־Ansible ל־AWS EC2 כדי לנהל מקרים ב־AWS EC2 בפקודה יחידה. למדת גם איך להתאים אישית את מקרים ב־AWS EC2 כגון הפעלה מחדש, השעתמות, הוספת תגים ועוד.
עכשיו שיש לך מודעות טובות למודול ה־AWS EC2 של Ansible, האם אתה מוכן לכלול את מודול EC2 של Ansible כחלק מהתהליך שלך לניהול מקרים? אולי תרצה לאוטומטיזציה את המשימה על ידי הוספת עבודה קרונית?