המעבר מ-Digital Ocean לאמזון Lightsail

בלוג זה התארח עד היום בבוקר אצל Digital Ocean וכלקוח שלהם, אני יכול לאמר שהם אחד הספקים שמעולם לא אכזבו אותי. שרתים יציבים, אפס תקלות חומרה, והמערכת עובדת כמו שעון שוויצרי, ובקיצור איך אומרים אנשי לינוקס רבים: ה-Uptime חוגג 🙂

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

אם יש משהו אחד שאני ממש לא אוהב, זה הפתעות בחשבוניות, אז החלטתי להישאר ב-Digital Ocean. המחיר קבוע, זה עובד, אין הפתעות.

אמזון לאחרונה הכריזה על שרות LightSail שמתחרה בדיוק ב-Digital Ocean, Linode וספקי VPS רבים אחרים. היתרון בחבילה זו: המחיר קבוע, גודל המכונה קבועה (מבחינת ליבות, זכרון וגודל דיסק SSD מקומי) ויש לך כמה טרהבייט תעבורה החוצה כלולים במחיר. מכיוון שקיבלתי לאחרונה כמה דולרים בקרדיטים, החלטתי היום להעביר את הכל מהמכונה ב-Digital Ocean למכונה חדשה באמזון LightSail. המכונה הישנה רצה על אובונטו 15, החדשה על 16 וחשבתי שזה לא יהיה מורכב: rsync להעברת קובץ tar (של האתרים עצמם), קובץ dump של ה-SQL, סקריפטים והגדרות שונות – ונגמור עניין. לא אמור להיות מסובך.

מסובך זה לא היה, אבל תקלות – היו גם היו. הנה רשימה חלקית:

  1. האזור היחיד שאפשר להקים בו כרגע מכונה ב-Lightsail – זה אזור צפון וירג'יניה, שום מקום אחר. תרגום: תתכוננו לעוד 150 מילישניות Latency (אלא אתם משתמשים ב-CDN והקבצים הראשונים הם HTML/CSS).
  2. החלטתי לעשות dump ל-mysql כולו, כלומר all-databases ולהרים אותו על MariaDB החדש במכונה באמזון. הפקודה עברה בשלום, אבל restart ל-mysql הוציא הודעה על unix_socket plugin – לא נטען. מי שמקבל את התקלה הזו – יש פתרון כאן. מה שהפתרון לא מזכיר, זה שיש להקים לאחר עצירת ה-mysql תיקיה בשם /var/run/mysql/ כאשר לתיקיית mysql ההרשאות הן mysql:root אחרת לא תצליחו להפעיל את ה-MySQL כי הוא לא יכול לכתוב קובץ PID וההפעלה תיכשל.
  3. אם אתם משתמשים ב-Wordpress, תשמחו לדעת שהוא עובד מעולה עם PHP-7, ומאוד מומלץ לעבוד עם ה-FPM של PHP-7. ההבדל בין גירסה 5.6 של PHP לבין גירסה 7 – מהירות כפולה בלי לשנות אפילו שורת PHP אחת.
  4. המכונה שתקימו ב-LightSail לא תראו אותה ב-Instances או ב-VPC שלכם. אם אתם רוצים להשתמש בשרותים האחרים של אמזון דרך כתובות פנימיות, תצטרכו להפעיל שרות VPC Peering וכאן זה תלוי מתי נרשמתם לאמזון. במקרה שלי, מכיוון שאני רשום ל-AWS בערך מ-2009 אז כל נסיון VPC Peering נכשל, ויש לפתוח קריאה לתמיכה שיסדרו מהצד שלהם את הבעיה מהצד שלהם.
  5. מבחינת בניית חוקים ל-Security Groups/חומת אש – יש באג ב-LightSail: יש לך רשימת שרותים מאוד מצומצמת ש-Lightsail מכיר. רוצה להוסיף דברים כמו ICMP, SMTPS ודברים אחרים? אתה יכול לבחור Custom ולציין את מספר הפורט ואז … החוקים שיכתבו זה פתיחה של כל הפורטים. כרגע, מכיוון שאינך יכול לראות את מכונות ה-Lightsail בתוך VPC כלשהו, אינך יכול להגדיר Security Groups לאותו VPC ומכיוון שאינך רואה את ה-Instance בשום מקום (זולת האתר של LightSail) אינך יכול להגדיר גם שם את ה-Security Group למכונה שיצרת ב-LightSail. בקיצור – רוצה פורטים פתוחים/סגורים? תעשה זאת מתוך ה-VM.
  6. מבחינת השוואת מעבדים בין מה ש-Digital Ocean נתנו לי (המכונה שלי הראשית ששירתה את הבלוגים הוקמה שם לפני 4 שנים) המעבד היה XEON E5 דגם L (כלומר מהירות שעון נמוכה יותר – 1.8 ג'יגהרץ, וכמות ה-Cache היתה כמחצית ממה שיש ב-E5 ממוצע). באמזון דגם ה-E5 היה יותר חדש עם Cache מלא.
  7. מבחינת הפצות לינוקס – אינך יכול להקים מכונות מה-Market או מ-AMI שאתה בנית בעבר. יש לך רק מה שאמזון בנו שזה אמזון לינוקס (תואם CentOS בערך…), ואובונטו 16. לבחירתך ההפצות הללו כ"ערומות" או כהפצות + תוכנות קוד פתוח מוכנות, אבל שום דבר מעבר לזה. תשכחו מרשתות מורכבות וכו'.

לסיכום, המחיר עבורי הוא פחות או יותר אותו מחיר (רק שהפעם יש לי קרדיטים אז אני מאמין שה-3-4 חודשים הקרובים העלות היא על אמזון) – שזה במקרה שלי 40$ על אותה מכונה לחודש (2 ליבות, 4 ג'יגה זכרון, 60 ג'יגה דיסק, 5 טרה תעבורה בחודש החוצה). יש ל-LightSail פה ושם עדיין "מחלות ילדות" (בכל הקשור ל-VPC Peering) אבל אם שיחקת בעבר עם AWS, אתה תצליח להסתדר.

האם אני ממליץ להעביר מכונות שלכם לזה? אני לא ממש עושה SEO לבלוגים שלי כך שעוד 100 מילישניות לא משנים לי ממש (כי בין כה תקבלו את האתר בתצורתו הסטטית מאוד מהר דרך ה-CDN שאני משתמש – CloudFlare). יחד עם זאת, אני ממליץ להמתין שאמזון ירחיבו את השרות לאזורים אחרים גיאוגרפית ויטפלו במחלות הילדות.