הגדרת גישה לשירותים פרטיים
גישה לשירותים פרטיים היא חיבור פרטי בין רשת ה-VPC שלכם לבין רשת בבעלות Google או צד שלישי. Google או הצד השלישי, ישויות שמציעות שירותים, נקראות גם ספקי שירותים. החיבור הפרטי מאפשר למכונות וירטואליות ברשת ה-VPC ולשירותים שאליהם אתם ניגשים לתקשר באופן בלעדי באמצעות כתובות IP פנימיות. מכונות וירטואליות לא צריכות גישה לאינטרנט או כתובות IP חיצוניות כדי להגיע לשירותים שזמינים דרך גישה לשירותים פרטיים.
כדי להשתמש בגישה לשירותים פרטיים, צריך לבצע את הפעולות הבאות:
-
טווח מוקצה שומר טווח כתובות IP לשימוש על ידי בעלים של שירות מנוהל, וכך נמנע חפיפה בין כתובות IP ברשתות של צרכן השירות ובעלים של שירות מנוהל.
-
החיבור הפרטי משתמש בקישור בין רשתות VPC שכנות כדי ליצור קישוריות בין הרשתות של צרכן השירות ובעלים של שירות מנוהל.
מידע על אפשרויות אחרות לגישה פרטית זמין במאמר אפשרויות לגישה פרטית לשירותים.
לפני שמתחילים
כדי ליצור חיבור פרטי, צריך לוודא שמתקיימים התנאים המוקדמים הבאים:
- כדאי לקרוא את סקירת הגישה לשירותים פרטיים, כולל מידע על שירותים נתמכים, על הנגישות של מופעי שירות ועל מגבלות.
- יוצרים פרויקט או בוחרים פרויקט קיים. Google Cloud Google Cloud כאן מוסבר איך ליצור פרויקט.
- מפעילים את Service Networking API בפרויקט. כדי ליצור חיבור פרטי, צריך להשתמש ב-API.
- יוצרים או בוחרים רשת VPC לשימוש בחיבור לרשת של ספק השירות. מכונות וירטואליות צריכות להשתמש ברשת ה-VPC הזו כדי להתחבר לשירותים באמצעות חיבור פרטי.
- אם רוצים להריץ את הדוגמאות של פקודות gcloud CLI במדריך הזה, צריך להתקין את Google Cloud CLI.
הרשאות
בעלי פרויקטים וחברי IAM עם התפקיד אדמין של רשת מחשוב (roles/compute.networkAdmin) יכולים ליצור טווחים של כתובות IP שהוקצו ולנהל חיבורים פרטיים.
מידע נוסף על תפקידים ב-Compute Engine זמין במאמר תפקידים והרשאות ב-IAM של Compute Engine.
בחירת טווח כתובות IP לטווח שהוקצה
יצירת טווח מוקצה שומרת טווח כתובות IP לשימוש של בעלי השירות. כשבוחרים טווח להקצאה, כדאי לקחת בחשבון את הנקודות הבאות:
כדאי לעיין בתיעוד של בעלים של שירות מנוהל כדי לבדוק אם יש דרישות או המלצות לגבי גודל הטווח שהוקצה.
בשירותי Google, הגודל המינימלי הוא בלוק אחד של
/24, אבל הגודל המומלץ הוא בלוק של/16.בוחרים טווח מוקצה שמופרד לחלוטין מטווחים של תת-רשתות קיימות ועתידיות, כולל טווחים של תת-רשתות מרשתות שמחוברות באמצעות קישור בין רשתות VPC שכנות, וטווחים של תת-רשתות של רשתות VPC מסוג spoke שמחוברות לאותו מרכז NCC.
בוחרים טווח שלא תואם בדיוק ליעדים של מסלולים דינמיים או סטטיים מותאמים אישית, או שלא מכיל אותם.
כשבעלים של שירות מנוהל בוחרים חלק לא בשימוש מתוך טווח שהוקצה כדי להשתמש בו כמועמד למשאבים חדשים, הם לא כוללים את כל יעדי המסלולים המותאמים אישית שתואמים בדיוק לטווח שהוקצה או שנמצאים בתוכו. כשברשת VPC יש טווח מוקצה ומסלולים מותאמים אישית עם יעדים שתואמים לטווח המוקצה או נכללים בו, החלק שניתן לשימוש בטווח המוקצה מצטמצם. ההגדרה הזו עלולה לגרום לשגיאות לא צפויות מסוג allocation exhausted.
לדוגמה, אם יוצרים טווח מוקצה ל-
10.0.0.0/16, התנאים הבאים חלים:אם קיים מסלול מותאם אישית עם יעד ל-
10.0.0.0/16או אם הוא נוצר בהמשך, כל הטווח של10.0.0.0/16נחשב ללא זמין. אם הבעלים של השירות המנוהל ינסה להשתמש בטווח שהוקצה,Google Cloud תחזור שגיאה על מיצוי ההקצאה.אם קיים מסלול מותאם אישית עם יעד ל-
10.0.0.0/20או אם הוא נוצר מאוחר יותר, החלק של10.0.0.0/20בטווח המוקצה של10.0.0.0/16נחשב כלא זמין. אם הבעלים של השירות המנוהל מנסה להשתמש בטווח שהוקצה, והחלק הזמין בטווח שהוקצה לא מספיק לבעלים של השירות המנוהל, Google Cloud מוחזרת שגיאה של מיצוי ההקצאה.אם קיים מסלול מותאם אישית עם יעד ל-
10.0.0.0/8או אם הוא נוצר מאוחר יותר, זה לא משפיע על הזמינות של טווח10.0.0.0/16שהוקצה.
בוחרים טווח שלא מתנגש עם צרכים אחרים של כתובות IP:
- חלק ממוצרי Google ומוצרי צד שלישי משתמשים ב-
172.17.0.0/16לניתוב בתוך מערכת ההפעלה של האורח. לדוגמה, רשת הגישור של Docker שמוגדרת כברירת מחדל משתמשת בטווח הזה. אם אתם מסתמכים על מוצר שמשתמש ב-172.17.0.0/16, אל תשתמשו ב-172.17.0.0/16בטווח שהוקצה לגישה לשירותים פרטיים. - אם אתם משתמשים ברשת VPC במצב אוטומטי, אתם לא יכולים ליצור טווח מוקצה שתואם ל-
10.128.0.0/9או חופף לו. Google משתמשת בטווח10.128.0.0/9כדי ליצור רשתות משנה באופן אוטומטי, כולל רשתות משנה באזורים עתידיים.
- חלק ממוצרי Google ומוצרי צד שלישי משתמשים ב-
בוחרים בלוק CIDR שגדול מספיק כדי לענות על הצרכים הנוכחיים והעתידיים.
אם בהמשך תגלו שהטווח לא מספיק גדול, תוכלו להרחיב אותו אם אפשר. אפשר להקצות כמה הקצאות לספק שירות יחיד, אבל Google אוכפת מכסה על מספר טווחי כתובות ה-IP שאפשר להקצות, ולא על הגודל (מסכת הרשת) של כל טווח.
יצירת טווח מוקצה
בשלבים הבאים מוסבר איך ליצור טווח כתובות IP מוקצה.
כששירות Google מקצה טווח בשמכם, השירות משתמש בפורמט הבא כדי לתת שם להקצאה:
google-managed-services-CONSUMER_NETWORK_NAME. אם ההקצאה הזו קיימת, שירותי Google משתמשים בה במקום ליצור הקצאה חדשה. אתם יכולים להשתמש באותה מוסכמה למתן שמות שבה Google משתמשת כדי לסמן למשתמשים אחרים או לשירותי Google שקיימת כבר הקצאה ל-Google.
המסוף
נכנסים לדף VPC networks במסוף Google Cloud .
בוחרים את רשת ה-VPC שתתחבר לשירות הפקה.
לוחצים על הכרטיסייה גישה לשירותים פרטיים.
בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה טווחים של כתובות IP שהוקצו לשירותים.
לוחצים על הקצאת טווח כתובות IP.
מזינים שם ותיאור לטווח שהוקצה.
מגדירים את טווח כתובות ה-IP להקצאה:
- כדי לציין טווח ספציפי של כתובות IP, בוחרים באפשרות Custom ומזינים בלוק CIDR, כמו
192.168.0.0/16. - כדי לאפשר ל-Google לבחור טווח זמין, בוחרים באפשרות אוטומטי ואז מזינים אורך קידומת, כמו
16.
- כדי לציין טווח ספציפי של כתובות IP, בוחרים באפשרות Custom ומזינים בלוק CIDR, כמו
לוחצים על הקצאה כדי ליצור את הטווח המוקצה.
gcloud
כדי ליצור טווח מוקצה ברשת ה-VPC, משתמשים בפקודה gcloud compute addresses create.
כדי לציין טווח כתובות ואורך קידומת (מסכה של רשת משנה), משתמשים בדגלים
--addressesו---prefix-length. לדוגמה, כדי להקצות את בלוק ה-CIDR192.168.0.0/16, מציינים192.168.0.0לכתובת ו-16לאורך הקידומת.gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORK- כדי לציין רק אורך קידומת (מסכת רשת משנה), פשוט משתמשים בדגל
prefix-length. אם משמיטים את טווח הכתובות,Google Cloud בוחר באופן אוטומטי טווח כתובות שלא נמצא בשימוש ברשת ה-VPC. בדוגמה הבאה נבחר טווח כתובות IP שלא נמצא בשימוש עם אורך קידומת של16ביט.
gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="DESCRIPTION" \ --network=VPC_NETWORKמחליפים את מה שכתוב בשדות הבאים:
RESERVED_RANGE_NAME: שם לטווח שהוקצה, למשלmy-allocated-range.
DESCRIPTION: תיאור הטווח, למשלallocated for my-service.
VPC_NETWORK: השם של רשת ה-VPC, למשלmy-vpc-network.
בדוגמה הבאה נוצר חיבור פרטי ל-Google, כך שהמכונות הווירטואליות ברשת ה-VPC
my-networkיכולות להשתמש בגישה לשירותים פרטיים כדי להגיע לשירותי Google שתומכים בה.gcloud compute addresses create google-managed-services-my-network \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="peering range for Google" \ --network=my-network- כדי לציין רק אורך קידומת (מסכת רשת משנה), פשוט משתמשים בדגל
Terraform
כדי ליצור טווח מוקצה ברשת ה-VPC, משתמשים במשאב google_compute_global_address.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
אם מוצגת שגיאה לגבי ההרשאה compute.globalAddresses.list בפרויקט, אפשר לעיין במאמר הרשאות לחשבון שירות.
רשימת טווחי כתובות IP שהוקצו
כדי לראות את רשימת טווחי כתובות ה-IP שהוקצו, משתמשים בפקודה gcloud compute addresses list.
gcloud compute addresses list --global --filter="purpose=VPC_PEERING"
יצירת חיבור פרטי
אחרי שיוצרים טווח מוקצה, אפשר ליצור חיבור פרטי לבעלים של השירות המנוהל. החיבור הפרטי יוצר קישור בין רשתות VPC שכנות בין רשת ה-VPC שלכם לבין הרשת של ספק השירות.
כשיוצרים חיבור פרטי, חשוב לזכור את הנקודות הבאות:
- אם בעלים של שירות מנוהל מציע כמה שירותים, אתם צריכים רק חיבור פרטי אחד לכל השירותים שלו.
- אם בעלים של שירות מנוהל מציע כמה שירותים ואתם רוצים לשלוט בטווחי כתובות ה-IP שהוקצו לשימוש במשאבי שירות שונים, אתם יכולים להשתמש בכמה רשתות VPC, שלכל אחת מהן יש חיבורים פרטיים משלה. ההגדרה הזו מאפשרת לכם לבחור רשת מסוימת כשאתם יוצרים משאב חדש של שירות מנוהל, כדי לוודא שהטווחים המוקצים שמשויכים למשאב ישמשו את המשאב החדש.
אל תקצו את אותו טווח לכמה ספקי שירותים. אם אתם מתחברים לכמה בעלים של שירותים מנוהלים, אתם צריכים להקצות טווח ייחודי לכל בעלים של שירות מנוהל. שימוש בטווחים שונים של כתובות IP שמוקצות עוזר למנוע חפיפה בין כתובות IP, ומאפשר לכם לנהל את הגדרות הרשת, כמו נתיבים וכללי חומת אש, לכל בעלים של שירות מנוהל.
המסוף
נכנסים לדף VPC networks במסוף Google Cloud .
בוחרים את רשת ה-VPC שתתחבר לשירות הפקה.
לוחצים על הכרטיסייה גישה לשירותים פרטיים.
בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה חיבורים פרטיים לשירותים.
לוחצים על יצירת חיבור כדי ליצור חיבור פרטי בין הרשת שלכם לבין בעלים של שירות מנוהל.
בקטע הקצאה שהוקצתה, בוחרים טווחים קיימים שהוקצו ושלא נמצאים בשימוש של ספקי שירות אחרים.
לוחצים על Connect (חיבור) כדי ליצור את החיבור.
gcloud
משתמשים בפקודה
gcloud services vpc-peerings connect.gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORKמחליפים את מה שכתוב בשדות הבאים:
RESERVED_RANGE_NAME: השמות של הטווחים שהוקצו (לפחות אחד).
VPC_NETWORK: השם של רשת ה-VPC.
הפקודה מפעילה פעולה ממושכת ומחזירה שם פעולה.
כדי לבדוק אם הפעולה הצליחה, משתמשים בפקודה
gcloud services vpc-peerings operations describe.gcloud services vpc-peerings operations describe \ --name=OPERATION_NAMEמחליפים את
OPERATION_NAMEבשם הפעולה שהתקבל בשלב הקודם.
כשיוצרים חיבור פרטי, אפשר לציין יותר מטווח מוקצה אחד. לדוגמה, אם טווח מסוים מוצה, אפשר להקצות טווחים נוספים. השירות משתמש בכתובות IP מכל הטווחים שצוינו, לפי הסדר שהגדרתם.
Terraform
כדי ליצור חיבור פרטי, משתמשים במשאב google_service_networking_connection.
הצגת רשימה של חיבורים פרטיים
אחרי שיוצרים חיבור פרטי, אפשר להציג אותו ברשימה כדי לוודא שהוא קיים. ברשימה מוצגים גם טווחי הכתובות שהוקצו שמשויכים לכל חיבור. לדוגמה, אם אתם לא זוכרים איזו הקצאת טווח הקציתם לחיבור, תוכלו לעיין ברשימה כדי לגלות.
המסוף
נכנסים לדף VPC networks במסוף Google Cloud .
בוחרים את רשת ה-VPC שמכילה את החיבורים.
לוחצים על הכרטיסייה גישה לשירותים פרטיים.
בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה חיבורים פרטיים לשירותים כדי לראות את כל החיבורים הפרטיים של הרשת.
gcloud
משתמשים בפקודה gcloud services vpc-peerings list.
gcloud services vpc-peerings list \
--network=VPC_NETWORK
מחליפים את VPC_NETWORK בשם של רשת ה-VPC.
שינוי של חיבור פרטי
אי אפשר לשנות טווח שהוקצה, אבל אפשר לעדכן חיבור פרטי כדי להוסיף או להסיר טווחים שהוקצו בלי לשבש את התנועה.
הוספת טווחים: ככל שהשימוש שלכם גדל, יכול להיות שתצטרכו להוסיף או להחליף טווח שהוקצה אם אתם מתקרבים למיצוי הטווח הקיים. אם מוסיפים עוד טווח מוקצה לחיבור פרטי, לבעלים של השירות המנוהל יש יותר כתובות IP זמינות ליצירת משאבי שירות חדשים לכל שירות שהוא מספק. אי אפשר לשריין טווח מוקצה ספציפי בחיבור פרטי לשימוש בשירות מסוים.
מידע נוסף על הוספה או החלפה של טווחים זמין במאמר מיצוי של טווח כתובות IP.
הסרת טווחים: כשמסירים טווח מחיבור פרטי, מתרחשים הדברים הבאים:
הטווח שהוקצה לא משויך יותר לחיבור הפרטי, אבל הוא לא נמחק.
- אם טווח שהוסר כבר לא נמצא בשימוש, אפשר למחוק את ההקצאה.
יכול להיות שמשאבים קיימים של בעלים של שירות מנוהל ימשיכו להשתמש בטווח שהוסר.
הגישה לשירותים פרטיים לא משתמשת בטווחים שהוסרו כדי להקצות תת-רשתות חדשות.
המסוף
נכנסים לדף VPC networks במסוף Google Cloud .
בוחרים את רשת ה-VPC שמכילה את החיבורים.
לוחצים על הכרטיסייה גישה לשירותים פרטיים.
בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה חיבורים פרטיים לשירותים כדי לראות את כל החיבורים הפרטיים של הרשת.
לוחצים על שם החיבור ברשימה.
ברשימה הקצאה שהוקצתה, בוחרים את טווחי הכתובות שהוקצו שרוצים לשייך לחיבור הפרטי. מבטלים את הסימון בתיבות הסימון של כל טווח שהוקצה ורוצים להסיר מהחיבור הפרטי.
לוחצים על OK.
gcloud
כדי להוסיף או להסיר טווחי כתובות IP שהוקצו לחיבור פרטי קיים, משתמשים בפקודה gcloud services vpc-peerings update.
gcloud services vpc-peerings update \
--service=servicenetworking.googleapis.com \
--ranges=RESERVED_RANGE_NAME \
--network=VPC_NETWORK \
[--force]
מחליפים את מה שכתוב בשדות הבאים:
RESERVED_RANGE_NAME: רשימה של שמות של טווחים שהוקצו, שרוצים להקצות לחיבור הפרטי.RESERVED_RANGE_NAMEמחליף את הרשימה הקודמת של טווחי כתובות שהוקצו. אם משמיטים טווח שקודם שויך לחיבור הפרטי הזה, הטווח יוסר מהחיבור. כדי להסיר טווח, צריך להשתמש בדגל--force.
VPC_NETWORK: השם של רשת ה-VPC.
מחיקת טווח כתובות IP שהוקצו
לפני שמוחקים טווח כתובות IP שהוקצה, צריך לבדוק אם נעשה שימוש בטווח בחיבור פרטי.
אם טווח כתובות ה-IP שהוקצה נמצא בשימוש, קודם צריך לשנות את החיבור הפרטי כדי להסיר את הטווח. לאחר מכן מוחקים את טווח כתובות ה-IP שהוקצה.
אם מוחקים כתובת IP שהוקצתה ונמצאת בשימוש, ולא משנים את החיבור הפרטי, יקרו הדברים הבאים:
החיבורים הקיימים נשארים פעילים, אבל אין שום דבר שמונע מרשת ה-VPC שלכם להשתמש בכתובות IP שחופפות לרשת של ספק השירות.
אם מוחקים את טווח כתובות ה-IP המוקצה היחיד שמשויך לחיבור פרטי, השירות לא יכול ליצור תת-רשתות חדשות כי אין טווח כתובות IP מוקצה שאפשר לבחור ממנו.
אם מאוחר יותר תיצרו הקצאה של טווח כתובות IP שתואם לטווח שנמחק או חופף לו, לא תוכלו להוסיף את הטווח לחיבור פרטי.
כדי למנוע את הבעיות האלה, חשוב לשנות תמיד את החיבורים הפרטיים כשמוחקים טווח כתובות IP שהוקצה ונמצא בשימוש.
המסוף
נכנסים לדף VPC networks במסוף Google Cloud .
בוחרים את רשת ה-VPC שכוללת את ההקצאות שרוצים למחוק.
לוחצים על הכרטיסייה גישה לשירותים פרטיים.
בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה טווחים של כתובות IP שהוקצו לשירותים.
בוחרים את ההקצאה שרוצים למחוק.
לוחצים על שחרור כדי להחזיר את טווח כתובות ה-IP שהוקצה למאגר של כתובות ה-IP הפנימיות הזמינות ברשת.
אם טווח כתובות ה-IP שהוקצה עדיין משויך לחיבור קיים, צריך להזין אישור נוסף כדי לבטל את ההקצאה.
כדי לאשר את המחיקה, לוחצים שוב על שחרור.
gcloud
כדי למחוק את ההקצאה, מציינים את השם שלה.
gcloud compute addresses delete NAME \
--global
מחליפים את NAME בשם של טווח הכתובות שהוקצה שרוצים למחוק.
מחיקת חיבור פרטי
כדי למחוק חיבור פרטי, צריך לבצע את הפעולות שמפורטות בקטע הזה. אל תנסו למחוק חיבור פרטי על ידי מחיקה ישירה של הקישור בין רשתות ה-VPC שמשויך אליו.
לפני שמוחקים חיבור פרטי, צריך למחוק את כל מופעי השירות שאליהם יש גישה דרך החיבור.
אופן הפעולה של מחיקת מופע שירות עשוי להשתנות בהתאם לשירות. יכול להיות שהמשאבים של השירות יימחקו באופן מיידי, או שהם יימחקו אחרי תקופת המתנה. אם יש תקופת המתנה, אי אפשר למחוק את החיבור הפרטי עד שהיא תסתיים ועד שהמשאבים של ספק השירות יימחקו.
לדוגמה, אם מוחקים מופע של Cloud SQL, מקבלים תגובת הצלחה, אבל השירות מחכה ארבעה ימים לפני שהוא מוחק את המשאבים של ספק השירות. במהלך תקופת ההמתנה, אם תשנו את דעתכם לגבי מחיקת השירות, תוכלו לבקש לשחזר את המשאבים. אם תנסו למחוק את החיבור במהלך תקופת ההמתנה, המחיקה תיכשל ותוצג הודעה שהמשאבים עדיין בשימוש של ספק השירות.
אי אפשר למחוק חיבור פרטי שנמצא בשימוש על ידי רשת VPC של ספק. כדי למחוק את החיבור, צריך קודם למחוק את רשת ה-VPC של היצרן.
המסוף
נכנסים לדף VPC networks במסוף Google Cloud .
בוחרים את רשת ה-VPC שכוללת את החיבורים שרוצים למחוק.
לוחצים על הכרטיסייה גישה לשירותים פרטיים.
בכרטיסייה גישה לשירותים פרטיים, בוחרים בכרטיסייה חיבור פרטי לשירותים.
בוחרים את החיבור הפרטי שרוצים למחוק.
לוחצים על מחיקה כדי למחוק.
לוחצים שוב על מחיקה כדי לאשר את המחיקה.
gcloud
כדי למחוק את הקישור בין רשתות VPC שכנות של חיבור פרטי, משתמשים בפקודה gcloud services vpc-peerings delete.
gcloud services vpc-peerings delete \
--service=servicenetworking.googleapis.com \
--network=VPC_NETWORK
מחליפים את VPC_NETWORK בשם של רשת ה-VPC.
שיתוף אזורי DNS פרטיים עם בעלים של שירות מנוהל
תחומים פרטיים ב-Cloud DNS הם פרטיים לרשת ה-VPC שלכם. אם רוצים לאפשר לרשת של ספק שירותים לפתור שמות מהאזור הפרטי, אפשר להגדיר שיוך DNS בין שתי הרשתות.
כשמגדירים קישור בין רשתות שכנות באמצעות DNS, מציינים רשת VPC וסיומת DNS. אם הבעלים של השירות המנוהל צריך לפתור כתובת עם הסיומת הזו של ה-DNS, הוא מעביר את השאילתות האלה לרשת ה-VPC שלכם כדי לפתור אותן.
השירותים הנתמכים האלה תומכים בחיבור DNS, למעט Cloud SQL.
כדי להפעיל DNS Peering, צריך להפעיל את Cloud DNS API בפרויקט.
יצירת DNS עמית עם בעלים של שירות מנוהל
gcloud
כדי להגדיר קישור DNS בין רשת ה-VPC לרשת של ספק השירות, משתמשים בפקודה gcloud services peered-dns-domains create.
gcloud services peered-dns-domains create PEERING_NAME \
--network=VPC_NETWORK \
--dns-suffix=DNS_SUFFIX
מחליפים את מה שכתוב בשדות הבאים:
PEERING_NAME: שם להגדרת ה-DNS הזו.
VPC_NETWORK: השם של רשת ה-VPC שמחוברת לבעלים של שירות מנוהל באמצעות גישה לשירותים פרטיים.
DNS_SUFFIX: סיומת ה-DNS שרוצים ליצור איתה שותפות עם ספק השירות. צריך לציין שם דומיין מלא של DNS, כולל הנקודה. לדוגמה,example.com.הוא סיומת DNS תקינה.
Terraform
כדי להגדיר קישור בין רשתות שכנות (peering) של DNS בין רשת ה-VPC שלכם לבין רשת ספק השירות, משתמשים במשאב google_service_networking_peered_dns_domain.
הצגת רשימה של הגדרות קישור DNS בין רשתות שכנות (peering)
gcloud
משתמשים בפקודה gcloud services peered-dns-domains list.
gcloud services peered-dns-domains list \
--network=VPC_NETWORK
מחליפים את VPC_NETWORK בשם של רשת ה-VPC.
מחיקה של הגדרת DNS של רשתות עמיתות
gcloud
משתמשים בפקודה gcloud services peered-dns-domains delete.
gcloud services peered-dns-domains delete PEERING_NAME \
--network=VPC_NETWORK
מחליפים את מה שכתוב בשדות הבאים:
PEERING_NAME: השם של הגדרת ה-DNS peering.
VPC_NETWORK: השם של רשת ה-VPC.
הגדרת קישוריות היברידית
כברירת מחדל, הרשת של ספק השירות לומדת רק את נתיבי רשת המשנה מרשת ה-VPC שלכם. לכן, כל בקשה שלא מגיעה מטווח כתובות IP של רשת משנה נדחית על ידי הבעלים של שירות מנוהל.
כדי להגדיר קישוריות בין המארחים המקומיים לרשת של ספק השירות, צריך לבצע את הפעולות הבאות:
ברשת ה-VPC, מעדכנים את חיבור הקישור כדי לייצא מסלולים מותאמים אישית לרשת של ספק השירות. כשמייצאים מסלולים, כל המסלולים הסטטיים והדינמיים שעומדים בדרישות שנמצאים ברשת ה-VPC, כמו מסלולים לרשת המקומית, נשלחים לרשת של ספק השירות. הרשת של ספק השירות מייבאת אותם באופן אוטומטי, ואז יכולה לשלוח תנועה חזרה לרשת המקומית שלכם דרך רשת ה-VPC.
מוודאים שהקידומות שכוללות את טווחי כתובות ה-IP שהוקצו לגישה לשירותים פרטיים מפורסמות בצורה נכונה ברשת המקומית. במאמר מסלולים שפורסמו מוסבר איך אפשר לפרסם קידומות IPv4 בהתאמה אישית באמצעות Cloud Router.
צריך לוודא שחיבור ה-VLAN או מנהרת Cloud VPN מסתיימים באותה רשת VPC (או רשת VPC משותפת) כמו החיבור הפרטי, כי קישור בין רשתות VPC שכנות לא מספק ניתוב טרנזיטיבי.
פתרון בעיות
בקטעים הבאים מפורט מידע על פתרון בעיות שקשורות לגישה לשירותים פרטיים.
כמה מההקצאה שלי מנוצל?
כשיוצרים חיבור פרטי לבעלים של שירות מנוהל, מקצים לו טווח של כתובות IP לשימוש. אם אתם משתמשים בכמה שירותים מספק שירותים, כל שירות שומר לעצמו חלק מכתובות ה-IP מתוך הטווח שהוקצה. אתם יכולים לבדוק באילו כתובות IP משתמשים השירותים השונים, כדי לראות למשל באילו שירותים נעשה שימוש בבלוקים גדולים של כתובות IP, וכך להימנע ממיצוי של כתובות ה-IP.
כדי לראות את יחס ההקצאה של טווחי הכתובות שהוקצו, משתמשים בכלי Network Analyzer. מידע נוסף זמין במאמר סיכום השימוש בכתובות IP לגישה לשירותים פרטיים.
לחלופין, כדי לראות איזה שירות משתמש בטווח כתובות IP מסוים:
- הצגת רשימה של החיבורים הפרטיים.
- מוצאים את השם של חיבור ה-peering שמקשר אתכם לספק השירות הרלוונטי.
- מציגים את רשימת המסלולים של רשת ה-VPC.
- מחפשים את המסלולים עם קפיצה הבאה שתואמת לשם של חיבור ה-peering. טווח היעד של המסלולים מציין את כתובות ה-IP שבהן כל שירות משתמש.
מיצוי של טווח כתובות IP
אם בחיבור פרטי מסוים נגמר המקום שהוקצה לכתובות IP, הפונקציה Google Cloud מחזירה את השגיאה הבאה: Failed to create subnetwork.
Couldn't find free blocks in allocated IP ranges.
יכול להיות שהשגיאה הזו מופיעה כי הטווח שהוקצה לא מספיק לשימוש שלכם, או כי מסלול מותאם אישית סטטי או דינמי מונע שימוש מלא בטווח שהוקצה. מידע נוסף על שיקולים לגבי ניתוב זמין במאמר בחירת טווח כתובות IP לטווח שהוקצה.
אפשר להרחיב את ההקצאה הקיימת או להוסיף הקצאות חדשות. ההקצאה המורחבת חייבת להיות טווח כתובות IP רציף שכולל את הטווח הקיים. מומלץ להגדיל את ההקצאה כי אין הגבלה על הגודל שלה, אבל יש הגבלה על מספר ההקצאות שאפשר ליצור לכל פרויקט ולכל חיבור. מידע נוסף זמין במאמרים בנושא כתובות IPv4 פנימיות גלובליות סטטיות וטווחים של כתובות IP שהוקצו לכל חיבור פרטי.
כדי להרחיב הקצאה קיימת:
- מציגים את החיבורים הפרטיים ורושמים את השם של הטווח שהוקצה שצריך להרחיב.
- מוחקים את טווח המספרים שהוקצה שרוצים להרחיב.
- יוצרים טווח חדש של כתובות שהוקצו עם אותו שם כמו הטווח שנמחק. מציינים טווח כתובות IP שכולל את טווח כתובות ה-IP שנמחק. כך, משאבים קיימים בחיבור Peering שמשתמשים בטווח המוקצה הישן יכולים להמשיך להשתמש באותן כתובות IP בלי שיהיה התנגשות עם משאבים ברשת ה-VPC. לדוגמה, אם הטווח הקודם שהוקצה היה
192.168.0.0/20, צריך ליצור טווח חדש שהוקצה
כדי להוסיף טווחים שהוקצו לחיבור פרטי קיים:
- יצירת טווח חדש שהוקצה. הטווח הזה לא חייב להיות רציף עם טווחים קיימים שהוקצו.
- מוסיפים את הטווח שהוקצה לחיבור הפרטי הקיים.
הרשאות של חשבון שירות
אם אתם רואים שגיאה לגבי ההרשאה compute.globalAddresses.list בפרויקט כשאתם יוצרים טווח מוקצה, או אם אתם נתקלים בשגיאות כמו Error 400: Precondition check failed כשאתם יוצרים, מציגים או משנים חיבורים פרטיים, יכול להיות שיש בעיה בתפקידים של ניהול זהויות והרשאות גישה (IAM) בחשבון השירות של Service Networking API. חשבון השירות הזה נוצר באופן אוטומטי אחרי שמפעילים את Service Networking API. יכול להיות שיעבור זמן עד שהחשבון יוקצה ויוצג בדף IAM.
המסוף
כדי לוודא שלחשבון השירות יש את תפקיד ה-IAM הנכון, מבצעים את הפעולות הבאות:
נכנסים לדף IAM במסוף Google Cloud .
מסמנים את התיבה Include Google-provided role grants.
בעמודה Name, מחפשים את החשבון הראשי Service Networking Service Agent ולוחצים על Edit principal בשורה המתאימה.
בשדה תפקיד, מוודאים שהתפקיד Service Networking Service Agent (
roles/servicenetworking.serviceAgent) מופיע.אם התפקיד Service Networking Service Agent לא מופיע, לוחצים על Add role או על Add another role.
לוחצים על בחירת תפקיד.
בתיבת הטקסט Filter (סינון), מזינים
Service Networking Service Agent.בוחרים באפשרות Service Networking Service Agent מהרשימה ולוחצים על Save.
gcloud
כדי ליצור חשבון שירות של Service Networking API, משתמשים בפקודה gcloud projects add-iam-policy-binding.
gcloud projects add-iam-policy-binding HOST_PROJECT_NAME \ --member=serviceAccount:service-HOST_PROJECT_NUMBER@service-networking.iam.gserviceaccount.com \ --role=roles/servicenetworking.serviceAgent
מחליפים את מה שכתוב בשדות הבאים:
-
HOST_PROJECT_NAME: שם פרויקט המארח. -
HOST_PROJECT_NUMBER: מספר פרויקט המארח.
מסלול של רשת משנה ב-Peering נשאר אחרי עדכון של טווח שהוקצה
אחרי שמעדכנים את טווח כתובות ה-IP המוקצה של חיבור לשירותים פרטיים, יכול להיות שעדיין יופיע ברשת ה-VPC נתיב ישן של רשת משנה שכנה בטבלת הניתוב. המסלול נשמר כי טווח כתובות ה-IP עדיין בשימוש.
כדי לפתור את הבעיה:
- אם מוחקים טווח שהוקצה, חשוב גם לעדכן את החיבור הפרטי.
- מוחקים או מעדכנים את כל המשאבים שמשתמשים בטווח כתובות ה-IP הישן.
נתיב תת-הרשת של ה-peering מוסר באופן אוטומטי אחרי שטווח כתובות ה-IP לא נמצא יותר בשימוש. יכול להיות שיהיה עיכוב בין מחיקת המשאב לבין המחיקה המלאה של המשאב על ידי הבעלים של השירות המנוהל. לדוגמה, אם טווח כתובות ה-IP הישן נמצא בשימוש על ידי מופע Cloud SQL, יכול להיות שיחלפו עד ארבעה ימים עד שבעלים של שירות מנוהל ימחק את המופע באופן מלא. נתיב הרשת המשנה של ה-peering מוסר אחרי שהמחיקה מסתיימת.
לא ניתן ליצור חיבור פרטי חדש
אם תנסו ליצור חיבור פרטי חדש אחרי שתמחקו את חיבור ה-VPC Network Peering שמשויך לחיבור פרטי קודם,יכול להיות שתקבלו שגיאה. Google Cloudמידע על פתרון בעיות מופיע בהודעות השגיאה הבאות.
כדי למנוע את הבעיה הזו, צריך לפעול לפי ההליך למחיקת חיבור פרטי במקום למחוק ישירות את החיבור המשויך של קישור בין רשתות VPC שכנות (peering).
שגיאה: אי אפשר לשנות את הטווחים שהוקצו:
ERROR: Cannot modify allocated ranges in CreateConnection. Please use UpdateConnection. Existing allocated IP ranges: ALLOCATED_RANGE_NAMES.
אם השגיאה הזו מופיעה, צריך לבצע את הפעולות הבאות:
יוצרים מחדש את החיבור הפרטי שמחקתם ומשתמשים בשמות של טווחי הכתובות שהוקצו שהוחזרו בשגיאה. כשיוצרים מחדש את החיבור, צריך להשתמש באותם שמות של טווחים שהוקצו, אבל טווחי כתובות ה-IP התואמים (בלוקים של CIDR) יכולים להיות זהים או שונים.
כדי ליצור את החיבור הפרטי, אפשר לעיין במאמר בנושא יצירת חיבור פרטי.
במקרה הצורך, משנים את החיבור הפרטי כדי להוסיף או להסיר טווחים שהוקצו. יכול להיות שתרצו להשתמש בטווחים מוקצים שונים מאלה שציינתם כששחזרתם את החיבור הפרטי בשלב הקודם.
כדי לשנות את החיבור הפרטי, אפשר לעיין במאמר שינוי חיבור פרטי.
שגיאה פנימית זמנית:
ERROR: (gcloud.services.vpc-peerings.connect) The operation "operations/OPERATION_ID" resulted in a failure "encountered some transient internal error, please try again later"
אם השגיאה הזו מופיעה, צריך לפנות אל התמיכה של Cloud.