הגדרת כתובת IP ציבורית

בדף הזה מוסבר איך להגדיר קישוריות של כתובת IP ציבורית למכונת Cloud SQL.

מבוא

אתם יכולים להגדיר למכונת Cloud SQL כתובת IPv4 ציבורית, ולהוסיף למכונה כתובות מורשות כדי לאפשר לה לקבל חיבורים מכתובות IP ספציפיות או מטווח של כתובות.

אי אפשר לציין רשת פרטית (לדוגמה, 10.x.x.x) כרשת מורשית.

כתובות IP ציבוריות למופעים של SQL Server:

  • ‫IPv6: מופעים לא תומכים ב-IPv6.
  • ‫IPv4: למכונות מוקצית באופן אוטומטי כתובת IPv4 סטטית. יש חיוב קטן על כתובת ה-IP בכל פעם שהמופע מושבת (לא פעיל).

לקבלת עזרה בחיבור לקוח ניהול למופע באמצעות קישור דרך IP, אפשר לעיין במאמר בנושא חיבור לקוח sqlcmd באמצעות כתובות IP.

אם מגדירים את המופע כך שיקבל חיבורים באמצעות כתובת ה-IP הציבורית שלו, צריך להגדיר אותו גם כך שישתמש ב-SSL כדי לשמור על אבטחת הנתונים. מידע נוסף זמין במאמר בנושא הגדרת SSL למופעים.

כדי להגדיר למכונה כתובת IP שלא חשופה לאינטרנט הציבורי, אפשר לעיין במאמר בנושא הגדרת קישוריות של כתובת IP פרטית.

הפעלת כתובת IP ציבורית והוספה של כתובת או טווח כתובות מורשים

כשמפעילים כתובת IP ציבורית למכונה, Cloud SQL מגדיר את המכונה עם כתובת IPv4 ציבורית וסטטית. אחרי שמפעילים את כתובת ה-IP הציבורית, צריך להגדיר הרשאה לחיבורים למסד הנתונים. מידע נוסף זמין במאמר בנושא אפשרויות הרשאה.

אם אתם משתמשים ברשות אישורים (CA) משותפת או ב-CA בניהול הלקוח כ-serverCaMode למופע שלכם, המופע שלכם צריך הפעלה מחדש כשמפעילים כתובת IP ציבורית למופע. מידע נוסף על הגדרת מצב CA של השרת זמין במאמר רשויות אישורים (CA).

כדי להפעיל כתובת IP ציבורית ולהוסיף כתובת מורשית:

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. בתפריט הניווט SQL, בוחרים באפשרות Connections (קישורים).
  4. נכנסים לכרטיסייה Networking.
  5. מסמנים את התיבה כתובת IP ציבורית.
  6. לוחצים על הוספת רשת.
  7. אופציונלי: בשדה שם, מזינים שם לרשת הזו.
  8. בשדה Network (רשת), מזינים את כתובת ה-IP או את טווח הכתובות שמהן רוצים לאפשר חיבורים.

    משתמשים בסימון CIDR.

  9. לוחצים על סיום.
  10. לוחצים על Save.

gcloud

  1. אם עדיין לא עשיתם זאת, מוסיפים כתובת IPv4 למכונה:
    gcloud sql instances patch INSTANCE_NAME\
    --assign-ip
  2. כדי להציג את כל הכתובות המורשות הקיימות, צריך לתאר את המופע:
    gcloud sql instances describe INSTANCE_NAME

    מחפשים רשומות של authorizedNetwork בקטע ipConfiguration, ורושמים את הכתובות המורשות שרוצים לשמור.

  3. מעדכנים את רשימת הרשתות המורשות, כולל כל הכתובות שרוצים לכלול.
    gcloud sql instances patch INSTANCE_NAME \
    --authorized-networks=IP_ADDR1,IP_ADDR2...

    משתמשים בסימון CIDR.

  4. מאשרים את השינויים:
    gcloud sql instances describe INSTANCE_NAME

