בדף הזה מוצגת ההגדרה הנדרשת לחשיפת שירות של סביבה גמישה של App Engine רק בכתובת ה-IP הפנימית שלו.
כברירת מחדל, שירותים בסביבה גמישה מקבלים גם כתובת IP פנימית וגם כתובת IP חיצונית זמנית כשהם נפרסים בפעם הראשונה. כתובת ה-IP החיצונית הזמנית מאפשרת לשירות שלכם לשלוח בקשות לשירותי App Engine עם דומיינים מותאמים אישית ולמשאבים באינטרנט. כתובות IP חיצוניות ארעיות כרוכות בעלויות.
אם השירות שלכם לא דורש כתובת IP חיצונית, אתם יכולים למנוע מהשירות לשלוח בקשות למשאבים באינטרנט ולהקטין את העלויות על ידי הגבלת השירות לשימוש רק בכתובת ה-IP הפנימית שלו. ההגדרה הזו לא מונעת מהשירות לקבל בקשות מהאינטרנט או משירותי App Engine עם דומיינים מותאמים אישית, כי שם הדומיין שמוגדר במלואו של השירות עדיין גלוי חיצונית.
מגבלות
יש כמה מגבלות להשבתה של כתובות IP חיצוניות זמניות:
- שירותים עם דומיינים בהתאמה אישית: כדי לשלוח בקשות לשירותי App Engine עם דומיינים בהתאמה אישית, צריך להגדיר Cloud NAT.
- משאבים חיצוניים: כדי לשלוח בקשות למשאבים חיצוניים, צריך להגדיר Cloud NAT.
- תלות בגישה פרטית ל-Google: מופעים עם מצב IP שמוגדר ל-
internalדורשים גישה פרטית ל-Google ברשת המשנה של היעד. - רשתות מדור קודם: רשתות מדור קודם לא יכולות להשתמש בגישה פרטית ל-Google, ולכן לא יכולות להשבית כתובות IP חיצוניות ארעיות.
לפני שמתחילים
כדי לפרוס אפליקציות בסביבה גמישה ללא כתובות IP חיצוניות, צריך להפעיל גישה פרטית ל-Google ברשת המשנה של היעד.
- מידע נוסף על גישה פרטית ל-Google זמין בסקירה הכללית.
- הוראות מפורטות להגדרה זמינות במאמר הפעלת גישה פרטית ל-Google.
הכנת רשת VPC משותפת
אם אתם משתמשים ב-VPC משותף, צריך לפעול לפי השלבים הבאים כדי להכין את רשת ה-VPC המשותפת להגדרה נוספת.
מוודאים שיש לכם נתיב שמתאים לגישה פרטית ל-Google. בדרך כלל נתיב ברירת המחדל של רשת תואם לגישה פרטית ל-Google. לגבי מסלולים אחרים, מוודאים שהמסלול מוגדר באופן הבא.
Network: SHARED_VPC_NETWORK_NAME Destination IP address range: 0.0.0.0/0 Instance tags: INSTANCE_TAGS Next hop: DEFAULT_INTERNET_GATEWAY
מחליפים את מה שכתוב בשדות הבאים:
-
SHARED_VPC_NETWORK_NAME: השם של רשת ה-VPC המשותפת. -
INSTANCE_TAGS: אם לא משתמשים בתגי מכונה, לא מציינים כלום בשדה הזה. אם אתם משתמשים בתגי מופע, צריך לכלול אתaef-instancesברשימת תגי המופע. -
DEFAULT_INTERNET_GATEWAY: שער ברירת המחדל לאינטרנט.
מידע נוסף על מסלולים תואמים לגישה פרטית ל-Google זמין במסמכי התיעוד בנושא אפשרויות ניתוב.
-
מוודאים שיש לכם כלל לחומת האש שתואם לגישה פרטית ל-Google. צריך להגדיר את הכלל לחומת האש באופן הבא.
Network: SHARED_VPC_NETWORK_NAME Destination IP address range: 0.0.0.0/0 Destination filter: IP ranges Direction of traffic: Egress Attach on match: Allow Instance tags: INSTANCE_TAGS
מחליפים את מה שכתוב בשדות הבאים:
-
SHARED_VPC_NETWORK_NAME: השם של רשת ה-VPC המשותפת. -
INSTANCE_TAGS: אם לא משתמשים בתגי מכונה, לא מציינים כלום בשדה הזה. אם אתם משתמשים בתגי מופע, צריך לכלול אתaef-instancesברשימת תגי המופע.
מידע נוסף על כללים תואמים של חומת אש לגישה פרטית ל-Google זמין במסמכי התיעוד בנושא גישה פרטית ל-Google בקטע הגדרת חומת אש.
-
הגדרת השירות כך שישתמש רק בכתובת ה-IP הפנימית שלו
מעדכנים את Google Cloud CLI. כך תוכלו לוודא שאתם משתמשים בגרסה של ה-CLI של gcloud שתומכת בכתובות IP פרטיות לאפליקציות בסביבה גמישה.
gcloud components update
בקובץ
app.yaml, מוסיפים את השדהinstance_ip_modeאל הקטעnetworkומגדירים אותו לערךinternal.אם בקובץ
app.yamlכבר יש קטעnetwork, מוסיפים את השורה הבאה בתוך הקטעnetwork:instance_ip_mode: internalאם בקובץ
app.yamlאין קטעnetwork, יוצרים את הקטע ומציינים את מצב ה-IP של המופע על ידי הוספת השורות הבאות:network: instance_ip_mode: internal
שומרים את השינויים.
פורסים את השירות.
gcloud beta app deploy
כדי לאמת את ההגדרות, בודקים את הדף Instances (מופעים) במסוף Google Cloud .
גוללים למטה לטבלה Instances (מתחת לתרשים Summary). בעמודה External IP, מוודאים שלא מופיעה כתובת IP חיצונית. אם אין כתובת IP בעמודה הזו, המשמעות היא שלמכונה שלכם אין כתובת IP חיצונית. גם אם השדה הזה ריק, למכונה שלכם עדיין יש כתובת IP פנימית.
שליחת בקשות חיצוניות ללא כתובת IP חיצונית
אם השירות שלכם שולח בקשות לאינטרנט אבל אתם רוצים להגביל אותו לשימוש רק בכתובת ה-IP הפנימית שלו, אתם יכולים להשתמש ב-Cloud NAT כדי ליצור שער. השירות שלכם יכול לשלוח בקשות חיצוניות דרך שער Cloud NAT בלי להשתמש בכתובות IP חיצוניות זמניות שמוגדרות כברירת מחדל.
פועלים לפי השלבים בקטע הגדרת השירות כך שישתמש רק בכתובת ה-IP הפנימית שלו.
פועלים לפי השלבים להגדרת Cloud NAT.
מידע נוסף על הגישה הזו זמין במאמר פריסת Cloud NAT לאחזור במרכז הארכיטקטורה של Cloud.