בדף הזה מוסבר איך להשתמש בהגדרות של רשתות מורשות כדי להתחבר למופעי Cloud SQL שמשתמשים בכתובות IP.
הגדרת רשתות מורשות
צריך להגדיר את כתובת ה-IP או את טווח הכתובות של אפליקציית הלקוח כ-authorized networks במקרים הבאים:
- אפליקציית הלקוח מתחברת ישירות למכונת Cloud SQL בכתובת ה-IP הציבורית שלה.
- אפליקציית הלקוח מתחברת ישירות למופע Cloud SQL בכתובת ה-IP הפרטית שלו, וכתובת ה-IP של הלקוח היא כתובת שאינה RFC 1918
כתובת ה-IP יכולה להיות נקודת קצה יחידה או טווח ב סימון CIDR.
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט SQL, בוחרים באפשרות Connections (קישורים).
- נכנסים לכרטיסייה Networking.
- מסמנים את התיבה כתובת IP ציבורית.
- בקטע Authorized networks, מרחיבים את האפשרות New IP range.
- בשדה Name, מזינים שם לNew IP range.
- בשדה טווח כתובות IP, מזינים את כתובת ה-IPv4 הציבורית או את טווח הכתובות שמהן רוצים לאפשר חיבורים.
לחלופין, לוחצים על Use My IP כדי לאפשר ל-Cloud SQL לאכלס את כתובת ה-IPv4 של מכונת הלקוח שממנה ניגשים אל Cloud de Confiance.
האפשרות Use my IP לא זמינה ללקוחות שמשתמשים בכתובות IPv6.בטווח הכתובות, צריך להשתמש בסימון CIDR תקין (לדוגמה, 10.10.10.0/24).
- לוחצים על סיום.
- לוחצים על Save.
gcloud
הגדרת רשתות מורשות מחליפה את הרשימה הקיימת של רשתות מורשות.
gcloud sql instances patch INSTANCE_ID \ --authorized-networks=NETWORK_RANGE_1,NETWORK_RANGE_2...
Terraform
כדי להגדיר רשתות מורשות, משתמשים במשאב של Terraform.
החלה של השינויים
כדי להחיל את ההגדרות של Terraform בפרויקט ב- Cloud de Confiance , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל שבו רוצים להחיל את ההגדרות של Terraform. Cloud de Confiance
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
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!".
- פותחים את Cloud de Confiance הפרויקט כדי לראות את התוצאות. במסוף Cloud de Confiance , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
מחיקת השינויים
כדי למחוק את השינויים:
- כדי להשבית את ההגנה מפני מחיקה, בקובץ התצורה של Terraform מגדירים את הארגומנט
deletion_protectionלערךfalse.deletion_protection = "false"
- מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:terraform apply
-
כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה:terraform destroy
REST v1
הגדרת רשתות מורשות מחליפה את הרשימה הקיימת של רשתות מורשות.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- network_range_1 כתובת או טווח IP מורשים
- network_range_2 כתובת או טווח IP מורשים אחרים
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
תוכן בקשת JSON:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks":
[{"value": "network_range_1"}, {"value": "network_range_2"}]
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
REST v1beta4
הגדרת רשתות מורשות מחליפה את הרשימה הקיימת של רשתות מורשות.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- network_range_1 כתובת או טווח IP מורשים
- network_range_2 כתובת או טווח IP מורשים אחרים
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
תוכן בקשת JSON:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks":
[{"value": "network_range_1"}, {"value": "network_range_2"}]
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
מגבלות
- אי אפשר להוסיף טווחי כתובות IP מסוימים כרשתות מורשות.
טווח כתובות הערות 10.0.0.0/8 טווח הכתובות RFC 1918. הן נכללות אוטומטית ובאופן מרומז ברשתות המורשות על ידי Cloud SQL 172.16.0.0/12 טווח הכתובות RFC 1918. הן נכללות אוטומטית ובאופן מרומז ברשתות המורשות על ידי Cloud SQL 192.168.0.0/16 טווח הכתובות RFC 1918. הן נכללות אוטומטית ובאופן מרומז ברשתות המורשות על ידי Cloud SQL - Cloud SQL לא תומך ברשתות מורשות של IPv6. אם במכונת הלקוח נעשה שימוש בפרוטוקול IPv6, הלחצן האופציונלי Use my IP לא זמין בכרטיסייה Networking במסוף Cloud de Confiance .
- אם אתם משתמשים ב-VPN או בשרת proxy, האפשרות Use my IP לא תציג את כתובת ה-IP האמיתית של מכונת הלקוח. זה קורה בכוונה.
המאמרים הבאים
מגדירים את המכונה לשימוש ב-SSL/TLS.
מתחברים למופע באמצעות לקוח psql עם SSL/TLS.