REST v1

  1. כדי להציג את כל הכתובות המורשות הקיימות, צריך לתאר את המופע:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  2. מעדכנים את המופע, כולל כל הכתובות שרוצים להגדיר במופע:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • 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 שדומה לזו:

    משתמשים בסימון CIDR.

  3. מאשרים את השינויים:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • ip-address1: כתובת ה-IP הראשונה בפורמט CIDR
    • ip-address-name1: השם של כתובת ה-IP הראשונה
    • ip-address2: כתובת ה-IP השנייה בפורמט CIDR
    • ip-address-name2: השם של כתובת ה-IP השנייה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

Terraform

כדי להפעיל כתובת IP ציבורית ולהוסיף כתובת מורשית או טווח כתובות מורשה, משתמשים במשאב של Terraform.

resource "google_sql_database_instance" "sqlserver_public_ip_instance_name" {
  name             = "sqlserver-public-ip-instance-name"
  region           = "europe-west4"
  database_version = "SQLSERVER_2019_ENTERPRISE"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    tier              = "db-custom-2-7680"
    availability_type = "ZONAL"
    ip_configuration {
      # Add optional authorized networks
      # Update to match the customer's networks
      authorized_networks {
        name  = "test-net-3"
        value = "203.0.113.0/24"
      }
      # Enable public IP
      ipv4_enabled = true
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

החלה של השינויים

כדי להחיל את ההגדרות של Terraform בפרויקט ב- Google Cloud , מבצעים את השלבים בקטעים הבאים.

הכנת Cloud Shell

  1. מפעילים את Cloud Shell.
  2. מגדירים את פרויקט ברירת המחדל שבו רוצים להחיל את ההגדרות של Terraform. Google Cloud

    תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.

הכנת הספרייה

לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).

  1. יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת .tf, למשל main.tf. במדריך הזה, הקובץ נקרא main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.

    מעתיקים את הקוד לדוגמה בקובץ main.tf החדש שיצרתם.

    לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.

  3. בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
  4. שומרים את השינויים.
  5. מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
    terraform init

    אופציונלי: תוכלו לכלול את האפשרות -upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:

    terraform init -upgrade

החלה של השינויים

  1. בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
    terraform plan

    מתקנים את ההגדרות לפי הצורך.

  2. מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform:
    terraform apply

    ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!‎".

  3. פותחים את Google Cloud הפרויקט כדי לראות את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.

מחיקת השינויים

כדי למחוק את השינויים:

  1. כדי להשבית את ההגנה מפני מחיקה, בקובץ התצורה של Terraform מגדירים את הארגומנט deletion_protection לערך false.
    deletion_protection =  "false"
  2. מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:
    terraform apply
  1. כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה:

    terraform destroy

REST v1beta4

  1. כדי להציג את כל הכתובות המורשות הקיימות, צריך לתאר את המופע:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  2. מעדכנים את המופע, כולל כל הכתובות שרוצים להגדיר במופע:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • 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 שדומה לזו:

    משתמשים בסימון CIDR.

  3. מאשרים את השינויים:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • ip-address1: כתובת ה-IP הראשונה בפורמט CIDR
    • ip-address-name1: השם של כתובת ה-IP הראשונה
    • ip-address2: כתובת ה-IP השנייה בפורמט CIDR
    • ip-address-name2: השם של כתובת ה-IP השנייה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

הסרת כתובת או טווח כתובות מורשים

כדי להסיר כתובת מורשית:

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. בתפריט הניווט של SQL, בוחרים באפשרות Connections (קישורים).
  4. לוחצים על סמל המחיקה מחק. לצד הכתובת שרוצים למחוק.
  5. לוחצים על שמירה כדי לעדכן את המופע.

gcloud

  1. כדי להציג את כל הכתובות המורשות הקיימות, צריך לתאר את המופע:
    gcloud sql instances describe INSTANCE_NAME

    מחפשים רשומות של authorizedNetwork בקטע ipConfiguration, ורושמים את הכתובות המורשות שרוצים לשמור.

  2. מעדכנים את רשימת הרשתות המורשות ומסירים ממנה את הכתובות שרוצים להסיר.
    gcloud sql instances patch INSTANCE_NAME \
    --authorized-networks=IP_ADDR1,IP_ADDR2...
  3. מאשרים את השינויים:
    gcloud sql instances describe INSTANCE_NAME

REST v1

  1. כדי להציג את כל הכתובות המורשות הקיימות, צריך לתאר את המופע:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • ip-address1: כתובת ה-IP הראשונה בפורמט CIDR
    • ip-address-name1: השם של כתובת ה-IP הראשונה
    • ip-address2: כתובת ה-IP השנייה בפורמט CIDR
    • ip-address-name2: השם של כתובת ה-IP השנייה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  2. מעדכנים את המופע, כוללים את כל הכתובות שרוצים לשמור ומסירים את כל הכתובות שרוצים להסיר:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • network_range_1 כתובת ה-IP המורשית או טווח הרשת שרוצים להסיר

    ה-method של ה-HTTP וכתובת ה-URL:

    PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

    תוכן בקשת JSON:

    {
      "settings":
      {
        "ipConfiguration":
        {
          "authorizedNetworks":
            [{"value": "network_range_1"}]
        }
      }
    }
    
    

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  3. מאשרים את השינויים:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • ip-address: כתובת ה-IP בפורמט CIDR
    • ip-address-name: השם של כתובת ה-IP
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

REST v1beta4

  1. כדי להציג את כל הכתובות המורשות הקיימות, צריך לתאר את המופע:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • ip-address1: כתובת ה-IP הראשונה בפורמט CIDR
    • ip-address-name1: השם של כתובת ה-IP הראשונה
    • ip-address2: כתובת ה-IP השנייה בפורמט CIDR
    • ip-address-name2: השם של כתובת ה-IP השנייה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  2. מעדכנים את המופע, כוללים את כל הכתובות שרוצים לשמור ומסירים את כל הכתובות שרוצים להסיר:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • network_range_1 כתובת ה-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"}]
        }
      }
    }
    
    

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  3. מאשרים את השינויים:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • ip-address: כתובת ה-IP בפורמט CIDR
    • ip-address-name: השם של כתובת ה-IP
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

