שינוי הגדרות NAT
אחרי שמגדירים את שער Cloud NAT (NAT ציבורי או NAT פרטי), אפשר לערוך את ההגדרה לפי הדרישות. בדף הזה מפורטות המשימות שאפשר לבצע כדי לשפר את ההגדרה של Cloud NAT.
עריכת ההגדרות עלולה לשבש את הפעולה ולגרום לניתוק של חיבורים קיימים של תרגום כתובות רשת (NAT). מידע נוסף על ההשפעה של שינוי הגדרות Cloud NAT זמין במאמר ההשפעה של שינוי הגדרות NAT על חיבורי NAT קיימים.
הצגת נתוני השימוש ביציאה
לפני שמשנים את השימוש המינימלי ביציאות לכל מכונה וירטואלית, חשוב לבדוק את השימוש ביציאות לכל מכונה וירטואלית. אפשר לקבל את המידע הזה באמצעות מדד compute.googleapis.com/nat/port_usage.
נכנסים לדף Monitoring במסוף Google Cloud .
בחלונית הניווט, בוחרים באפשרות Metrics Explorer (הכלי לבחירת מדדים)
.מרחיבים את התפריט Select a metric ומשתמשים בתפריטי המשנה כדי לבחור את המדד
compute.googleapis.com/nat/port_usage:- בשדה Resource, בוחרים באפשרות VM instance.
- בקטגוריה Metric category, בוחרים באפשרות Nat.
- בשדה מדד, בוחרים באפשרות שימוש ביציאה.
לוחצים על אישור.
כדי לבחור את שער Cloud NAT, משתמשים בשדה Filters (מסננים).
בקטע קיבוץ לפי, בשדה labels, בוחרים באפשרות instance_id.
ברשימה Grouping function בוחרים באפשרות Max.
מרחיבים את אפשרויות נוספות ומגדירים את השדה Aligner (כלי ההתאמה) לערך max (מקסימום).
כדי לראות את נתוני השימוש ב-30 הימים האחרונים, מציינים
30d.
מידע נוסף על השימוש ב-Metrics Explorer מופיע במאמר איך בוחרים מדדים כשמשתמשים ב-Metrics Explorer.
בחירת מספר מינימלי של יציאות לכל מכונה וירטואלית
חשוב לבחור מספר מינימלי מתאים של יציאות כדי למקסם את השימוש בכתובות IP של NAT.
לפני שמגדילים את מספר היציאות לכל מכונה וירטואלית, כדאי לשקול אסטרטגיות אחרות לצמצום השימוש ביציאות.
אם אתם צריכים להגדיל את מספר היציאות לכל מכונה וירטואלית, כדאי קודם לבדוק את השימוש ביציאות לכל מכונה וירטואלית בשער. מידע על אופן איתור הנתונים האלה מופיע במאמר צפייה בשימוש ביציאות.
כדאי לבדוק את השימוש המקסימלי ביציאות ב-30 הימים האחרונים, או בתקופה אחרת שלדעתכם מייצגת את שער Cloud NAT.
מבצעים אחת מהפעולות הבאות:
אם אתם משתמשים בהקצאת יציאות סטטית, הגדירו את מספר היציאות לכל מכונה וירטואלית כך שהמספר המינימלי יהיה שווה לשימוש הנוכחי שלכם ביציאות בשיא.
אם אתם משתמשים בהקצאת יציאות דינמית, צריך להגדיר את מספר היציאות לכל מכונה וירטואלית כך שהערך המינימלי יהיה נמוך משיא השימוש ביציאות והערך המקסימלי יהיה גבוה משיא השימוש ביציאות.
שינוי מספר ברירת המחדל המינימלי של יציאות שמוקצות לכל מכונה וירטואלית
כדי לקבל עזרה בהחלטה איך להגדיר את המספר המינימלי של יציאות לכל מכונה וירטואלית, אפשר לעיין במאמר בנושא בחירת מספר מינימלי של יציאות לכל מכונה וירטואלית.
בסעיפים הבאים מוסברות ההשלכות של שינוי ההקצאה המינימלית של יציאות:
אם בשער Cloud NAT מוגדרת הקצאת יציאות דינמית, אפשר לעיין במאמר שינוי היציאות המינימליות או המקסימליות כשמוגדרת הקצאת יציאות דינמית.
המסוף
נכנסים לדף Cloud NAT במסוף Google Cloud .
לוחצים על שער Cloud NAT.
לוחצים על עריכה.
לוחצים על הגדרות מתקדמות.
משנים את הערך בשדה Minimum ports per VM instance (יציאות מינימליות לכל מכונה וירטואלית).
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud compute routers nats update.
הפקודה הזו לא משנה את שאר השדות בהגדרת Cloud NAT.
gcloud compute routers nats update NAT_CONFIG \
--router=ROUTER_NAME \
--region=REGION \
--min-ports-per-vm=128
מחליפים את מה שכתוב בשדות הבאים:
-
NAT_CONFIG: השם של הגדרת Cloud NAT. -
ROUTER_NAME: השם של Cloud Router -
REGION: האזור של Cloud NAT שרוצים לעדכן. אם לא מציינים אזור, יכול להיות שתתבקשו לבחור אזור (רק במצב אינטראקטיבי).
שינוי שיטת הקצאת היציאות
יש דרישות שונות להגדרת הקצאת יציאות סטטית והקצאת יציאות דינמית.
לפני שמעדכנים את סוג הקצאת היציאות בשער Cloud NAT קיים, צריך לוודא שההגדרה של שער Cloud NAT תואמת לסוג הקצאת היציאות הזה. אם ההגדרה לא תואמת, השינוי ייכשל.
אם יש הקצאה דינמית של יציאות, צריך לוודא שמיפוי ללא תלות בנקודת הקצה מושבת.
בודקים שההגדרה של מספר היציאות המינימלי לכל מכונה וירטואלית היא חזקה של 2, ושהיא בין 32 ל-32,768.
המסוף
נכנסים לדף Cloud NAT במסוף Google Cloud .
לוחצים על שער Cloud NAT.
לוחצים על עריכה.
לוחצים על הגדרות מתקדמות.
מסמנים או מבטלים את הסימון של האפשרות הפעלת הקצאת יציאות דינמית.
אם צריך, משנים את הערכים של Minimum ports per VM instance ושל Maximum ports per VM instance.
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud compute routers nats update.
הפקודה הזו לא משנה את שאר השדות בהגדרת Cloud NAT.
gcloud compute routers nats update NAT_CONFIG \
--router=ROUTER_NAME \
--region=REGION \
--enable-dynamic-port-allocation | --no-enable-dynamic-port-allocation \
[ --min-ports-per-vm=MIN_PORTS ] \
[ --max-ports-per-vm=MAX_PORTS ]
מחליפים את מה שכתוב בשדות הבאים:
-
NAT_CONFIG: השם של הגדרת Cloud NAT. -
ROUTER_NAME: השם של Cloud Router -
REGION: האזור של Cloud NAT שרוצים לעדכן. אם לא מציינים אזור, יכול להיות שתתבקשו לבחור אזור (רק במצב אינטראקטיבי). -
MIN_PORTS: מספר היציאות המינימלי להקצאה לכל VM. אם הקצאת יציאות דינמית מופעלת, הערך שלMIN_PORTSחייב להיות חזקה של2, והוא יכול להיות בין32ל-32768. -
MAX_PORTS: המספר המקסימלי של יציאות להקצאה לכל VM. הערך שלMAX_PORTSחייב להיות חזקה של2, והוא יכול להיות בין64ל-65536. הערך שלMAX_PORTSחייב להיות גדול מ-MIN_PORTS. ערך ברירת המחדל הוא65536.
שינוי יציאות מינימליות או מקסימליות כשהקצאת יציאות דינמית מוגדרת
אחרי שמגדירים הקצאה דינמית של יציאות, אפשר לשנות את המספר המינימלי או המקסימלי של יציאות שמוקצות לכל מכונה וירטואלית.
כדי לקבל עזרה בהחלטה איך להגדיר את המספר המינימלי של יציאות לכל מכונה וירטואלית, אפשר לעיין במאמר בנושא בחירת מספר מינימלי של יציאות לכל מכונה וירטואלית.
בסעיפים הבאים מוסברות ההשלכות של שינוי ההקצאה המינימלית של יציאות:
המסוף
נכנסים לדף Cloud NAT במסוף Google Cloud .
לוחצים על שער Cloud NAT.
לוחצים על עריכה.
לוחצים על הגדרות מתקדמות.
משנים את הערכים בשדות Minimum ports per VM instance ו-Maximum ports per VM instance.
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud compute routers nats update.
הפקודה הזו לא משנה את שאר השדות בהגדרת Cloud NAT.
gcloud compute routers nats update NAT_CONFIG \
--router=ROUTER_NAME \
--region=REGION \
--min-ports-per-vm=MIN_PORTS \
--max-ports-per-vm=MAX_PORTS
מחליפים את מה שכתוב בשדות הבאים:
-
NAT_CONFIG: השם של הגדרת Cloud NAT. -
ROUTER_NAME: השם של Cloud Router -
REGION: האזור של Cloud NAT שרוצים לעדכן. אם לא מציינים אזור, יכול להיות שתתבקשו לבחור אזור (רק במצב אינטראקטיבי). -
MIN_PORTS: מספר היציאות המינימלי להקצאה לכל VM. אם הקצאת יציאות דינמית מופעלת, הערך שלMIN_PORTSחייב להיות חזקה של2, והוא יכול להיות בין32ל-32768. -
MAX_PORTS: המספר המקסימלי של יציאות להקצאה לכל VM. הערך שלMAX_PORTSחייב להיות חזקה של2, והוא יכול להיות בין64ל-65536. הערך שלMAX_PORTSחייב להיות גדול מ-MIN_PORTS.
שינוי הזמנים הקצובים לתפוגה של NAT
בקטעים הבאים מוסבר על פסק זמן של NAT ואיך לשנות אותו:
- פסק זמן של NAT
- שינוי ערכי הזמן הקצוב לתפוגה של NAT
- איפוס ערכי הזמן הקצוב לתפוגה של NAT לערכי ברירת המחדל
הזמן הקצוב לתפוגה של NAT
ב-Cloud NAT נעשה שימוש בערכי הזמן הקצובים לתפוגה הבאים. הערכים של הזמן הקצוב לתפוגה חלים גם על NAT ציבורי וגם על NAT פרטי, אלא אם צוין אחרת. אתם יכולים לשנות את ערכי ברירת המחדל של הזמן הקצוב לתפוגה כדי להקטין או להגדיל את קצב השימוש החוזר ביציאות. כל ערך של זמן קצוב לתפוגה הוא איזון בין שימוש יעיל במשאבי Cloud NAT לבין שיבוש אפשרי בחיבורים, בזרימות או בסשנים פעילים.
הזמן הקצוב לתפוגה של עיבוד נתונים משתנה עד חמש שניות, כלומר הזמן הקצוב לתפוגה בפועל יכול להיות עד חמש שניות לפני או אחרי הזמן הקצוב לתפוגה שהוגדר. כדי למנוע פסק זמן קצר מדי, מוסיפים חמש שניות לערך ההגדרה הרצוי.
| זמן קצוב לתפוגה | תיאור | ברירת המחדל של Cloud NAT | ניתן להגדרה |
|---|---|---|---|
|
זמן קצוב לתפוגה של מיפוי UDP במצב לא פעיל RFC 4787 REQ-5 |
מציינת את הזמן בשניות שאחריו זרימות UDP צריכות להפסיק לשלוח תעבורה לנקודות קצה כדי שהמיפויים של Cloud NAT יוסרו. פסק זמן של חוסר פעילות במיפוי UDP משפיע על שתי נקודות קצה שמפסיקות לשלוח תנועה זו לזו. הוא משפיע גם על נקודות קצה (endpoints) שלוקח להן יותר זמן להגיב, או אם יש השהיה מוגברת ברשת. אפשר להגדיל את ערך הזמן הקצוב לתפוגה שצוין כדי להקטין את הקצב שבו אפשר לעשות שימוש חוזר ביציאות. ערך הזמן הקצוב לתפוגה הגדול יותר מציין שהיציאות מוחזקות לחיבורים ארוכים יותר, וגם מגן מפני הפסקות בתנועה בסוקט UDP ספציפי. |
30 שניות | כן |
|
הזמן הקצוב לתפוגה של חיבור TCP לא פעיל RFC 5382 REQ-5 |
מציינת את הזמן בשניות שחיבור נמצא במצב בלי פעילות לפני שהמיפויים של Cloud NAT מוסרים. ההגדרה TCP Established Connection Idle Timeout משפיעה על נקודות קצה שלוקח להן יותר זמן להגיב, או אם יש זמן אחזור מוגבר ברשת. אפשר להגדיל את ערך הזמן הקצוב לתפוגה כשרוצים לפתוח חיבורי TCP ולשמור על החיבורים פתוחים למשך זמן ארוך בלי להשתמש במנגנון keepalive. |
1,200 שניות (20 דקות) | כן |
|
הזמן הקצוב לתפוגה של חיבור TCP לא פעיל RFC 5382 REQ-5 |
מציין את הזמן בשניות שחיבורי TCP יכולים להישאר במצב חצי פתוח לפני שאפשר למחוק את המיפויים של Cloud NAT. פסק הזמן של חיבור TCP זמני במצב סרק משפיע על נקודת קצה כשלוקח לנקודת קצה חיצונית יותר זמן מהזמן שצוין, או כשיש עלייה בזמן האחזור של הרשת. בניגוד לזמן הקצוב לתפוגה של חיבור TCP פעיל, הזמן הקצוב לתפוגה של חיבור TCP זמני משפיע רק על חיבורים חצי פתוחים. |
30 שניות הערה: לא משנה איזה ערך תגדירו לזמן הקצוב לתפוגה הזה, יכול להיות ש-Cloud NAT יצטרך עד 30 שניות נוספות לפני שאפשר יהיה להשתמש בטופל של כתובת IP של מקור ושל יציאת מקור ב-Cloud NAT כדי לעבד חיבור חדש. |
כן |
|
זמן קצוב לתפוגה של TCP TIME_WAIT RFC 5382 REQ-5 |
המדיניות הזו מציינת את פרק הזמן בשניות שבו חיבור TCP סגור לחלוטין נשמר במיפויים של Cloud NAT אחרי שהחיבור פג. פסק הזמן של TCP TIME_WAIT מגן על נקודות הקצה הפנימיות מפני קבלת מנות לא חוקיות ששייכות לחיבור TCP סגור שמועבר מחדש. אפשר להקטין את ערך הזמן הקצוב לתפוגה כדי לשפר את השימוש החוזר ביציאות של Cloud NAT, אבל זה עלול לגרום לקבלת מנות שמועברות מחדש מחיבור לא קשור שנסגר בעבר. |
120 שניות הערה: לא משנה איזה ערך תגדירו לזמן הקצוב לתפוגה הזה, יכול להיות ש-Cloud NAT יצטרך עד 30 שניות נוספות לפני שאפשר יהיה להשתמש בטופל של כתובת IP של מקור ושל יציאת מקור ב-Cloud NAT כדי לעבד חיבור חדש. אם אתם משתמשים בהקצאת יציאות דינמית, הגדירו את הזמן הקצוב לתפוגה ל-15 שניות או יותר כדי למנוע השמטה של מנות. |
כן |
|
ICMP Mapping Idle Timeout RFC 5508 REQ-2 |
המדיניות הזו קובעת את הזמן בשניות שאחריו מיפויים של Cloud NAT בפרוטוקול הודעות הבקרה באינטרנט (ICMP) שלא כוללים זרימות תנועה ייסגרו. ההגדרה 'זמן קצוב לתפוגה של מיפוי ICMP במצב המתנה' משפיעה על נקודת קצה כשהתגובה של נקודת הקצה נמשכת יותר מהזמן שצוין, או כשיש עלייה בחביון ברשת. |
30 שניות | כן |
שינוי הזמן הקצוב לתפוגה של NAT
המסוף
נכנסים לדף Cloud NAT במסוף Google Cloud .
לוחצים על שער Cloud NAT.
לוחצים על עריכה.
לוחצים על הגדרות מתקדמות.
משנים את ערכי הזמן הקצוב לתפוגה שרוצים לשנות.
לוחצים על Save.
gcloud
כדי לשנות את ערכי זמן קצוב לתפוגה האלה, משתמשים בפקודה gcloud compute routers nats update עם הדגלים הבאים:
- זמן קצוב לתפוגה של מיפוי UDP במצב לא פעיל:
--udp-idle-timeout - זמן קצוב לתפוגה של חיבור TCP לא פעיל:
--tcp-established-idle-timeout - זמן קצוב לתפוגה של חיבורים זמניים ב-TCP:
--tcp-transitory-idle-timeout - זמן קצוב לתפוגה של TCP TIME_WAIT:
--tcp-time-wait-timeout - ICMP Mapping Idle Timeout:
--icmp-idle-timeout
הפקודה הזו לא משנה את שאר השדות בהגדרת ה-NAT.
לדוגמה, הפקודה הבאה משנה את הערך של UDP Mapping Idle Timeout (זמן קצוב לתפוגה של מיפוי UDP).
gcloud compute routers nats update NAT_CONFIG \
--router=ROUTER_NAME \
--region=REGION \
--udp-idle-timeout=VALUE
מחליפים את מה שכתוב בשדות הבאים:
-
NAT_CONFIG: השם של הגדרת Cloud NAT. -
ROUTER_NAME: השם של Cloud Router -
REGION: האזור של Cloud NAT שרוצים לעדכן. אם לא מציינים אזור, יכול להיות שתתבקשו לבחור אזור (רק במצב אינטראקטיבי). -
VALUE: ערך הזמן הקצוב לתפוגה (בשניות)
איפוס ערכי הזמן הקצוב לתפוגה של NAT לערכי ברירת המחדל
המסוף
נכנסים לדף Cloud NAT במסוף Google Cloud .
לוחצים על שער Cloud NAT.
לוחצים על עריכה.
לוחצים על הגדרות מתקדמות.
מסירים את כל הערכים שהוגדרו על ידי המשתמש שרוצים לאפס.
לוחצים על Save.
הערכים שהוסרו מאופסים לערכי ברירת המחדל.
gcloud
משתמשים בפקודה gcloud compute routers nats update.
הפקודה הזו לא משנה את שאר השדות בהגדרת Cloud NAT.
gcloud compute routers nats update NAT_CONFIG \
--router=ROUTER_NAME \
--region=REGION \
--clear-udp-idle-timeout \
--clear-icmp-idle-timeout \
--clear-tcp-established-idle-timeout \
--clear-tcp-time-wait-timeout \
--clear-tcp-transitory-idle-timeout
מחליפים את מה שכתוב בשדות הבאים:
-
NAT_CONFIG: השם של שער Cloud NAT -
ROUTER_NAME: השם של Cloud Router -
REGION: האזור של Cloud NAT שרוצים לעדכן. אם לא מציינים אזור, יכול להיות שתתבקשו לבחור אזור (רק במצב אינטראקטיבי).
ההשפעה של שינוי הגדרות NAT על חיבורי NAT קיימים
בטבלה הבאה מפורטת ההשפעה של שינוי הגדרות Cloud NAT על חיבורים קיימים:
| פעולת כוונון | ניתוק החיבור |
|---|---|
| השבתת מיפוי ללא תלות בנקודת קצה | לא |
| הקטנת מספר היציאות המינימלי לכל מכונה וירטואלית תוך הפעלת הקצאת יציאות דינמית: מספר היציאות המקסימלי לכל מכונה וירטואלית >= מספר היציאות המינימלי הקודם לכל מכונה וירטואלית, וגם מספר היציאות המקסימלי לכל מכונה וירטואלית >= 1024
|
לא |
| הגדלת מספר היציאות המינימלי לכל מכונה וירטואלית כשהקצאת יציאות דינמית כבר מופעלת | לא |
| הקטנת מספר היציאות המינימלי לכל מכונה וירטואלית כשהקצאת יציאות דינמית כבר מופעלת | לא |
| הגדלת מספר היציאות המינימלי לכל מכונה וירטואלית כשהקצאת יציאות דינמית כבר מושבתת | לא |
| הקטנת מספר היציאות המינימלי לכל מכונה וירטואלית כשהקצאת יציאות דינמית כבר מושבתת | כן |
| הגדלת מספר היציאות המקסימלי לכל מכונה וירטואלית | לא |
| הקטנת מספר היציאות המקסימלי לכל מכונה וירטואלית כשהקצאת יציאות דינמית כבר מופעלת | כן |
| שינוי של פסק זמן ב-Cloud NAT כשהקצאת יציאות דינמית מופעלת או מושבתת | לא |
| השבתה של הקצאת יציאות דינמית | כן |
המאמרים הבאים
- הגדרת רישום ביומן ומעקב עבור Cloud NAT.
- פתרון בעיות נפוצות בהגדרות NAT