בעבר האפל של השרתים הפיזיים, נכתבה התשתיות בעזרת מברגים וכבלים במרתפים לחים. זמנים אלה האפלים הפכו להיות פחות אפלים כאשר פתרונות ענן ציבוריים החלו להיכנס לתמוך באשפוז תשתיות באופן מועדף על ידי הפתרונות המקומיים כדי לקבוע ולהפעיל שרתים. בפוסט הבלוג הזה, למד כיצד להפעיל פתרונות ענן באמצעות AWS CLI ו-CloudFormation.
זוהי פוסט אורח של קרל אריקסון, מייסד משותף של Mocki – כלי המאפשר לך ליצור API מזווית רקע תוך דקות.
אם אתה מפעיל סביבה אחת עבור היישום שלך אז תוכל לנהל את הדברים בקלות דרך ממשק משתמש גרפי (GUI) כגון עצמאותAWS Console. אבל כאשר יש לך מספר סביבות כמו פיתוח, סטייג'ינג והפקה הדברים מתחילים להתקשים. שגיאה אנושית וזמן נכנסים לתמצית. AWS CLI ו-CloudFormation יכולים לעזור.
עליך לנהל את התשתיות שלך כקוד. בעולם של AWS, הדרך לעשות זאת היא עם תקני הענן של CloudFormation.
בעת הפקת קוביה CloudFormation לראשונה, AWS יצור הכול מאפס. אם תפרסם את הקוביה כעדכון, היא תזהה כל שינוי בתשתית ותפרסם רק את השינויים האלה.
קוביות CloudFormation מבטיחות שאותם שינויים יימומשו בכל הסביבות השונות שלך.
CloudFormation: AWS Infrastructure as Code