הגדרת מכונה כך שתדחה את כל החיבורים של כתובות IP ציבוריות

כדי להגדיר מכונה כך שתדחה את כל החיבורים של כתובות IP ציבוריות:

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. בתפריט הניווט של SQL, בוחרים באפשרות Connections (קישורים).
  4. לוחצים על סמל המחיקה מחק. לצד כל הכתובות המורשות.
  5. לוחצים על שמירה כדי לעדכן את המופע.

gcloud

  1. מחיקת רשימת הכתובות המורשות:
    gcloud sql instances patch INSTANCE_NAME \
    --clear-authorized-networks
  2. מאשרים את השינויים:
    gcloud sql instances describe INSTANCE_NAME

REST v1

  1. כדי להציג את כל הכתובות המורשות הקיימות, צריך לתאר את המופע:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • ip-address1: כתובת ה-IP הראשונה בפורמט CIDR
    • ip-address-name1: השם של כתובת ה-IP הראשונה
    • ip-address2: כתובת ה-IP השנייה בפורמט CIDR
    • ip-address-name2: השם של כתובת ה-IP השנייה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  2. מעדכנים את המופע עם רשימת כתובות ריקה:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

    תוכן בקשת JSON:

    {
      "settings":
      {
        "ipConfiguration":
        {
          "authorizedNetworks": []
        }
      }
    }
    

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  3. מאשרים את השינויים:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

REST v1beta4

  1. כדי להציג את כל הכתובות המורשות הקיימות, צריך לתאר את המופע:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • ip-address1: כתובת ה-IP הראשונה בפורמט CIDR
    • ip-address-name1: השם של כתובת ה-IP הראשונה
    • ip-address2: כתובת ה-IP השנייה בפורמט CIDR
    • ip-address-name2: השם של כתובת ה-IP השנייה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  2. מעדכנים את המופע עם רשימת כתובות ריקה:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    תוכן בקשת JSON:

    {
      "settings":
      {
        "ipConfiguration":
        {
          "authorizedNetworks": []
        }
      }
    }
    

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  3. מאשרים את השינויים:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

השבתה של כתובת IP ציבורית

אפשר להשבית את כתובת ה-IP הציבורית, אבל רק אם המופע מוגדר גם לשימוש בכתובת IP פרטית. כדי להפעיל כתובת IP פרטית, קראו את המאמר הגדרת מכונה קיימת לשימוש בכתובת IP פרטית.

