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

פורסם על ידי זאבנט | 24 ביולי, 2020

מבוא

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

תשתיות AWS ו- ZEVENET

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

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

כל מופע של ZEVENET ADC מוגדר עם ממשק אחד eth0, וכל מופע מוקצה לאחד IP אלסטי, גם 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 זה יעבוד רק באחד מהמופעים של ZEVENET בכל פעם, שמנהל את ה- פעיל תפקיד באשכול. IP פנימי זה מוקצה ל- IP אלסטי אחד, אליו ניגשים הלקוחות להתחבר לשירות האינטרנט האמיתי שפורסם.

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

פריסת שני מופעי ZEVENET בשוק AWS

מאפשר לפרוס שני מאזני עומס של ZEVENET ולהגדיר אותם כמתואר קודם.

עבור לסעיף מופעי EC2 ולחץ פנימה הפעל מופע.

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

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

3. גדר פרטי המופע. בחר כאן את ה- VPC בו מפעיל את המופעים החדשים של ZEVENET, בדוגמת התצורה הזו נציג את המופעים של ZEVENET EC2 באותו VPC מאשר שרתי ה- backends באינטרנט האמיתיים שכבר הוגדרו.

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

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

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

TYPE = All traffic
Protocol = ALL 
Port Range = All
Source = 0.0.0.0/0
Description = Allow all from all to all

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

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

הגדרת התצורה של הרשת למופעי ZEVENET EC2

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

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

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

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

הפעלת מופעי ZEVENET 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 כדי להחיל שינויים.

לאחר הגישה ל- GUI לאינטרנט נעשית בהצלחה תראו שני ערכים חשובים, שם המארח ומפתח האישור, שני המידע הם ייחודיים לכל איזון עומסים וקשורים לרישיון ההפעלה, השתמשו במידע זה בכתובת האתר הבאה כמתואר: https://www.zevenet.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, ברגע שאתה מחובר, עבור לתפריט הניווט רשת> ממשקים וירטואליים> יצירת ממשק וירטואלי, ובצע את התצורה הבאה:

Parent Interface = eth0 172.31.26.47

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

Virtual Interface name = vip1
IP Address = 172.31.26.47

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

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

קביעת תצורה של שירות ZEVENET Cluster בשירותי האינטרנט של אמזון

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

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

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

Configure a descriptive User name = aws-for-zlb

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

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

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

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

הגדר אשכול:

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

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

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

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

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

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

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

ולבסוף, קבע את התצורה של החלק שירותים כפי שתואר:

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

כעת בדוק את החיבור ל- IP אלסטי http://54.144.190.17/ assigned to the internal IP 172.31.26.47, the connection will pass through the load balancer using the eth0: vip1 והועבר לאחד המגבים הזמינים.

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

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

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

 

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

תשתף:

תיעוד על פי תנאי הרישיון לשימוש חופשי במסמכים של גנו.

האם המאמר הזה היה מועיל?

מאמרים נוספים