במאמר הזה מוסבר איך להגדיר חיבורים של כתובות IP פרטיות למכונה של Cloud SQL באמצעות גישה לשירותים פרטיים.
לפני שמתחילים
ב-Cloud SQL נדרשת גישה לשירותים פרטיים לכל רשת VPC שמשמשת לחיבורים דרך IP פרטי.
הפעלת ממשקי ה-API הנדרשים
מפעילים את Service Networking API (servicenetworking.googleapis.com) ואת Compute Engine API (compute.googleapis.com) בפרויקט שמארח את המכונה של Cloud SQL.
אם אתם משתמשים ברשת VPC משותפת, אתם צריכים להפעיל את ממשקי ה-API האלה גם בפרויקט המארח של ה-VPC המשותף.
כדי להפעיל את ממשקי ה-API, אפשר להשתמש בפקודה הבאה:
gcloud services enable servicenetworking.googleapis.com compute.googleapis.com --project=PROJECT_ID
מחליפים את PROJECT_ID במזהה הפרויקט (או במזהה הפרויקט המארח של ה-VPC המשותף).
אם Service Networking API לא מופעל, כשיוצרים את המכונה של Cloud SQL עם כתובת IP פרטית, הפעולה נכשלת ומופיעה השגיאה SERVICE_NETWORKING_NOT_ENABLED.
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שנדרשות ליצירה ולניהול של חיבור לגישה לשירותים פרטיים, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין רשת Compute (roles/compute.networkAdmin) בפרויקט שמארח את המכונה של Cloud SQL.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד מוגדר מראש עם ההרשאות שנדרשות כדי ליצור ולנהל חיבור של גישה לשירותים פרטיים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור ולנהל חיבור של גישה לשירותים פרטיים, נדרשות ההרשאות הבאות:
-
compute.addresses.create -
compute.addresses.list -
compute.globalAddresses.create -
compute.globalAddresses.createInternal -
compute.globalAddresses.list -
compute.networks.list -
compute.networks.use -
servicenetworking.services.addPeering -
serviceusage.services.list
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
אם אתם משתמשים ברשת VPC משותפת, אתם צריכים גם להקצות למשתמש את התפקיד "אדמין רשתות Compute" (roles/compute.networkAdmin) בפרויקט המארח של ה-VPC המשותף.
הגדרת גישה לשירותים פרטיים ב-Cloud SQL
תהליך ההגדרה של גישה לשירותים פרטיים מורכב משני חלקים:
בוחרים טווח כתובות IP קיים או מקצים טווח חדש.
אם יוצרים את מכונת Cloud SQL במסוף Google Cloud , אפשר גם לתת ל-Google להקצות טווח של כתובות IP. במקרה כזה, Google תקצה באופן אוטומטי טווח כתובות IP באורך הקידומת
/24ותשתמש בשם default-ip-range.אם אתם מתכננים ליצור מכונות של Cloud SQL בכמה אזורים או לסוגים שונים של מסדי נתונים, אתם צריכים טווח של כתובות IP בגודל
/24לפחות לכל אזור או סוג של מסד נתונים. זה כולל אפליקציות אחרות כמו Filestore או Memorystore. כדי להגדיר אזור חדש או סוג חדש של מסד נתונים, צריך להיות ב-Cloud SQL טווח/24פנוי.- יוצרים את החיבור לשירותים הפרטיים מרשת ה-VPC לרשת של הבעלים של השירות המנוהל.
במאמר דרישות לקישור דרך IP פרטי מפורטות הדרישות של סביבת הרשת והאפליקציה, והרשאות ה-IAM שנדרשות לגישה לשירותים פרטיים.
הקצאת טווח של כתובות IP
המסוף
-
במסוף Google Cloud , נכנסים לדף רשתות VPC.
- בוחרים את רשת ה-VPC שבה רוצים להשתמש.
- לוחצים על הכרטיסייה Private services access.
- בוחרים בכרטיסייה Allocated IP ranges for services.
- לוחצים על Allocate IP range.
- בשדה Name של הטווח שהוקצה, מציינים את הערך
google-managed-services-VPC_NETWORK_NAME, כאשרVPC_NETWORK_NAMEהוא השם של רשת ה-VPC שאליה מתחברים (לדוגמה,google-managed-services-default). השדה Description הוא אופציונלי. - בוחרים באפשרות Custom ומזינים את טווח כתובות ה-IP שרוצים להקצות, בסימון CIDR.
- לוחצים על Allocate כדי ליצור את הטווח שהוקצה.
gcloud
מבצעים אחת מהפעולות הבאות:
- כדי לציין טווח כתובות ואורך קידומת (מסכה של רשת משנה), משתמשים בדגלים
addressesו-prefix-length. לדוגמה, כדי להקצות את בלוק ה-CIDR192.168.0.0/16, מציינים את הכתובת192.168.0.0ואת אורך הקידומת16. - כדי לציין רק את אורך הקידומת (מסכה של רשת משנה), משתמשים בדגל
prefix-length. אם משמיטים את טווח הכתובות, Google Cloudבוחר באופן אוטומטי טווח כתובות שלא נמצא בשימוש ברשת ה-VPC. בדוגמה הבאה נבחר טווח כתובות IP שלא נמצא בשימוש, עם אורך קידומת של16ביטים.
gcloud compute addresses create google-managed-services-VPC_NETWORK_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --network=projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME
gcloud compute addresses create google-managed-services-VPC_NETWORK_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME
מחליפים את VPC_NETWORK_NAME בשם של רשת ה-VPC, למשל my-vpc-network.
בדוגמה הבאה מוקצה טווח כתובות IP שמאפשר למשאבים ברשת ה-VPC my-vpc-network להתחבר למכונות Cloud SQL באמצעות כתובת IP פרטית.
gcloud compute addresses create google-managed-services-my-vpc-network \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=projects/myprojectid/global/networks/myvpcnetwork \ --project=my-project
Terraform
כדי להקצות טווח של כתובות IP, משתמשים במשאב של Terraform.
החלה של השינויים
כך מחילים את ההגדרות של Terraform בפרויקט ב- Google Cloud :
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל ב- Google Cloud שבו רוצים להחיל את ההגדרות של Terraform.
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).
-
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת
.tf, למשלmain.tf. במדריך הזה, הקובץ נקראmain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם.לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את הפרויקט ב- Google Cloud כדי להציג את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
למחוק את השינויים
כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה:
terraform destroy
יצירת חיבור פרטי
המסוף
-
במסוף Google Cloud , נכנסים לדף רשתות VPC.
- בוחרים את רשת ה-VPC שבה רוצים להשתמש.
- לוחצים על הכרטיסייה Private service connection.
- לוחצים על הכרטיסייה Private connections to services.
- לוחצים על Create connection כדי ליצור חיבור פרטי בין הרשת שלכם לבין הבעלים של השירות המנוהל.
- בשדה Assigned allocation, בוחרים טווח אחד או יותר מהטווחים הקיימים שלא נמצאים בשימוש של בעלים אחרים של שירותים מנוהלים.
- לוחצים על קישור כדי ליצור את הקישור.
gcloud
יוצרים חיבור גישה לשירותים פרטיים בשביל רשת ה-VPC בפרויקט.
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-managed-services-VPC_NETWORK_NAME \ --network=VPC_NETWORK_NAME \ --project=PROJECT_ID
הפקודה מפעילה פעולה ממושכת במכונה של Cloud SQL, ומחזירה מזהה פעולה.
בודקים אם הפעולה הצליחה.
gcloud services vpc-peerings operations describe \ --name=OPERATION_ID
כשיוצרים חיבור פרטי, אפשר לציין יותר מטווח אחד של כתובות IP שהוקצו. לדוגמה, אם טווח מסוים מוצה, אפשר להקצות טווחים נוספים. השירות משתמש בכתובות IP מכל הטווחים שצוינו, לפי הסדר שציינתם.
Terraform
כדי ליצור חיבור פרטי, משתמשים במשאב של Terraform.
חשבון שירות בפורמט service-HOST_PROJECT_NUMBER@service-networking. מקבל את התפקיד servicenetworking.serviceAgent בזמן שהחיבור הפרטי נוצר, כי החשבון מוקצה בדיוק בזמן.
אם מופיעה שגיאה לגבי ההרשאה compute.globalAddresses.list או ההרשאה compute.projects.get בפרויקט, מריצים את הפקודה הבאה של gcloud:
gcloud projects add-iam-policy-binding HOST_PROJECT_NAME \ --member=serviceAccount:service-HOST_PROJECT_NUMBER@service-networking. \ --role=roles/servicenetworking.serviceAgent
הגדרת מכונה לכתובת IP פרטית באמצעות גישה לשירותים פרטיים
אפשר להגדיר גישה לשירותים פרטיים למכונות חדשות וקיימות.
הגדרת כתובת IP פרטית למכונה חדשה
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- לוחצים על Create instance.
- בקטע Customize your instance, מרחיבים את Show configuration options.
- מרחיבים את האפשרות חיבורים.
- בוחרים באפשרות Private IP.
- בוחרים באפשרות Private Service Access (PSA).
רשימה נפתחת עם רשתות ה-VPC שזמינות בפרויקט. אם הפרויקט שלכם הוא פרויקט שירות של VPC משותף, יוצגו גם רשתות VPC מהפרויקט המארח.
- בוחרים את רשת ה-VPC שבה רוצים להשתמש.
- לוחצים על הגדרת חיבור.
- בקטע Allocate an IP range, בוחרים אחת מהאפשרויות הבאות:
- בוחרים טווח כתובות IP קיים אחד או יותר, או יוצרים טווח חדש מהתפריט הנפתח. התפריט הנפתח כולל טווחים שהוקצו בעבר, אם יש כאלה, או שאפשר לבחור באפשרות Allocate a new IP range ולהזין טווח ושם חדשים.
- שימוש בטווח כתובות IP שמוקצה באופן אוטומטי ברשת.
- לוחצים על Continue.
- לוחצים על יצירת חיבור.
- מוודאים שמופיעה ההודעה:
Private service connection for network VPC_NETWORK_NAME has been successfully created. - אפשר גם לציין טווח כתובות IP שהוקצה למכונות לצורך חיבורים.
- מרחיבים את האפשרות Show allocated IP range.
- בוחרים טווח כתובות IP מהתפריט הנפתח.
- מסיימים להגדיר את המכונה.
- לוחצים על Create instance.
אם מופיעה הודעה שצריך להגדיר חיבור לשירות פרטי:
gcloud
לפני שיוצרים מכונה באמצעות כתובת IP פרטית, צריך לוודא שהפרויקט מוגדר לגישה לשירותים פרטיים.
מריצים את הפקודות הבאות של ה-CLI של gcloud כדי להגדיר את הרשת של הגישה לשירותים פרטיים ב-Cloud SQL:
- מפעילים את ממשקי ה-API הנדרשים:
gcloud services enable \ sqladmin.googleapis.com \ compute.googleapis.com \ servicenetworking.googleapis.com \ --project=PROJECT_ID
- הקצאת טווח של כתובות IP לקישור בין רשתות VPC שכנות (peering):
gcloud compute addresses create google-managed-services-VPC_NETWORK_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=projects/NETWORK_PROJECT_ID/global/networks/VPC_NETWORK_NAME \ --project=PROJECT_ID
- יצירת חיבור בין רשתות VPC שכנות (peering):
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-managed-services-VPC_NETWORK_NAME \ --network=VPC_NETWORK_NAME \ --project=PROJECT_ID
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הערכים בשדות הבאים:
-
INSTANCE_ID: מזהה המכונה -
PROJECT_ID: מזהה הפרויקט
NETWORK_PROJECT_ID: מזהה הפרויקט של רשת ה-VPC-
VPC_NETWORK_NAME: השם של רשת ה-VPC -
RANGE_NAME: אופציונלי. אם מצוין, מגדיר שם טווח שעבורו מוקצה טווח כתובות IP. שם הטווח חייב לעמוד בדרישות שלRFC-1035ולהכיל 1-63 תווים. -
REGION_NAME: שם האזור
--network. כדי להשבית את כתובת ה-IP הציבורית, משתמשים בדגל --no-assign-ip.
כדי לאכוף את השימוש בארכיטקטורת הרשת החדשה במכונה, משתמשים בדגל --enforce-new-sql-network-architecture. חשוב לוודא שהקציתם מספיק כתובות IP. אם תשתמשו באכיפה של ארכיטקטורת הרשת החדשה לפני שהפרויקט ישודרג באופן מלא, יכול להיות שלא תצליחו ליצור מכונות אם אין מספיק מקום לכתובות IP.
מידע נוסף זמין במאמרים שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח של כתובות IP.
gcloud beta sql instances create INSTANCE_ID \ --project=PROJECT_ID \ --network=projects/NETWORK_PROJECT_ID/global/networks/VPC_NETWORK_NAME \ --no-assign-ip \ --allocated-ip-range-name=RANGE_NAME \ --enforce-new-sql-network-architecture
Terraform
כדי להגדיר כתובת IP פרטית למכונה חדשה, משתמשים במשאבים הבאים של Terraform:
google_compute_networkgoogle_compute_global_addressgoogle_service_networking_connectiongoogle_sql_database_instance
החלה של השינויים
כך מחילים את ההגדרות של Terraform בפרויקט ב- Google Cloud :
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל ב- Google Cloud שבו רוצים להחיל את ההגדרות של Terraform.
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).
-
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת
.tf, למשלmain.tf. במדריך הזה, הקובץ נקראmain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם.לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את הפרויקט ב- Google Cloud כדי להציג את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
למחוק את השינויים
כדי למחוק את השינויים:
- כדי להשבית את ההגנה מפני מחיקה, בקובץ התצורה של Terraform מגדירים את הארגומנט
deletion_protectionלערךfalse.deletion_protection = "false"
- מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:terraform apply
-
כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה:terraform destroy
REST v1
יוצרים מכונה חדשה עם כתובת IP פרטית:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- VPC_NETWORK_NAME: מציינים את השם של רשת הענן הפרטי הווירטואלי (VPC) שבה רוצים להשתמש במכונה הזו. הגישה לשירותים פרטיים כבר צריכה להיות מוגדרת ברשת.
- RANGE_NAME: אופציונלי. אם מציינים את השדה, הוא מגדיר שם לטווח שמוקצה לו טווח כתובות IP. שם הטווח חייב לעמוד בדרישות של
RFC-1035ולהכיל 1-63 תווים. - AUTHORIZED_NETWORKS: בקישורים דרך IP ציבורי, מציינים את הקישורים מרשתות מורשות שיכולות להתחבר למכונה.
בפרמטר ipv4Enabled, מגדירים את הערך true אם משתמשים בכתובת IP ציבורית למכונה, או את הערך false אם למכונה יש כתובת IP פרטית.
אתם יכולים להשתמש בשדה sqlNetworkArchitecture כדי לאכוף את השימוש בארכיטקטורת הרשת החדשה במכונה בזמן היצירה, גם אם הפרויקט לא שודרג באופן מלא.
פרטים נוספים על ארכיטקטורת הרשת החדשה וההשלכות שלה מופיעים במאמרים שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח של כתובות IP.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
תוכן בקשת JSON:
{
"name": "INSTANCE_ID",
"region": "region",
"databaseVersion": "database-version",
"settings": {
"tier": "machine-type",
"ipConfiguration": {
"ipv4Enabled": false,
"privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME",
"allocatedIpRange": "RANGE_NAME"
"authorizedNetworks": [AUTHORIZED_NETWORKS],
}
},
"sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
REST v1beta4
יוצרים מכונה חדשה עם כתובת IP פרטית:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- VPC_NETWORK_NAME: מציינים את השם של רשת הענן הפרטי הווירטואלי (VPC) שבה רוצים להשתמש במכונה הזו. הגישה לשירותים פרטיים כבר צריכה להיות מוגדרת ברשת.
- RANGE_NAME: אופציונלי. אם מציינים את השדה, הוא מגדיר שם לטווח שמוקצה לו טווח כתובות IP. שם הטווח חייב לעמוד בדרישות של
RFC-1035ולהכיל 1-63 תווים. - AUTHORIZED_NETWORKS: בקישורים דרך IP ציבורי, מציינים את הקישורים מרשתות מורשות שיכולות להתחבר למכונה.
בפרמטר ipv4Enabled, מגדירים את הערך true אם משתמשים בכתובת IP ציבורית למכונה, או את הערך false אם למכונה יש כתובת IP פרטית.
אתם יכולים להשתמש בשדה sqlNetworkArchitecture כדי לאכוף את השימוש בארכיטקטורת הרשת החדשה במכונה בזמן היצירה, גם אם הפרויקט לא שודרג באופן מלא.
פרטים נוספים על ארכיטקטורת הרשת החדשה וההשלכות שלה מופיעים במאמרים שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח של כתובות IP.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
תוכן בקשת JSON:
{
"name": "INSTANCE_ID",
"region": "region",
"databaseVersion": "database-version",
"settings": {
"tier": "machine-type",
"ipConfiguration": {
"ipv4Enabled": false,
"privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME",
"allocatedIpRange": "RANGE_NAME"
"authorizedNetworks": [AUTHORIZED_NETWORKS],
}
},
"sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
הגדרת כתובת IP פרטית למכונה קיימת
אם מגדירים מכונה קיימת של Cloud SQL לשימוש בכתובת IP פרטית, המכונה מופעלת מחדש וזה גורם לזמן השבתה.
כדי להגדיר מכונה קיימת לשימוש בכתובת IP פרטית:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט של Cloud SQL, לוחצים על Connections.
- בכרטיסייה Networking, מסמנים את התיבה Private IP.
בתפריט נפתח מוצגות הרשתות שזמינות בפרויקט.
- בוחרים את רשת ה-VPC שבה רוצים להשתמש:
- לוחצים על הגדרת חיבור.
- בקטע Allocate an IP range, בוחרים אחת מהאפשרויות הבאות:
- בוחרים טווח אחד או יותר של כתובות IP קיימות, או יוצרים טווח חדש מהתפריט הנפתח. התפריט הנפתח כולל טווחי כתובות IP שהוקצו בעבר, אם יש כאלה, או שאפשר לבחור באפשרות Allocate a new IP range ולהזין טווח ושם חדשים.
- להשתמש בטווח כתובות IP שמוקצה באופן אוטומטי ברשת.
- לוחצים על Continue.
- לוחצים על יצירת חיבור.
- מוודאים שמופיע הסטטוס Private service connection for network
VPC_NETWORK_NAMEhas been successfully created. - לוחצים על Save.
אם מופיעה ההודעה נדרש חיבור לשירות פרטי:
gcloud
מוודאים שהפרויקט מוגדר לגישה לשירותים פרטיים.
מעדכנים את המכונה של Cloud SQL באמצעות הפרמטר --network כדי לציין את השם של רשת ה-VPC שבחרתם.
כדי לאכוף את השימוש בארכיטקטורת הרשת החדשה במכונה כשמוסיפים הגדרת רשת של כתובת IP פרטית, משתמשים בדגל --enforce-new-sql-network-architecture.
חשוב לוודא שהקציתם מספיק מקום לכתובות IP בטווח ה-IP.
אם תשתמשו באכיפה של ארכיטקטורת הרשת החדשה לפני שהפרויקט ישודרג באופן מלא, יכול להיות שלא תצליחו ליצור מכונות אם אין מספיק מקום לכתובות IP.
מידע נוסף זמין במאמרים שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח של כתובות IP.
gcloud beta sql instances patch INSTANCE_ID \ --project=PROJECT_ID \ --network=projects/NETWORK_PROJECT_ID/global/networks/VPC_NETWORK_NAME \ --no-assign-ip \ --enforce-new-sql-network-architecture
REST v1
יוצרים מכונה חדשה עם כתובת IP פרטית:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- VPC_NETWORK_NAME: מציינים את השם של רשת הענן הפרטי הווירטואלי (VPC) שבה רוצים להשתמש במכונה הזו. הגישה לשירותים פרטיים כבר צריכה להיות מוגדרת ברשת.
- RANGE_NAME: אופציונלי. אם מציינים את השדה, הוא מגדיר שם לטווח שמוקצה לו טווח כתובות IP. שם הטווח חייב לעמוד בדרישות של
RFC-1035ולהכיל 1-63 תווים. - AUTHORIZED_NETWORKS: בקישורים דרך IP ציבורי, מציינים את הקישורים מרשתות מורשות שיכולות להתחבר למכונה.
בפרמטר ipv4Enabled, מגדירים את הערך true אם משתמשים בכתובת IP ציבורית למכונה, או את הערך false אם למכונה יש כתובת IP פרטית.
אתם יכולים להשתמש בשדה sqlNetworkArchitecture כדי לאכוף את השימוש בארכיטקטורת הרשת החדשה במכונה בזמן היצירה, גם אם הפרויקט לא שודרג באופן מלא.
פרטים נוספים על ארכיטקטורת הרשת החדשה וההשלכות שלה מופיעים במאמרים שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח של כתובות IP.
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings":
{
"ipConfiguration": {
"ipv4Enabled": false,
"privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME",
"allocatedIpRange": "RANGE_NAME"
"authorizedNetworks": [AUTHORIZED_NETWORKS],
}
},
"sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
REST v1beta4
יוצרים מכונה חדשה עם כתובת IP פרטית:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_ID: מזהה המכונה
- VPC_NETWORK_NAME: מציינים את השם של רשת הענן הפרטי הווירטואלי (VPC) שבה רוצים להשתמש במכונה הזו. הגישה לשירותים פרטיים כבר צריכה להיות מוגדרת ברשת.
- RANGE_NAME: אופציונלי. אם מציינים את השדה, הוא מגדיר שם לטווח שמוקצה לו טווח כתובות IP. שם הטווח חייב לעמוד בדרישות של
RFC-1035ולהכיל 1-63 תווים. - AUTHORIZED_NETWORKS: בחיבורים של כתובות IP ציבוריות, מציינים את החיבורים מרשתות מורשות שיכולות להתחבר למכונה.
בפרמטר ipv4Enabled, מגדירים את הערך true אם משתמשים בכתובת IP ציבורית למכונה, או את הערך false אם למכונה יש כתובת IP פרטית.
אתם יכולים להשתמש בשדה sqlNetworkArchitecture כדי לאכוף את השימוש בארכיטקטורת הרשת החדשה במכונה בזמן היצירה, גם אם הפרויקט לא שודרג באופן מלא.
פרטים נוספים על ארכיטקטורת הרשת החדשה וההשלכות שלה מופיעים במאמרים שדרוג מכונה לארכיטקטורת הרשת החדשה והקצאת טווח של כתובות IP.
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings":
{
"ipConfiguration": {
"ipv4Enabled": false,
"privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME",
"allocatedIpRange": "RANGE_NAME"
"authorizedNetworks": [AUTHORIZED_NETWORKS],
}
},
"sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
שינוי ההגדרות של הגישה לשירותים פרטיים
אתם יכולים לשנות את טווח הכתובות שהוקצה לחיבור לשירות פרטי בלי לשנות את המכונות הקיימות של Cloud SQL. כדי לשנות את כתובת ה-IP הפרטית של מכונה קיימת של Cloud SQL, פועלים לפי השלבים האלה.
כדי לשנות את טווח הכתובות שהוקצה:
המסוף
-
במסוף Google Cloud , נכנסים לדף רשתות VPC.
- בוחרים את רשת ה-VPC שבה רוצים להשתמש.
- לוחצים על הכרטיסייה Private service connection.
- בוחרים בכרטיסייה Allocated IP ranges for services.
בוחרים את השם של הטווח שרוצים למחוק.
לוחצים על שחרור.
לוחצים על Allocate IP range.
יוצרים טווח חדש עם אותו שם וטווח חדש
השם חשוב כי החיבור הפרטי כבר נוצר באמצעות שם הכתובת הזה.
gcloud services vpc-peerings update \ --network=VPC_NETWORK_NAME \ --ranges=ALLOCATED_RANGES \ --service=servicenetworking.googleapis.com \ --force
שינוי כתובת ה-IP הפרטית של מכונה קיימת של Cloud SQL
כדי לשנות את כתובת ה-IP הפרטית של מכונה קיימת ב-Cloud SQL, מעבירים את המכונה מהרשת המקורית שלה לרשת VPC זמנית. אחר כך משנים את הגדרת הגישה הפרטית לשירות ברשת המקורית של המכונה, ומעבירים את המכונה של Cloud SQL בחזרה לרשת המקורית שלה.
כדי לעבור לרשת VPC אחרת, מבצעים את כל השלבים בתהליך הבא, חוץ מהשלב האחרון (העברת המכונה בחזרה). במקרה הזה, TEMPORARY_VPC_NETWORK_NAME היא רשת ה-VPC החדשה. בנוסף, מוחקים את החיבור הפרטי הישן.
יכול להיות שיעברו כמה ימים עד שהחיבור הפרטי שנמחק ייעלם ממסוףGoogle Cloud .
אם המכונה של Cloud SQL מתארחת ברשת VPC משותפת, המשתנים VPC_NETWORK_NAME שבהוראות הבאות צריכים להיות שמות רשת ה-VPC של הפרויקט המארח. כדי לציין רשת עם רשת VPC משותפת, צריך להשתמש בכתובת ה-URL המלאה של הרשת, למשל projects/HOST_PROJECT/global/networks/NETWORK_NAME.
המסוף
-
במסוף Google Cloud , נכנסים לדף רשתות VPC.
- יוצרים רשת VPC זמנית.
- הקצאת כתובת IP ברשת ה-VPC הזמנית.
- יוצרים חיבור פרטי ברשת ה-VPC הזמנית.
מעבירים את המכונה של Cloud SQL לרשת ה-VPC הזמנית.
gcloud beta sql instances patch INSTANCE_ID \ --project=PROJECT_ID \ --network=projects/PROJECT_ID/global/networks/TEMPORARY_VPC_NETWORK_NAME \ --no-assign-ip
לשנות את הגדרת הגישה לשירות פרטי ברשת המקורית כדי להוסיף טווח חדש שהוקצה או למחוק טווחים קיימים.
מעבירים את המכונה של Cloud SQL בחזרה לרשת ה-VPC המקורית.
gcloud beta sql instances patch INSTANCE_ID \ --project=PROJECT_ID \ --network=projects/PROJECT_ID/global/networks/ORIGINAL_VPC_NETWORK_NAME \ --no-assign-ip
התחברות למכונה באמצעות כתובת ה-IP הפרטית שלה
אתם משתמשים בגישה לשירותים פרטיים כדי להתחבר למכונות Cloud SQL ממכונות Compute Engine או Google Kubernetes Engine באותה רשת VPC (שמוגדרות כאן כמקורות פנימיים) או מחוץ לרשת הזו (מקור חיצוני).
חיבור ממקור פנימי
כדי להתחבר ממקור באותו פרויקט ב- Google Cloud שבו נמצאת המכונה של Cloud SQL, כמו Cloud SQL Auth Proxy שפועל במשאב של Compute Engine, המשאב הזה צריך להיות באותה רשת VPC שבה הוגדרה הגישה הפרטית לשירותים של המכונה של Cloud SQL.
כדי להתחבר ממקור ללא שרת (serverless), כמו סביבת ברירת המחדל ב-App Engine, Cloud Run או פונקציות Cloud Run, האפליקציה או הפונקציה מתחברות ישירות למכונה באמצעות גישה ל-VPC ללא שרת (serverless), בלי Cloud SQL Auth Proxy.
חיבור ממקור חיצוני
אם רשת חיצונית (לדוגמה, רשת מקומית או רשת VPC) מחוברת לרשת ה-VPC שאליה מחובר המכונה של Cloud SQL, אתם יכולים להשתמש ב-Cloud VPN או ב-Cloud Interconnect כדי להתחבר למכונה מלקוח ברשת החיצונית.
כדי לאפשר חיבורים מרשת חיצונית:
- מוודאים שרשת ה-VPC מחוברת לרשת החיצונית באמצעות מנהרת Cloud VPN או צירוף ל-VLAN של Dedicated Interconnect או של Partner Interconnect.
-
מוודאים שהסשנים של פרוטוקול Border Gateway (BGP) ב-Cloud Routers שמנהלים את מנהרות Cloud VPN והחיבורים של Cloud Interconnect (VLAN) קיבלו קידומות (יעדים) ספציפיות מהרשת המקומית.
אי אפשר לייבא נתיבי ברירת מחדל (יעד 0.0.0.0/0) לרשת ה-VPC של Cloud SQL, כי לרשת הזו יש נתיב ברירת מחדל מקומי משלה. המערכת משתמשת בנתיבים מקומיים ליעד, למרות שהגדרתם את הקישור בין רשתות שכנות ב-Cloud SQL לייבא נתיבים בהתאמה אישית מרשת ה-VPC.
- מזהים את חיבורי ה-peering שנוצרו על ידי החיבור לשירותים הפרטיים. בהתאם לשירות, החיבור לשירותים פרטיים עשוי ליצור אחד או יותר מחיבורי ה-Peering הבאים, אבל לא בהכרח את כולם:
cloudsql-mysql-googleapis-comcloudsql-postgres-googleapis-comservicenetworking-googleapis-com
- מעדכנים את כל חיבורי ה-Peering כדי להפעיל את האפשרות Export custom routes.
- מזהים את טווח הכתובות שהוקצה לשימוש בחיבור לשירותים הפרטיים.
- מגדירים מצב פרסום בהתאמה אישית של Cloud Router לטווח שהוקצה ב-Cloud Routers שמנהלים סשנים של BGP למנהרות Cloud VPN או לחיבורים של Cloud Interconnect (VLAN).
התחברות מ-Cloud Shell
ב-Cloud Shell נעשה שימוש במכונה וירטואלית של Compute Engine שמנוהלת על ידי Google Cloud ונמצאת מחוץ לרשת ה-VPC. לכן, אין נתיב קישוריות בין Cloud Shell לבין מרחב כתובות ה-IP הפרטיות של רשת ה-VPC.
לכן, ב-Cloud Shell אי אפשר להתחבר למכונה של Cloud SQL שיש לה רק כתובת IP פרטית.
כדי להתחבר למכונות Cloud SQL מרשת חיצונית באמצעות קישור דרך IP פרטית, קראו את המאמר התחברות למכונת Cloud SQL מחוץ ל-VPC שלה.
חיבור מכתובות IP שהן לא RFC 1918
ב-RFC 1918 מצוינות כתובות IP שמוקצות לשימוש פנימי (כלומר, בתוך הארגון) ולא ינותבו באינטרנט. באופן ספציפי, אלה:
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
חיבורים למכונה של Cloud SQL באמצעות כתובת IP פרטית מקבלים הרשאה אוטומטית לטווחי הכתובות של RFC 1918. כך כל הלקוחות הפרטיים יכולים לגשת למסד הנתונים בלי לעבור דרך שרת ה-proxy.
כדי להתחבר מכתובת IP שהיא לא RFC 1918, צריך להגדיר הרשאת IP לכל מכונה, כדי לאפשר תנועה מטווחים של כתובות IP שהן לא RFC 1918.
לדוגמה, משתמשים בפקודה gcloud הבאה:
gcloud sql instances patch INSTANCE_NAME \ --authorized-networks=192.88.99.0/24,11.0.0.0/24
כברירת מחדל, Cloud SQL לא לומד נתיבים של תת-רשתות שאינן RFC 1918 מרשת ה-VPC. כדי לייצא נתיבים שאינם RFC 1918, צריך לעדכן את קישור הרשתות (peering) ל-Cloud SQL.
gcloud compute networks peerings update PEERING_CONNECTION \ --network=VPC_NETWORK_NAME \ --export-subnet-routes-with-public-ip \ --project=PROJECT_ID
-
PEERING_CONNECTIONהוא השם של חיבור ה-peering שנוצר על ידי החיבור לשירותים הפרטיים בין רשת ה-VPC שלכם לבין הרשת של הבעלים של השירות המנוהל. -
VPC_NETWORK_NAMEהוא השם של רשת ה-VPC. -
PROJECT_IDהוא מזהה הפרויקט של רשת ה-VPC. אם אתם משתמשים ב-VPC משותף, השתמשו במזהה הפרויקט המארח.
מחליפים את מה שכתוב בשדות הבאים:
כדי לצמצם את ניצול כתובות ה-IP, אתם יכולים להשתמש בכתובות IP ציבוריות בשימוש פרטי.
התחברות מכתובות IP ציבוריות בשימוש פרטי
אם רוצים להגדיר את המכונה בטווח של כתובות IP ציבוריות בשימוש פרטי, צריך להפעיל את export-subnet-routes-with-public-ip בקישור בין הרשתות השכנות של הרשת שלכם ושל הרשת של Cloud SQL.
gcloud compute networks peerings update PEERING_CONNECTION \ --network=VPC_NETWORK_NAME \ --export-subnet-routes-with-public-ip \ --project=PROJECT_ID
-
PEERING_CONNECTIONהוא השם של חיבור ה-peering שנוצר על ידי החיבור לשירותים הפרטיים בין רשת ה-VPC שלכם לבין הרשת של בעלים של שירות מנוהל. כדי לדעת מה השם של החיבור בין רשתות שכנות, נכנסים לדף VPC network peering. -
VPC_NETWORK_NAMEהוא השם של רשת ה-VPC. -
PROJECT_IDהוא מזהה הפרויקט של רשת ה-VPC. אם אתם משתמשים ב-VPC משותף, השתמשו במזהה הפרויקט המארח.
מחליפים את מה שכתוב בשדות הבאים:
התחברות למכונה שמוגדרת עם כתובות IP ציבוריות בשימוש פרטי
אם המכונה מוגדרת בטווח כתובות IP ציבוריות בשימוש פרטי ואתם רוצים להתחבר אליה, צריך להפעיל את import-subnet-routes-with-public-ip ברשתות השוות-המעמד בין הרשת שלכם לבין הרשת של Cloud SQL.
gcloud compute networks peerings update PEERING_CONNECTION \ --network=VPC_NETWORK_NAME \ --import-subnet-routes-with-public-ip \ --project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PEERING_CONNECTIONהוא השם של חיבור ה-peering שנוצר על ידי החיבור לשירותים הפרטיים בין רשת ה-VPC שלכם לבין הרשת של בעלים של שירות מנוהל. כדי למצוא את השם של חיבור ה-Peering, נכנסים לדף VPC network peering. -
VPC_NETWORK_NAMEהוא השם של רשת ה-VPC. -
PROJECT_IDהוא מזהה הפרויקט של רשת ה-VPC. אם אתם משתמשים ב-VPC משותף, השתמשו במזהה הפרויקט המארח.
חיבור באמצעות נקודת קצה (endpoint) לכתיבה
בנוסף לכתובת IP פרטית, אתם יכולים להשתמש בנקודת קצה לכתיבה במחרוזת חיבור של SQL. נקודת קצה לכתיבה היא שם גלובלי של שירות שמות דומיינים (DNS) שמפנה באופן אוטומטי לכתובת ה-IP של המכונה הראשית הנוכחית. שימוש בנקודת קצה לכתיבה מאפשר לכם להימנע משינויים בחיבור של האפליקציה כשמתרחש כשל באזור.
אם מתרחש מעבר לגיבוי בעת כשל או מעבר של רפליקה, נקודת הקצה לכתיבה יכולה לעזור בניהול כתובות ה-IP הפרטיות של המכונות. במקרה כזה, משתמשים בנקודת הקצה לכתיבה כדי להתחבר למכונה שפועלת כמכונה הראשית.
איך Cloud SQL יוצר נקודת קצה לכתיבה
אם תפעילו את Cloud DNS API בפרויקט Google Cloud , ואחר כך תיצרו מכונה ראשית של Cloud SQL Enterprise Plus, תקדמו את הרפליקה של המכונה או תשדרגו את המכונה מ-Cloud SQL Enterprise, המערכת של Cloud SQL תיצור באופן אוטומטי נקודת קצה לכתיבה ותקצה אותה למכונה.
מידע נוסף זמין במאמר הצגת נקודת הקצה לכתיבה.
הקצאת נקודת קצה לכתיבה למכונה
אם לא תפעילו את Cloud DNS API בפרויקט ב- Google Cloud , ואז תיצרו, תקדמו או תשדרגו את המכונה, Cloud SQL לא יקצה באופן אוטומטי את נקודת הקצה לכתיבה למכונה.
כדי ש-Cloud SQL ייצור נקודת קצה לכתיבה ויקצה אותה למכונה, קראו את המאמר יצירת נקודת קצה לכתיבה.
מגבלות של השירות המנוהל ל-Microsoft Active Directory
אם האזור של המכונה הראשית המקורית לא זמין והשירות המנוהל ל-Microsoft Active Directory מופעל, אי אפשר להשתמש בנקודת הקצה לכתיבה של המכונה הראשית שקודמה לאחרונה עם אימות של השירות המנוהל ל-Microsoft AD כדי להתחבר אחרי פעולת יתירות כשל.
תמיכה בנקודות קצה לכתיבה של מהדורת Cloud SQL Enterprise Plus ביחסי אמון בין יערות שונים
מכונה וירטואלית שמחוברת באופן מקומי מסתמכת על ניתוב של סיומת שם לצורך אימות. נקודות הקצה לכתיבה של מכונה במהדורת Cloud SQL Enterprise Plus, שמנוהלות על ידי Cloud SQL, משתמשות בפורמט ייחודי של שם מארח, לדוגמה, *.sql-psa.goog.
אם נקודת הקצה לכתיבה שמשויכת למכונה של מהדורת Cloud SQL Enterprise Plus פועלת מדומיין שמחובר דרך יחסי אמון, יכול להיות שפורמט החיבור הזה ימנע מהדומיין המקומי למצוא באופן אוטומטי את הדומיין המוסמך של שם מנהל השירות.
כדי לפתור את הבעיה, צריך להוסיף את סיומת הדומיין הרלוונטית שמנוהלת על ידי Cloud SQL (לדוגמה, goog או sql-psa.goog) כסיומת UPN חלופית. אתם צריכים להוסיף את הסיומת הזו ברמת ה-forest ב-Active Directory של הדומיין המנוהל, באמצעות החשבון setupadmin:
- ב-Active Directory המנוהל, מבצעים את הפעולות הבאות:
- בחלון Server Manager, בוחרים באפשרות Tools. לאחר מכן בוחרים באפשרות Active Directory Domains and Trusts.
- בחלונית, לוחצים לחיצה ימנית על Active Directory Domains and Trusts (צומת הבסיס).
- ואז לוחצים על מאפיינים.
- בכרטיסייה UPN Suffixes, מזינים את הסיומת החלופית של ה-UPN (לדוגמה,
sql-psa.goog). - לוחצים על הוספה.
- לוחצים על אישור.
- לוחצים על OK.
- ב-Active Directory המקומי, מבצעים את הפעולות הבאות:
- בחלון Server Manager, בוחרים באפשרות Tools ואז באפשרות Active Directory Domains and Trusts.
- בחלונית, לוחצים לחיצה ימנית על שם הדומיין המנוהל ב-AD ועל יחסי האמון. זהו הדומיין המנוהל הספציפי שיש לו יחסי אמון עם הדומיין המקומי.
- בוחרים באפשרות מאפיינים ואז עוברים לכרטיסייה יחסי אמון.
- בקטע Domains trusted by this domain (outgoing trusts) או Domains that trust this domain (incoming trusts), בוחרים את הרשומה של שם הדומיין המנוהל ולוחצים על Properties.
- עוברים לכרטיסייה ניתוב סיומות של שמות ולוחצים על רענון.
- מוצאים ובוחרים את הסיומת החדשה שנוספה לשם, למשל
sql-psa.goog, ולוחצים על הפעלה. - לוחצים על Apply (החלה) ועל OK (אישור) בכל תיבות הדו-שיח שנותרו.
פתרון בעיות
בקטע פתרון בעיות מפורטות בעיות קישוריות מוכרות, ובקטע ניפוי באגים בבעיות קישוריות מוסבר איך לבצע אבחון עצמי.