המדריך לשרותי הענן של אמזון – הבסיס

EC2-Regions

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

למי שלא מכיר את המושגים הבסיסיים של AWS, ממולץ לקרוא לפני קריאת מדריך זה את המילון השלם לשרותי הענן של אמזון.

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

רישום

זה החלק הקל. ניגשים לאתר של AWS, לוחצים של Sing Up Now ועוקבים אחרי ההוראות. שימו לב שאם כבר יש לכם חשבון באמזון (בחנות הרגילה) ואתם רוצים להשתמש באותה כתובת email עבור חשבון ה – AWS שלכם, עליכם להיכנס עם אותה סיסמה. תהליך הרישום כולל הכנסת פרטי כרטיס אשראי ולא ניתן להשתמש בשרותי AWS ללא סיום שלב זה, גם אם אין לכם כל כוונה להשתמש עדיין בשרותים בתשלום (ראה Free Tier בהמשך).

אמזון מאפשרים לכם לנסות את השרות הבסיסי שלהם (Micro Instance) בחינם לשנה שלמה. על מנת להנות מהטבה זו, יש להירשם לשרות דרך העמוד של Free Tier. ההטבה כוללת מכונת EC2 מסוג Micro (עם 613MB זכרון), Load Balancer, אחסון (גם S3 וגם EBS), תעבורת נתונים ועוד (אם כי הכל ברמה מאד בסיסית ומוגבלת והלקוח ישלם על כל חריגה בהתאם למחירון הרגיל של AWS) לשנה מיום ההצטרפות לשרות. למי שרוצה להתנסות ואפילו להריץ אתר בסיסי, החבליה בהחלט מספיקה ומאד ממולצת.

אז מה זה EC2?

מיד אחרי שתסיימו את ההרשמה לשרות, תוכלו לעבור ל – AWS Management Console. זהו ממשק הניהול הראשי של המערכת ובו תתבקשו לבחור את המוצר של AWS אותו ברצונכם לנהל. במסגרת פרק זה במדריך נתמקד ב – Amazon Elastic Compute Cloud או בקיצור EC2.

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

EC2-Dashboard

  • EBS – למעשה מדובר על דיסקים וירטואליים אותם ניתו לחבר ל – Instances. התכונה החשובה ביותר של EBS (בנוסף לתפקידם הבסיסי לשמור נתונים כמו כל דיסק) היא שהם “שורדים” Reboot. בניגוד לסוגים אחרים של התקני שמירת מידע, אליהם נתיחס מאוחר יותר, EBS שומרים על המידע בהם גם אחרי כיבוי המכונה או Reboot.
  • Elastic IP – בניגוד ל – Instances שאין להם כתובת IP קבועה, Elastic IP שייך לחשבון המשתמש של AWS והוא יכול להקצות Elastic IP לכל Instance ולהחליף את המכונה המקושרת לכתובת ה – IP במהירות ובקלות.
  • Security Group – למעשה מדובר על סט חוקים, הדומים מאד לחוקים של Firewall, המאפשרים (או חוסמים) גישה לפורטים ופרוטוקולים מסויימים ב – Instance. כל Instance חייב להיות מקושר ל – Security Group.
  • Load Balancer – מאפשר לחבר מספר Instances מאחורי כתובת IP אחת ב – Cluster ולחלק את העומס בין השרתים.

ה – Instance הראשון שלי

EC2-Regionsעכשיו כשהכל ברור, אנחנו יכולים להרים את השרת הראשון שלנו אבל לפני שעושים זאת, יש לקבל את ההחלטה הראשונה, מני רבות, שנתבקש לקבל בתהליך יצירת ה – Instance. מדובר בהחלטה באיזה Region השרת החדש שלנו ירוץ.

Region הוא למעשה חוות שרתים ולאמזון, נכון להיום, יש 5 חוות שרתים כפי שניתן לראות ברשימה משמאל. להחלטה באיזו חווה להריץ את השרת יש השלכות רבות, בניהן הזמינות והביצועים של השרת למשתמשים מאזורים גאוגרפיים שונים ואפילו המחיר. למשתמשים מישראל, ממולץ לבחור באירלנד או אחת משתי החוות בארה”ב. החיבור מישראל למזרח הרחוק יכול להיות בעייתי ולגרור איטיות מרגיזה בקישוריות לשרתים שלכם.

אז אחרי שבוחרים Region (ויש לשים לב שה – Dashboard מראה נתונים רק ב – Region אחד), אפשר ללחוץ על כפתור ה – Launch Instance ולהתחיל את התהליך (הלא קצר) של יצירת Instance.

בחירת AMI – Amazon Machine Image

השלב הראשון בתהליך הוא בחירת ה – AMI עליו יבוסס ה – Instance. מדובר בבחירת תבנית בסיס לבניית השרת החדש שלנו. תבנית בסיס (Image) כוללת:

  • מערכת הפעלה (ויש לשים לארכיטקטורה של 32 או 64 ביט) – ניתן לבחור בין הפצות שונות של Linux ומספר גרסאות של Windows.
  • סוג ה – Root Device – למעשה מדובר בבחירת סוג הדיסק הראשי של השרת. כל שרת אמזון יכול להיות מבוסס על Instance-store, המקבילה לדיסק מקומי או EBS, המקבילה ל – Storage חיצוני. יש הבדלים רבים בין שתי התצורות אך ההבדל העיקרי והחשוב ביותר בשלב זה הוא שרק שרתים מבוססי EBS ניתנים לכיבוי זמני, תוך כדי שמירת הנתונים על הדיסק.
  • אפליקציות נוספות – ניתן לבחור AMI שיש עליו מערכת הפעלה בלבד אבל, אם לדוגמא אתם רוצים להרים שרת שיש עליו MySQL, חיפוש קצת ב – Community AMIs ימצא לכם AMI מוכן עם האפליקציה הדרושה לכם.

