חישוב הדרישות לגבי כתובות IP ל-NAT סטטי

הדף הזה מתייחס ל-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 שצריך להקצות באופן סטטי:

  1. כדי לחשב את המספר המקסימלי של יציאות מקוריות של NAT שנדרשות לכל קצה עורפי, משתמשים בנוסחה $ S $.
    $$ S = \lceil (150 + T) \times B \rceil $$

    כאשר:

    • ‫$ T $ הוא הזמן המקסימלי לעסקה, בשניות.
    • ‫$ B $ הוא ה-TPS המקסימלי לכל קצה עורפי ייחודי.
    • ‫$ \lceil \rceil $ היא פונקציית התקרה (המספר השלם הקטן ביותר), כלומר עיגול כלפי מעלה למספר השלם הבא
  2. מחשבים את מספר היציאות המינימלי שמשמשות את מופע Apigee כ-N$.
    $$ N = max(4096 \times E, \lceil {512 \over 75} \times R \rceil) + 6144 $$

    כאשר:

    • ‫$ E $ הוא מספר סביבות Apigee.
    • ‫$ R $ הוא מספר העסקאות המקסימלי לשנייה (TPS) עבור מופע Apigee.
    • ‫$ \lceil \rceil $ היא פונקציית התקרה (המספר השלם הקטן ביותר), כלומר עיגול כלפי מעלה למספר השלם הבא
    • הפונקציה $ \mathit{max}() $ מחזירה את הערך המקסימלי מבין שני הערכים.
  3. נניח שמספר הניודים המקסימלי שנדרש הוא $ P $.
    $$ P = max(S, N) $$

    כאשר:

    • ‫$ S $ הוא המספר המקסימלי של יציאות מקוריות של NAT שנדרשות, כפי שחושב בשלב 1.
    • ‫N$ הוא מספר היציאות המינימלי שנעשה בהן שימוש במופע Apigee, כפי שחושב בשלב 2.
    • הפונקציה $ \mathit{max}() $ מחזירה את הערך המקסימלי מבין שני הערכים.
  4. מחשבים את מספר כתובות ה-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 שנדרשות:

  1. $$ \lceil (150 + 0.050) \times 5000 \rceil = \lceil 150.050 \times 5000 \rceil = \lceil 750250 \rceil = 750250 $$

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

  2. $$ 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.

  3. $$ max(750250, 74414) = 750250 $$

    המספר המקסימלי של יציאות מקור NAT שנדרשות לכל מכונה וירטואלית הוא 750,250.

  4. $$ \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 שנדרשות:

  1. $$ \lceil (150 + 5) \times 250 \rceil = \lceil 155 \times 250 \rceil = \lceil 38750 \rceil = 38750 $$

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

  2. $$ 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.

  3. $$ max(38750, 88064) = 88064 $$

    המספר המקסימלי של יציאות מקור NAT שנדרשות לכל מכונה הוא 88,064.

  4. $$ \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 שיציאות המקור האלה יכולות לתמוך בו:

  1. $$ 2 = \lceil P / 64512 \rceil $$
    $$ 129024 = P $$

    מספר יציאות המקור של NAT המקסימלי שניתן לספק הוא 129,024.

  2. $$ 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 לשרת קצה עורפי יחיד, בהנחה שאין שימוש חוזר בחיבור.