הדף הזה מתייחס ל-Apigee, אבל לא ל-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
תעבורה יוצאת בין Apigee לבין קצה עורפי של יעד עם כתובת IP ציבורית משתמשת ב-Cloud NAT כדי לתרגם את כתובת ה-IP הפרטית של מופע Apigee לכתובת IP ציבורית. אם ה-backend של היעד דורש הוספה לרשימת ההיתרים של כתובות IP, אפשר להזמין ולהפעיל כתובות IP סטטיות של NAT לתנועת יציאה. במאמר הזה מוסבר איך לחשב את מספר כתובות ה-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 עסקאות לשנייה לכל היותר, הוא 12.
דוגמה 2
בדוגמה הזו, אנחנו מצפים למקסימום של 1,000 עסקאות לשנייה ב-20 סביבות של Apigee. המשך של 99% מהעסקאות האלה הוא 5 שניות. הבקשות האלה יטופלו על ידי 8 שרתים עורפיים (backend) של היעד, והתנועה בדרך כלל מתחלקת באופן שווה בין כולם. בגלל תחזוקה והפסקות שירות, לא צפוי ששרת קצה עורפי ישרת יותר מ-250 TPS.
בדוגמה הזו, ערכי המפתח הם:
- זמן מקסימלי לכל עסקה: 5s
- מספר העסקאות המקסימלי בשנייה (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 עסקאות לשנייה (TPS) לכל היותר, הוא 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 לשרת קצה עורפי יחיד, בהנחה שאין שימוש חוזר בחיבור.