במסך בחירת ה – AMI ניתן לחפש AMI לפי שלוש קטגוריות:

  • Quick Start – רשימה של AMIs בסיסיים שרובם נבנו על ידי אמזון או מקודמים על ידם.
  • My AMIs – למתקדמים, ניתן לבנות AMIs תפורים בדיוק ל – Setup שלכם ולהעלות מכונות בקלות על ידי שימוש בתבנית מוכנה מראש.
  • Community AMIs – רשימה אין סופית של AMIs, שנוצרו על ידי חברות ומפתחים פרטיים והוגדרו כ – AMIs ציבוריים. החיפוש הראשוני ברשימה יכול לקחת מספר דקות וניתן לחפש לפי קטגוריה (32/64 ביט, EBS מול Instance sotre וכו’) ולפי מילת חיפוש. בדוגמא להלן ביקשתי לראות את כל ה – AMIs של Canonical (החברה המסחרית מאחורי Ubuntu) על מנת לבחור לי תבנית של שרת Ubuntu.

טיפ – ארכיטקטורת מערכת ההפעלה (32 או 64 ביט) קובעת את סוגי השרתים שתוכלו לבחור בשלב הבא של התהליך.

בוחרים שרת

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

  • Number of Instances – מספר השרתים שתרצו להעלות עם ה – Image שבחרתם בשלב הקודם.
  • Availability Zone – כל אזור גאוגרפי של אמזון מחולק ל – Availability Zones (לפחות 2). אלו למעשה חוות שרתים נפרדות באותו אזור גאוגרפי. אם אתם מקימים את השרת הראשון שלכם, אין חשיבות רבה ל – Zone בו הוא יוקם. אם מדובר בשרת המצטרף לשרתים קיימים, בחירה ב – Zone אחר תגדיל את יכולת השרידות של המערכת (Zone יכול ליפול ללא השפעה על Zone אחר) אבל תשפיע (לרעה) על הקישוריות בין השרתים.
  • Instance Type – גודל המכונה אותה תרצו לקבל. נכון לכתיבת שרות אלו, יש לאמזון 11 סוגים של שרתים. כל מכונה מאופיינת בגודל זיכרון, מספר CPU Cores, נפח דיסק, ארכיטקטורת מערכת, ביצועי I/O וכמובן מחיר.
  • תוכנית תשלום – אמזון מאפשרים מספר תוכניות תשלום עליהם נדבר באחד המדריכים הבאים. בשלב זה נשתמש באפשרות ברירת המחדל.

כאמור, בשלב זה נדלג של שני המסכים הבאים (Advanced Instance Options ו – Tags) ונתקדם לשלב מפתחות ההצפנה.

מי צריך מפתח?

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

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

EC2-New-Instance-Keysלאחר שיצרתם מפתח בפעם הראשונה, הוא יהיה זמין מתוך הרשימה של Existing Keys ותוכלו תמיד להשתמש בו לשרתים אחרים, ללא צורך לנהל מפתחות מרובים.

טיפ – לא לשכוח איפה (ובאיזה שם) שמרתם את קובץ המפתח שלכם. אתם ממש תצטרכו אותו בהמשך!

Firewall – גירסת אמזון

לאחר לחיצה על הורדת המפתח, המערכת מעבירה אתכם לשלב הגדרות ה – Firewall. כל Instance חייב להיות משויך ל – Security Group. כאמור, מדובר בסט חוקים, בדומה לחוקי Firewall של חברות אבטחה אחרות, המאפשר (או שולל) גישה לפורטים מסויימים מכתובות IP מסויימות.

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

מוכנים? היכון! Launch!

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

EC2-New-Instance-Luanch

אם אתם מרוצים מהתוצאה, כל מה שנשאר לעשות זה ללחוץ על Launch ו… תתחדשו, יש לכם EC2 Instance משלכם!

EC2-New-Instance-Running

אז יש לכם שרת חדש ב – AWS. מה עושים עם זה עכשיו, איך מתחברים אליו ומה עוד יש במערכת, כל זאת במדריך הבא…

אודות הכותב

בועז זינימן
Principal Developer Advocate ב – AWS. לפי שהצטרף ל – AWS שימש כדירקטור בכיר לאסטרטגיית Cloud בחברת התוכנה Rogue Wave Software אשר רכשה את Zend Technologies ב – 2015. בעשור האחרון ניהל את הצוותים הטכנולוגיים ב – Zend, כולל תיכנון ופיתוח כל מערכות ה – Web, פתרונות Hosting, אסטרטגיית IT ותשתיות. לפני שהצטרף ל – Zend, במהלך 15 השנים האחרונות, ניהל צוותי פיתוח Web במספר חברות טכנולוגיה בישראל. מתמחה בעיקר במחשוב ענן ובמערכות LAMP - Linux Apache MySQL PHP ובעל הסמכת ZCE - Zend Certified Engineer משנת 2005.