במאמר הזה מוסבר איך להגדיר חיבורים של כתובות 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 בכמה אזורים או עבור סוגים שונים של מסדי נתונים, אתם צריכים להקצות לפחות
/24כתובות IP לכל אזור או סוג מסד נתונים. זה כולל אפליקציות אחרות כמו Filestore או Memorystore. כדי להשתמש באזור חדש או בסוג חדש של מסד נתונים, צריך שיהיה ל-Cloud SQL טווח כתובות/24בחינם.- יוצרים את החיבור הפרטי לשירותים מרשת ה-VPC לרשת הבסיסית של הבעלים של שירות מנוהל.
במאמר דרישות לקישור דרך IP פרטיים מפורטות הדרישות לגבי סביבת הרשת והאפליקציה וההרשאות ב-IAM שנדרשות לגישה לשירותים פרטיים.
הקצאת טווח של כתובות IP
המסוף
-
במסוף Google Cloud , נכנסים לדף רשתות VPC.
- בוחרים את רשת ה-VPC שבה רוצים להשתמש.
- לוחצים על הכרטיסייה גישה לשירותים פרטיים.
- בוחרים בכרטיסייה Allocated IP ranges for services.
- לוחצים על Allocate IP range.
- בשדה שם של הטווח שהוקצה, מציינים
google-managed-services-VPC_NETWORK_NAME, כאשרVPC_NETWORK_NAMEהוא השם של רשת ה-VPC שאליה מתחברים (לדוגמה,google-managed-services-default). השדה תיאור הוא אופציונלי. - בוחרים באפשרות Custom ומזינים את טווח כתובות ה-IP שרוצים להקצות, בסימון CIDR.
- לוחצים על הקצאה כדי ליצור את הטווח המוקצה.
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, בוחרים טווח אחד או יותר של כתובות IP שהוקצו, שלא נמצאים בשימוש של בעלים אחרים של שירותים מנוהלים.
- לוחצים על Connect (קישור) כדי ליצור את הקישור.
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 מכל הטווחים שצוינו, לפי הסדר שציינתם.
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.
- מרחיבים את האפשרות Connections (חיבורים).
- בוחרים באפשרות Private IP.
- בוחרים באפשרות גישה פרטית לשירות (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ולהכיל בין תו אחד ל-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 קיימות, או יוצרים טווח חדש מהתפריט הנפתח. התפריט הנפתח כולל טווחים שהוקצו בעבר, אם יש כאלה, או שאפשר לבחור באפשרות 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ולהכיל בין תו אחד ל-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, פועלים לפי השלבים האלה.
כדי לשנות את טווח הכתובות שהוקצה:
המסוף
-
נכנסים לדף VPC networks במסוף Google Cloud .
- בוחרים את רשת ה-VPC שרוצים להשתמש בה.
- לוחצים על הכרטיסייה Private service connection (חיבור שירות פרטי).
- בוחרים בכרטיסייה הקצאות של טווחי כתובות IP לשירותים.
בוחרים את שם הטווח שרוצים למחוק.
לוחצים על שחרור.
לוחצים על 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.
המסוף
-
נכנסים לדף VPC networks במסוף Google Cloud .
- יוצרים רשת 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 Protocol (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, צריך לעדכן את שיוך הרשת ל-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 ב-peering של הרשת בין הרשת שלכם לבין הרשת של 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 שלכם לבין הרשת של בעלים של שירות מנוהל. כדי למצוא את השם של חיבור הפירינג, עוברים לדף 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 בקרב יחסי אמון בין יערות
מכונה וירטואלית שמצורפת ל-on-premise מסתמכת על ניתוב של סיומות שמות לצורך אימות. נקודות הקצה לכתיבה של מכונת Cloud SQL Enterprise Plus, שמנוהלות על ידי Cloud SQL, משתמשות בפורמט שונה של שם מארח, לדוגמה, *.sql-psa.goog.
אם נקודת הקצה לכתיבה שמשויכת למופע של Cloud SQL Enterprise Plus פועלת מדומיין שמחובר באמצעות יחסי אמון, יכול להיות שפורמט החיבור הזה ימנע מהדומיין המקומי למצוא באופן אוטומטי את הדומיין הסמכותי עבור שם המנהל של השירות.
כדי לפתור את הבעיה, צריך להוסיף את סיומת הדומיין הרלוונטית שמנוהלת על ידי Cloud SQL (לדוגמה, goog או sql-psa.goog) כסיומת UPN חלופית. צריך להוסיף את הסיומת הזו ברמת היער ב-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 (דומיינים ומהימנויות של Active Directory).
- בחלונית, לוחצים לחיצה ימנית על שם הדומיין המנוהל של AD וההרשאות. זהו הדומיין המנוהל הספציפי שיש לו הרשאה לדומיין המקומי.
- בוחרים באפשרות מאפיינים ואז עוברים לכרטיסייה יחסי אמון.
- בקטע Domains trusted by this domain (outgoing trusts) או בקטע Domains that trust this domain (incoming trusts), בוחרים את הרשומה של שם הדומיין המנוהל ולוחצים על Properties.
- עוברים לכרטיסייה ניתוב סיומות של שמות ולוחצים על רענון.
- מוצאים את הסיומת של השם שנוספה לאחרונה, למשל
sql-psa.goog, ובוחרים בה. לוחצים על הפעלה. - לוחצים על Apply (החלה) ועל OK (אישור) בכל תיבות הדו-שיח שנותרו.
פתרון בעיות
אפשר לעיין ב פתרון בעיות כדי לראות בעיות מוכרות בקישוריות, וגם ב ניפוי באגים בבעיות חיבור כדי לקבל עזרה באבחון עצמי.