הדף הזה מתייחס ל-Apigee, אבל לא ל-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
תעבורת נתונים יוצאת בין Apigee לבין שרת קצה עורפי עם כתובת IP ציבורית משתמשת ב-Cloud NAT כדי לתרגם את כתובת ה-IP הפרטית של מופע Apigee לכתובת IP ציבורית. אם ה-backend של היעד דורש הוספה לרשימת ההיתרים של כתובות IP, אתם יכולים להזמין ולהפעיל כתובות IP סטטיות של NAT לתעבורת נתונים יוצאת (egress). במאמר הזה מוסבר איך לחשב את מספר כתובות ה-IP של NAT סטטי שנדרשות כדי לתמוך בתנועה הצפויה.
לפני שמתחילים
אם בוחרים להשתמש בהקצאת כתובות IP סטטיות של NAT כדי לתמוך בהוספה לרשימת ההיתרים, צריך לחשב את מספר כתובות ה-IP הסטטיות המינימלי שנדרש כדי לתמוך בתנועת הגולשים הצפויה. כדי לבצע את החישוב הזה, תצטרכו את הפרטים הבאים:
- זמן מקסימלי לכל עסקה: זהו הזמן המקסימלי, בשניות, שיידרש לעסקה, מהתחלת הבקשה ועד סיום התגובה.
- מספר העסקאות המקסימלי לשנייה (TPS): זהו המספר המקסימלי של עסקאות לשנייה שהמופע של Apigee יכול לתמוך בו.
- מספר העסקאות המקסימלי לשנייה (TPS) עבור קצה עורפי ייחודי יחיד: זהו המספר המקסימלי של עסקאות לשנייה שכל קצה עורפי יחיד יכול לתמוך בו.
- מספר הסביבות המקסימלי: המספר המקסימלי של סביבות במופע Apigee הזה.
חישוב מספר כתובות ה-IP הסטטיות שנדרשות
אפשר להשתמש בנוסחאות הבאות כדי לחשב את המספר המינימלי של כתובות IP של NAT שצריך להקצות באופן סטטי:
- חשבו את המספר המקסימלי של יציאות מקוריות של NAT שנדרשות לכל קצה עורפי בתור $ S $.
$$ S = \lceil (150 + T) \times B \rceil $$
כאשר:
- $ T $ הוא הזמן המקסימלי לעסקה, בשניות.
- $ B $ הוא ה-TPS המקסימלי לכל קצה עורפי ייחודי.
- $ \lceil \rceil $ היא פונקציית התקרה (המספר השלם הקטן ביותר), כלומר עיגול כלפי מעלה למספר השלם הבא
- מחשבים את מספר היציאות המינימלי שמוגדרות למופע Apigee כ-N.
$$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$
כאשר:
- $ E $ הוא מספר סביבות Apigee.
- $ R $ הוא מספר העסקאות המקסימלי לשנייה (TPS) עבור מופע Apigee.
- $ \lceil \rceil $ היא פונקציית התקרה (המספר השלם הקטן ביותר), כלומר עיגול כלפי מעלה למספר השלם הבא
- הפונקציה $ \mathit{max}() $ מחזירה את הערך המקסימלי מבין שני הערכים.
- מספר הניודים הנדרש הוא $ P $.
$$ P = max(S, N) $$
כאשר:
- $ S $ הוא המספר המקסימלי של יציאות מקור NAT שנדרשות, כפי שחושב בשלב 1.
- $ N $ הוא מספר היציאות המינימלי שמופע Apigee משתמש בהן, כפי שחושב בשלב 2.
- הפונקציה $ \mathit{max}() $ מחזירה את הערך המקסימלי מבין שני הערכים.
- מחשבים את המספר המינימלי של כתובות IP של NAT שנדרש, ומסמנים אותו כ- $ I $.
$$ I = \lceil P / 64512 \rceil $$
כאשר:
- $ P $ הוא המספר המקסימלי של הניודים הנדרשים, שמחושב בשלב 3.
- $ \lceil \rceil $ היא פונקציית התקרה (המספר השלם הקטן ביותר), כלומר עיגול כלפי מעלה למספר השלם הבא
דוגמאות
דוגמה 1
בדוגמה הזו, אנחנו מצפים למקסימום של 10,000 עסקאות לשנייה בסביבה אחת. כל העסקאות הן בקשות HTTP GET, ומשך העסקה באחוזון ה-99 הוא 50 אלפיות השנייה (ms). הבקשות האלה מוגשות באופן לא אחיד על ידי מאגר של שרתים מאחורי 3 קצוות עורפיים של מאזני עומסים. אחד ממאזני העומסים מקבל 5,000 TPS, מאזן עומסים אחר מקבל 3,000 TPS ומאזן העומסים האחרון מקבל 2,000 TPS.
בדוגמה הזו, ערכי המפתח הם:
- זמן מקסימלי לכל עסקה: 50 אלפיות שנייה
- ה-TPS המקסימלי למופע Apigee: 10,000
- מספר העסקאות המקסימלי לשנייה (TPS) לקצה עורפי יחיד: 5,000
- מספר סביבות Apigee: 1
בעזרת הנוסחאות שצוינו קודם, אפשר לחשב את מספר כתובות ה-IP של NAT שנדרשות:
-
$$ \lceil (150 + 0.050) \times 5000 \rceil = \lceil 150.050 \times 5000 \rceil = \lceil 750250 \rceil = 750250 $$
המספר המקסימלי של יציאות מקור NAT שנדרשות לכל קצה עורפי, בהנחה שלא נעשה שימוש חוזר בחיבורים, הוא 750,250.
-
$$ max(4096 \times 1, \lceil {512 \over 75} \times 10000 \rceil) + 6144 $$$$ max(4096, \lceil 6.827 \times 10000 \rceil) + 6144 $$$$ max(4096, \lceil 68270 \rceil) + 6144 $$$$ 68270 + 6144 = 74414 $$
מספר יציאות המקור של NAT שזמן הריצה של Apigee משתמש בהן הוא 74,414.
-
$$ max(750250, 74414) = 750250 $$
המספר המקסימלי של יציאות מקור NAT שנדרשות לכל מופע הוא 750,250.
-
$$ \lceil 750250 / 64512 \rceil = \lceil 11.630 \rceil = 12 $$
מספר כתובות ה-IP של NAT שנדרשות כדי לתמוך ב-10,000 TPS לכל היותר של 50 אלפיות השנייה כל אחת (או פחות), כשזוג יציאות וכתובות IP של שרת קצה עורפי יחיד תומך ב-5,000 TPS לכל היותר, הוא 12.
דוגמה 2
בדוגמה הזו, אנחנו מצפים למקסימום של 1,000 עסקאות לשנייה ב-20 סביבות של Apigee. המשך של 99% מהעסקאות האלה הוא 5 שניות. הבקשות האלה יטופלו על ידי 8 שרתים עורפיים (backend) של יעד, והתנועה בדרך כלל תתחלק ביניהם באופן שווה. בגלל שיקולים של תחזוקה והפסקות זמניות, לא מצפים ששרת קצה עורפי ישרת יותר מ-250 עסקאות לשנייה.
בדוגמה הזו, ערכי המפתח הם:
- זמן מקסימלי לכל עסקה: 5 שניות
- מספר העסקאות המקסימלי לשנייה (TPS): 1,000
- מספר העסקאות המקסימלי לשנייה (TPS) לקצה עורפי יחיד: 250
- מספר סביבות Apigee: 20
בעזרת הנוסחאות שצוינו קודם, אפשר לחשב את מספר כתובות ה-IP של NAT שנדרשות:
-
$$ \lceil (150 + 5) \times 250 \rceil = \lceil 155 \times 250 \rceil = \lceil 38750 \rceil = 38750 $$
המספר המקסימלי של יציאות מקוריות של NAT שנדרשות לכל קצה עורפי, בהנחה שאין שימוש חוזר בחיבורים, הוא 38,750.
-
$$ max(4096 \times 20, \lceil {512 \over 75} \times 1000 \rceil) + 6144 $$$$ max(81920, \lceil 6.827 \times 1000 \rceil) + 6144 $$$$ max(81920, \lceil 6827 \rceil) + 6144 $$$$ 81920 + 6144 = 88064 $$
מספר יציאות המקור של NAT שזמן הריצה של Apigee משתמש בהן הוא 88,064 לפחות.
-
$$ max(38750, 88064) = 88064 $$
המספר המקסימלי של יציאות מקוריות של NAT שנדרשות לכל מכונה הוא 88,064.
-
$$ \lceil 88064 / 64512 \rceil= \lceil 1.365 \rceil= 2 $$
מספר כתובות ה-IP המינימלי של NAT שנדרש כדי לתמוך ב-1,000 עסקאות לשנייה (TPS) לכל היותר, כל אחת באורך של 5 שניות (או פחות), עם זוג יחיד של כתובת IP ופורט בעורף המערכת שתומך ב-250 עסקאות לשנייה לכל היותר, הוא 2.
דוגמה 3
בדוגמה הזו, אנחנו רוצים לחשב את ה-TPS המקסימלי שאפשר להשיג עם 2 כתובות IP של NAT לשרת קצה עורפי יעד יחיד. הזמן המקסימלי לכל עסקה הוא כ-100 אלפיות השנייה.
בדוגמה הזו, ערכי המפתח הם:
- זמן מקסימלי לכל טרנזקציה: 100 אלפיות השנייה
- מספר כתובות ה-IP של NAT: 2
במקרה כזה, אפשר להשתמש בנוסחאות שבשלב 4 ובשלב 1 כדי לחשב את המספר המקסימלי של יציאות מקור NAT שזמינות ואת מספר ה-TPS שיציאות המקור האלה יכולות לתמוך בו:
-
$$ 2 = \lceil P / 64512 \rceil $$$$ 129024 = P $$
מספר יציאות המקור המקסימלי של NAT שניתן לספק הוא 129,024.
-
$$ 129024 = \lceil (150 + 0.100) \times B \rceil $$$$ 129024 = \lceil 150.1 \times B \rceil $$$$ \lfloor 129024 / 150.1 \rfloor = B $$$$ \lfloor 859.587 \rfloor = B $$$$ 859 = B $$
ה-TPS המקסימלי הוא 859 עם 2 כתובות IP של NAT לבק-אנד יחיד, בהנחה שאין שימוש חוזר בחיבור.