איזון עומסים מתקדם ואשכול בשירותי האינטרנט של אמזון

צפה בקטגוריות

איזון עומסים מתקדם ואשכול בשירותי האינטרנט של אמזון

11 דק קריאה

מבוא #

המאמר הבא מתאר כיצד להגדיר שירותי איזון עומסים מתקדמים עם Relianoid Load Balancer לזמינות גבוהה בתשתית Amazon Web Services EC2 . נתאר את ההליך להגדרת אשכול Relianoid וקביעת תצורה של פרופיל איזון עומסים TCP עבור שירותי איזון עומסים HTTP עם 3 שרתי backend של אינטרנט.

תשתית AWS ורליאנויד #

התרשים הבא מתאר את הארכיטקטורה שאנו רוצים ליישם איזון עומסי אינטרנט עם Relianoid Application Delivery Controller ב-AWS.

נדרש לפרוס שני בקרי משלוח יישומים של Relianoid. תבנית זו זמינה בשוק שירותי האינטרנט של אמזון, וכל בקר משלוח יישומים של Relianoid מוגדר באותו VPC כמו שרתי ה-backend של האינטרנט כפי שמוצג בתרשים למעלה עם רשת המשנה 17.32.16.0./20.

כל מופע של ADC של Relianoid מוגדר עם ממשק אחד eth0 , וכל מופע מוקצה לכתובת IP אלסטית אחת . בנוסף, כתובת IP אלסטית נוספת מוקצית לכתובת IP נוספת דרך eth0 במופע ZLB1-prod , אשר תשמש למטרות איזון עומסים, כמתואר להלן:

ZLB1-prod מוקצה ל 172.31.20.89 ב- eth0, ניתן להגיע ישירות למופע זה על ידי אחד IP אלסטי 34.225.30.206
ZLB2-prod מוקצה ל 172.31.26.237 ב- eth0, ניתן להגיע ישירות למופע זה על ידי אחד IP אלסטי 54.161.240.226

כתובת IP נוספת מוקצית ל- ZLB1-prod ומוגדרת במאזן העומסים בשם eth0:vip1 וכתובת IP 172.31.26.47 . כתובת IP זו משמשת להגדרת שירות איזון עומסים אחד ולהיות חלק משירות האשכול , כך שכתובת IP זו תעבוד רק באחד ממופעי Relianoid בכל פעם, המנהל את התפקיד ACTIVE באשכול. כתובת IP פנימית זו מוקצית לכתובת IP אלסטית אחת, אליה ניגשים לקוחות כדי להתחבר לשירות האינטרנט האמיתי שפורסם.

לבסוף , backend01 , backend02 ו- backend03 הם מופעי EC2 עם שרתי אינטרנט מבוססי לינוקס, מופעים אלה הם חלק משירות איזון העומסים שבו הלקוח מתחבר כאשר הוא מתבקש http://54.144.190.17/.

פריסת שני מופעי Relianoid ב-AWS Marketplace #

בואו נפרוס שני מאזני עומסים של Relianoid ונגדיר אותם כפי שתואר קודם לכן.

עבור אל מקטע EC2 instances ולחץ על Launch instance.

1. חפש את ה-AMI הנדרש עבור Relianoid Load Balancer Enterprise Edition. AMI זה מבוסס על מודל רישיון BYOL. שלב ההערכה הוא ללא תשלום וכולל סיוע במשך חודש אחד, לאחר תקופה זו נדרש רישיון סופי לעבודה.

2. בחר סוג מופע . בחר כאן את המופע הדרוש בהתבסס על המשאבים שברצונך לאזן עומסים. מופע t2.small יחיד טוב כדי להתחיל לעבוד עם פרופילי L4 , אבל אם אתה רוצה להשתמש בפרופילי HTTP , אנו ממליצים על לפחות מופע t2.medium . עם זאת, מופע t2.micro מספיק טוב למטרות בדיקה.

3. הגדרת פרטי מופע . בחר כאן את ה-VPC שמריץ את מופעי Relianoid החדשים, בדוגמת תצורה זו נציג את מופעי Relianoid EC2 באותו VPC בו נמצאים שרתי ה-web backend האמיתיים שכבר הוגדרו.

4. הוסף אחסון . כברירת מחדל, מופע Relianoid EC2 דורש לפחות 12 ג'יגה-בייט של אחסון, אם ברצונך להפעיל יומני רישום כברירת מחדל, אנו ממליצים להגדיל גודל זה לפחות ל-20 ג'יגה-בייט. Relianoid אינו דורש גישה לדיסק, רק כדי לשמור יומני רישום, כך שסוג אמצעי האחסון למטרות כלליות הוא בחירה טובה.

5. הוסף תגיות . הגדר כאן כמה תגי תיאור אם תרצה בכך.

6. הגדרת קבוצת אבטחה . Relianoid משתמש כברירת מחדל ביציאת TCP 444 למטרות ניהול ממשק משתמש גרפי של HTTPS, 9999 עבור daemon סינכרון Sessions, וביציאת TCP 22 ב-SSH למטרות ניהול שורת פקודה וארגון אשכולות. בנוסף, כל יציאה וירטואלית המשמשת בשירותי מאזן העומסים הווירטואליים תידרש להיכלל בקבוצת האבטחה שלך. הגדרתנו קבוצת אבטחה המשמשת עבור מופעי Relianoid EC2 במצב פחות מגביל כדלקמן:

TYPE = כל התעבורה פרוטוקול = ALL טווח יציאות = כל המקור = 0.0.0.0/0 תיאור = אפשר הכל מכולם ועד כולם

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

לאחר שעוזר התצורה יחזור לרשימת המופעים של EC2, המכשיר החדש יתחיל להיפרס ומצב ההפעלה יוצג. לאחר מכן, הגדר שם תיאורי בשדה שם , במקרה שלנו, מאזני העומסים שנפרסו ב-EC2 נקראים ZLB1-prod ו- ZLB2-prod.

הגדרת הרשת עבור מופעי Relianoid EC2 #

לאחר פריסת המכשירים הווירטואליים של Relianoid ומצבי המופע מציגים מצב הפעלה , נוכל להמשיך לתצורת הרשת.

לחץ על הכפתור הימני מעל מכשיר ZLB1-prod ובחר Networking > Manage IP Addresses . בחלון הקופץ Manage IP Addresses לחץ על Assign new IP (הקצה IP חדש) ולחץ על הכפתור Yes, Update (כן, עדכון) . המערכת תקצה IP חדשה עבור eth0 באותו VPC. זכור את ה-IP החדש הזה, בדוגמה שלנו, ה-IP החדש יהיה 172.31.26.47 . המערכת הקצתה IP חדש שישמש למטרות איזון עומסים בשירות אשכולות עתידי.

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

באותו מקטע Elastic IP , הקצה IP חדש ל- ZLB1-prod , אך במקרה זה, בחר את כתובת ה-IP הפרטית 172.31.26.47 . לאחר תצורה זו, ZLB1-prod יהיה נגיש דרך האינטרנט ו-SSH עם ה-IP 34.225.30.206 , אך ZLB2-prod יהיה נגיש דרך אותם שירותים עם ה-IP 54.161.240.226 ו- Elastic IP 54.144.190.17 שהוקצו ל-IP 172.31.26.47.

הפעלת מופעי Relianoid EC2 עם רישיונות זמניים #

לאחר קביעת תצורת ה- IP האלסטי, מאזני העומסים הווירטואליים יהיו נגישים באופן הבא:

ZLB1-prod יהיה נגיש דרך https://34.225.30.206:444 שורש משתמש וסיסמא מזהה המופע.
ZLB1-prod יהיה נגיש דרך ssh ב- IP 34.225.30.226 עם מנהל משתמש וקובץ אישור פרטי, זה מוגדר בזמן הפריסה EC2.
ZLB2-prod יהיה נגיש דרך https://54.161.240.226:444 שורש משתמש וסיסמא מזהה המופע.
ZLB2-prod יהיה נגיש דרך ssh ב- IP 54.161.240.226 עם מנהל משתמש וקובץ אישור פרטי, זה מוגדר בזמן הפריסה EC2.

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

לאחר הגישה לממשק המשתמש הגרפי של האינטרנט תושלם בהצלחה, תראו שני ערכים חשובים, שם המארח ומפתח האישור. שני המידע ייחודיים לכל מאזן עומסים וקשורים לרישיון ההפעלה. השתמשו במידע זה בכתובת האתר הבאה כמתואר: https://www.relianoid.com/activate-enterprise-edition-cloud-evaluation/

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

בצע את אותו הליך הפעלה בשני הצמתים ZLB1-prod ו- ZLB2-prod.

הגדרת ה- IP הוירטואלי לאיזון עומסים #

בנקודה הקודמת, כבר הקצינו כתובת IP נוספת ל-eth0 172.31.26.47 במופע ZLB1-pro, וכתובת IP זו הוקצתה לכתובת IP אלסטית אחת מדגם 54.144.190.17 , כעת היא ממתינה לביצוע תצורה זו במאזן העומסים של ZBL1-pro.

עבור אל מאזן העומסים של ZLB1-pro דרך ממשק האינטרנט באמצעות כתובת ה-IP האלסטית שלו https://34.225.30.206:444 , לאחר שתתחבר, עבור לתפריט הניווט רשת > ממשקים וירטואליים > צור ממשק וירטואלי , ובצע את התצורה הבאה:

ממשק הורה = eth0 172.31.26.47

* מכיוון שמופעי EC2 אינם יודעים דבר על IP אלסטי, עלינו להגדיר כאן את ה- IP הפיזי של מופע EC2 המקושר ל- IP האלסטי הציבורי המשמש למטרת איזון עומס 54.144.190.17

שם ממשק וירטואלי = vip1
כתובת IP = 172.31.26.47

לחץ על כפתור צור כדי להחיל את התצורה.

כעת הוגדרה כתובת IP חדשה 172.31.26.47 בשם eth0:vip1 ב-ZLB1-pro EC2 Relianoid Load Balancer וניתן לבצע pinging אליה מכל מופע EC2 ב-VPC זה.