אם אתם משתמשים ברשות אישורים (CA) משותפת או ב-CA בניהול הלקוח כ-serverCaMode עבור המופע שלכם, המופע שלכם יצטרך הפעלה מחדש אם תשביתו את כתובת ה-IP הציבורית שלו. מידע נוסף על הגדרת מצב CA של השרת זמין במאמר רשויות אישורים (CA).

כדי להשבית כתובת IP ציבורית:

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. בתפריט הניווט של SQL, בוחרים באפשרות Connections (קישורים).
  4. מבטלים את הסימון של התיבה כתובת IP ציבורית.
  5. לוחצים על שמירה כדי לעדכן את המופע.

gcloud

  1. מעדכנים את המכונה:
    gcloud sql instances patch INSTANCE_NAME \
    --no-assign-ip
  2. מאשרים את השינויים:
    gcloud sql instances describe INSTANCE_NAME

REST v1

  1. כדי להציג את כל הכתובות המורשות הקיימות, צריך לתאר את המופע:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • ip-address1: כתובת ה-IP הראשונה בפורמט CIDR
    • ip-address-name1: השם של כתובת ה-IP הראשונה
    • ip-address2: כתובת ה-IP השנייה בפורמט CIDR
    • ip-address-name2: השם של כתובת ה-IP השנייה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  2. מעדכנים את המכונה:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • 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 שדומה לזו:

  3. מאשרים את השינויים:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

REST v1beta4

  1. כדי להציג את כל הכתובות המורשות הקיימות, צריך לתאר את המופע:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • ip-address1: כתובת ה-IP הראשונה בפורמט CIDR
    • ip-address-name1: השם של כתובת ה-IP הראשונה
    • ip-address2: כתובת ה-IP השנייה בפורמט CIDR
    • ip-address-name2: השם של כתובת ה-IP השנייה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  2. מעדכנים את המכונה:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • 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/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 שדומה לזו:

  3. מאשרים את השינויים:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • project-id: מזהה הפרויקט
    • instance-id: מזהה המכונה
    • machine-type סוג המכונה של המופע
    • zone האזור של המכונה

    ה-method של ה-HTTP וכתובת ה-URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=settings

    כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

    אתם אמורים לקבל תגובת JSON שדומה לזו:

פתרון בעיות

שגיאה פתרון בעיות
Aborted connection. הבעיה יכולה להיות:
  • חוסר יציבות ברשת.
  • אין תגובה להודעות TCP keep-alive (יכול להיות שהלקוח או השרת לא מגיבים, אולי בגלל עומס יתר)
  • החיבור למנוע מסד הנתונים חרג ממשך החיים שלו והשרת מסיים את החיבור.

האפליקציות צריכות להיות עמידות בפני כשלים ברשת ולפעול לפי השיטות המומלצות, כמו איגום חיבורים וניסיון חוזר. רוב כלי הניהול של מאגרי החיבורים מזהים את השגיאות האלה, אם אפשר. אחרת, האפליקציה צריכה לנסות שוב או להיכשל בצורה מסודרת.

כדי לנסות שוב להתחבר, מומלץ להשתמש באחת מהשיטות הבאות:

  1. השהיה מעריכית לפני ניסיון חוזר (exponential backoff). להגדיל את מרווח הזמן בין כל ניסיון חוזר, באופן מעריכי.
  2. כדאי להוסיף גם השהיה אקראית.

שילוב של השיטות האלה עוזר לצמצם את ההגבלה.

הודעת שגיאה: Login failed for user "" יכול להיות שתיתקלו בשגיאת ההתחברות הזו במהלך אימות ב-Microsoft Entra ID. כדי לפתור את הבעיה, צריך לוודא שיש פרטי כניסה ל-SQL Server עבור המשתמש הזה ב-Microsoft Entra ID.
בעיות בקישוריות לרשת עם מופעים של כתובות IP פרטיות יכול להיות שתיתקלו באחת מהבעיות הבאות במהלך ההגדרה של השילוב:
  • פעולות איטיות ליצירת התחברויות ל-Microsoft Entra ID
  • אי אפשר ליצור כניסות ל-Microsoft Entra ID
  • אי אפשר להתחבר למופע באמצעות אימות של Microsoft Entra ID

מידע נוסף על פתרון הבעיות האלה זמין במאמר בנושא פתרון בעיות בשילוב עם Microsoft Entra ID.

המאמרים הבאים