AWS CloudFormation הוא כלי לכתיבה וקניית תשתיות כקובץ קוד בסביבת AWS. רוב השירותים מ-AWS נתמכים על ידי CloudFormation. רוב מה שאתה יכול ליצור באמצעות AWS Console כמו שרתים וירטואליים, מסדי נתונים, מאזני עומס ואחסון קבצים יכול להיתקבל לערימת CloudFormation. לאחר הוספתם, כל המשאבים האלה יכולים להיות מפורסמים משורת פקודה או מתהליכים אוטומטיים אחרים.
לעדכונים, CloudFormation מבטיח שהפעולות נעשות בדרך היעילה ביותר ואף מחזיר את השינויים לאחור אוטומטית אם משהו הולך רע.
בוא נלמד כיצד ליצור תשתית באמצעות ה-CLI של AWS ו-CloudFormation.
תנאי קדם
כדי להמשיך עם מדריך CloudFormation בשאר המאמר, הקפד לוודא שיש לך את התנאים הבאים:
- חשבון AWS
- CLI של AWS – למד כיצד להוריד ולהגדיר כאן. תוכל לאשר שה-CLI הוגדר בהצלחה על ידי הרצת
aws s3 ls
. אם הפקודה חוזרת בהצלחה, הכל בסדר.
אם יש לך פרופילים מרובים שמוגדרים דרך ה- AWS CLI, אנא השתמש בפרופיל המתאים לצורכי פיתוח או בדיקה עבור הדרך הזוי.
יצירת ה-Stack הראשון שלך ב-CloudFormation
מספיק מידע רקע, בואו נתחיל ונשתמש ב- AWS CLI וב- CloudFormation כדי ליצור Stack!
בדוגמה זו, תיצור Stack המכיל את התשתיות הנדרשות לפרסום אתר אינטרנט סטטי המארח בשירות אחסון קבצים סטטיים AWS S3.
כדי להתחיל, צרו קובץ חדש בשם template.yaml
ומלאו אותו בתוכן הבא:
AWSTemplateFormatVersion
– מקבע את גרסת הפורמט של התבנית כך ש- AWS יכול לפרש אותה כראוי בעת הפרסום שלה.Description
– מכיל תיאור של התבנית שיתפרסם בקונסול ה- AWS לאחר הפרסום שלה.Resources
– מכיל את כל התשתיות שמתווספות לתבנית. במקרה זה, המשאבים ייצורו דלי S3 פשוט שיאחסן אתר סטטי.
מאפיין
BucketName
חייב להיות ייחודי, לכן נסו לבחור משהו שונה מ- your-bucket-name.
התקנת הערמת המשאבים עם AWS CLI ו־CloudFormation
עכשיו שיש לך תבנית פשוטה שנוצרה להתקנה, התקן אותה ב־AWS באמצעות ה־AWS CLI ו־CloudFormation באמצעות הפקודה הבאה:
לאחר הרצת הפקודה, נווט לפקדים של AWS ואז עבור לשירותים → CloudFormation. כעת אתה אמור לראות את התהליך של ההתקנה בתהליך ריצה. לאחר כמה דקות, אתה אמור לראות אותו נכנס למצב CREATE_COMPLETE
. אם כן, זהו – התהליך הושלם!
אם היו כל שגיאות, אתה צריך לראות אותן בקטע האירועים בעת צפייה בפרטי הערמת המשאבים שלך.
על ידי ניווט אל שירותים → S3, אתה צריך לראות עכשיו קופסה S3 חדשה שנוצרה.
בניית האתר הפשוט
לאחר שיש לך קופסת S3 לאחסון אתר אינטרנט, צור קובץ index.html שישמש כאתר.
אם אין לך משהו בראש שלך, תוכל להשתמש בתוכן הבא בקובץ ה־index.html שלך:
שמור את קובץ ה־index.html ו־העלה אותו לקופסת ה־S3 שלך דרך פקד AWS.
ודא שניתן גישה לקריאה ציבורית לקובץ האינדקס מאחר שהוא יהיה נגיש לכל מי שביקר באתר.
עדכון התבנית
כרגע, הדלי S3 שנוצר כרגע אינו מוגדר לאירוח אתר אינטרנט. בואו נשנה את זה. כרגע אתה יכול להוריד את קובץ האינדקס דרך קונסולת AWS אך הקובץ אינו נגיש דרך האינטרנט הציבורי. באמצעות AWS CLI ו-CloudFormation, שנה את ההגדרה כדי לאפשר אירוח אתר אינטרנט סטטי.
שנה את קובץ ה-template.yaml כפי שמופיע למטה כדי לאפשר את זה. למטה אנו מציגים מספר תכונות חדשות לתבנית שלנו.
AccessControl
– מגדיר את זכויות הגישה לדלי ה-S3 לקריאה ציבורית כך שכל משתמש שמבקר באתר יכול לראות את קובץ ה-index.html
WebsiteConfiguration
– מגדיר את הדלי S3 לפעול כאתר אינטרנט שישרת את קובץ ה-index.html שהועלה כאשר משתמשים מגיעים לכתובת ה-URL של הדליOutputs
– יכול להיות שונות תכונות עבור משאבים שהם חלק מהערימה. בדוגמה לעיל, ה-WebsiteURL
הוא הפלט של הערימה. כאשר אתה מפיץ את התבנית שוב, אתה אמור לראות את כתובת האתר כפלט ב-קונסולת AWS CloudFormation.
עכשיו הפץ את השינויים לערימה הקיימת באמצעות אותו הפקודה כמו בשלב הקודם:
לאמת את התוצאה, נווט לקונסולת CloudFormation. לאחר כמה דקות, תשים לב שהערימה נמצאת במצב UPDATE_COMPLETE
. כאשר הערימה נכנסת למצב זה, עבור ללשונית Outputs שבה אתה אמור לראות את הכתובת WebsiteUrl
מתווספת כפלט בתבנית.
לחץ על הכתובת המסופקת ואתה אמור לראות את האתר שלך בדפדפן שלך.
מזל טוב! עם ה-CLI של AWS ו-CloudFormation, כעת הגעת להפעלת ערימת התשתיות הראשונה שלך באמצעות קוד! בנקודה זו, המשך להוסיף לקובץ התבנית שלך כדי להפעיל שינויים חדשים או ליצור תבנית חדשה לפי הצורך שלך.
סיכום
במדריך זה, למדת על מושג התשתיות כקוד ועל היתרונות שלו על הפעלה ידנית של התשתיות. באמצעות הגישה של תשתיות כקוד עם ה-CLI של AWS ו-CloudFormation, יצאת להפעלת ערימה כדי ליצור אתר אינטרנט סטטי.
על ידי העקרונות שנלמדו במדריך זה, אתה יכול להפעיל מערכת מוכנה לייצור באמצעות CloudFormation באופן מלא.
קריאה נוספת
אם ברצונך לקרוא עוד על תשתיות כקוד כתופעה, תבדוק את Infrastructure as Code in the Real World by HashiCorp.
אם ברצונך ללמוד עוד על אינטגרציה של CloudFormation לתהליך הפיתוח שלך ולנהל את כל התשתיות שלך באמצעות CloudFormation, הקפד לבדוק:
בהצלחה במסע שלך להשקת כל התשתיות שלך באמצעות תשתיות כקוד ב AWS!
Source:
https://adamtheautomator.com/aws-cli-and-cloudformation/