הגדרת שירות אשכול Relianoid בשירותי האינטרנט של אמזון #

אשכול Relianoid Load Balancer פועל במצב פעיל-פסיבי , משמעות הדבר היא שמשאבי האשכול מוגדרים בשני הצמתים אך זמינים רק בצומת הפעיל . כאשר צומת כזה נכשל ותפקיד זה מופעל בחבר השני, יש לגשת שוב למשאבי האשכול. מכיוון שכתובות ה-IP הווירטואליות הן גם משאבי אשכול, יש להודיע ​​​​בדרך כלשהי לשירות האינטרנט של אמזון שה-IP הווירטואלי שתצורתו נקבעה לאיזון עומסים 172.31.26.47 יעבוד כעת דרך ZLB2-prod.

לשם כך, שירות Relianoid Cluster משתמש בלקוח AWS שיש להגדיר אותו עם הרשאות במודול EC2 לניהול ממשקים, לכן לפני שנתחיל את שירות Relianoid Cluster עלינו להכין אותו. אז בואו נגדיר מפתח AWS בחשבון שלך עם הרשאות לניהול כתובות IP ב-EC2 לשימוש בממשק שורת הפקודה של AWS.

עבור אל Amazon Console https://console.aws.amazon.com/iam/ , לאחר מכן בתפריט הניווט בחר משתמש . לחץ על הכפתור הוסף משתמש.

הגדר שם משתמש תיאורי = aws-for-zlb

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

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

כעת אנו מוכנים להגדיר את שירות אשכול Relianoid, לכן גשו לפאנל האינטרנט ב-ZLB1-pro דרך כתובת ה-IP הציבורית שהוקצתה https://34.225.30.206:444, בקטע System > Cluster ומלאו את הטופס לפי הדוגמה:

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

הגדרת אשכול :

כתובת IP מקומית: בחר את ה- IP וה- NIC של eth0.
IP מרוחק: הזן כאן את ה- IP של eth0 בצומת ZLB2-pro.
סיסמת צומת מרחוק ו אשר סיסמה: הזן כאן את סיסמת השורש עבור ssh בצומת האחר, כברירת מחדל את מזהה המופע של ZLB2-pro.

לחץ על כפתור "צור" והמתן מספר שניות. בינתיים, הצומת שבו אתה מפעיל את התצורה ייקח את התפקיד הפעיל (ZLB1-pro) והצומת השני (ZLB2-pro) ייקח את התפקיד הפסיבי.

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

הגדרת איזון עומס L4 פשוט לשירותי אינטרנט #

עבור אל LSLB > חוות > צור חווה עם הפרמטרים הבאים.

קחו בחשבון שכתובת ה-IP הווירטואלית 172.31.26.47 שנעשה בה שימוש היא כתובת ה-IP הווירטואלית שהוגדרה קודם לכן ומשאב של האשכול שאליו יהיה ניתן להגיע תמיד מהצומת ACTIVE . לחצו על צור והמשך.

כעת, בחלון החדש, הגדר את הקטע הגלובלי כפי שמוצג להלן:

ולבסוף, הגדר את המקטע שירותים כמתואר:

השתמשו בכתובת IP עקבית עם פסק זמן של 60 שניות למקרה שצריך להבטיח שאותה כתובת IP של הלקוח תהיה מחוברת לאותו שרת backend לאורך פרק זמן מסוים. הגדירו את בדיקות התקינות המתקדמות באמצעות FarmGuardian . השתמשו ב-check_tcp כבדיקת תקינות פשוטה כדי לוודא שיציאת TCP backend 80 פתוחה בכל שרת backend. לאחר מכן, הוסיפו את כתובות ה-IP והיציאות הפנימיות של שרתי backend שבהן פועלים שירותי האינטרנט האמיתיים.

כעת בדקו את החיבור לכתובת ה- IP האלסטית http://54.144.190.17/ שהוקצתה לכתובת ה-IP הפנימית 172.31.26.47, החיבור יעבור דרך מאזן העומסים באמצעות eth0:vip1 ויועבר לאחד מהשרתים האחוריים הזמינים.

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

הוספת ממשקים חדשים ל-Load Balancer #

למטרות איזון או לכל דבר אחר, ניתן להגדיר ממשקים נוספים למאזן העומסים. לשם כך, פשוט לבצע את השלבים המתוארים על ידי AWS כדי להוסיף ממשקים חדשים למופע EC2. אנא עיינו במאמר ש-AWS מספק כדי להבין טוב יותר את שיטות העבודה המומלצות לכך. https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/best-practices-for-configuring-network-interfaces.html . בעת הוספת ממשקים חדשים למופע EC2, Relianoid יזהה ממשקים חדשים אלה באופן אוטומטי, כך שתוכלו כעת להשתמש בו כדי להגדיר אותו כרצונכם.

 

תיהנו מאיזון עומסים ואשכולות מתקדמים ב-AWS עם Relianoid!

📄 הורד מסמך זה בפורמט PDF #

    דואר אלקטרוני: *

    מופעל על ידי BetterDocs