הגדרת גישה לשירותים פרטיים

במאמר הזה מוסבר איך להגדיר חיבורים של כתובות 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

המסוף

  1. במסוף Google Cloud , נכנסים לדף רשתות VPC.

    כניסה לרשתות VPC

  2. בוחרים את רשת ה-VPC שבה רוצים להשתמש.
  3. לוחצים על הכרטיסייה גישה לשירותים פרטיים.
  4. בוחרים בכרטיסייה Allocated IP ranges for services.
  5. לוחצים על Allocate IP range.
  6. בשדה שם של הטווח שהוקצה, מציינים google-managed-services-VPC_NETWORK_NAME, כאשר VPC_NETWORK_NAME הוא השם של רשת ה-VPC שאליה מתחברים (לדוגמה, google-managed-services-default). השדה תיאור הוא אופציונלי.
  7. בוחרים באפשרות Custom ומזינים את טווח כתובות ה-IP שרוצים להקצות, בסימון CIDR.
  8. לוחצים על הקצאה כדי ליצור את הטווח המוקצה.

gcloud

מבצעים אחת מהפעולות הבאות:

  • כדי לציין טווח כתובות ואורך קידומת (מסכה של רשת משנה), משתמשים בדגלים addresses ו-prefix-length. לדוגמה, כדי להקצות את בלוק ה-CIDR‏ 192.168.0.0/16, מציינים 192.168.0.0 לכתובת ו-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
        
  • כדי לציין רק אורך קידומת (מסכה של רשת משנה), משתמשים בדגל prefix-length. כשלא מציינים את טווח הכתובות, Google Cloud בוחר באופן אוטומטי טווח כתובות לא בשימוש ברשת ה-VPC. בדוגמה הבאה נבחר טווח כתובות IP שלא נמצא בשימוש עם אורך קידומת של 16 ביטים.
  •   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.

resource "google_compute_global_address" "private_ip_address" {
  name          = "private-ip-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 16
  network       = google_compute_network.peering_network.id
}

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

כך מחילים את ההגדרות של Terraform בפרויקט ב- Google Cloud :

הכנת Cloud Shell

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

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

    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.

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

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

terraform destroy

יצירת חיבור פרטי

המסוף

  1. במסוף Google Cloud , נכנסים לדף רשתות VPC.

    מעבר לרשתות VPC

  2. בוחרים את רשת ה-VPC שרוצים להשתמש בה.
  3. לוחצים על הכרטיסייה Private service connection (חיבור שירות פרטי).
  4. לוחצים על הכרטיסייה Private connections to services.
  5. לוחצים על Create connection כדי ליצור חיבור פרטי בין הרשת שלכם לבין הבעלים של השירות המנוהל.
  6. בשדה Assigned allocation, בוחרים טווח אחד או יותר של כתובות IP שהוקצו, שלא נמצאים בשימוש של בעלים אחרים של שירותים מנוהלים.
  7. לוחצים על Connect (קישור) כדי ליצור את הקישור.

gcloud

  1. יוצרים חיבור של גישה לשירותים פרטיים לרשת ה-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, ומחזירה מזהה פעולה.

  2. בודקים אם הפעולה הצליחה.

    gcloud services vpc-peerings operations describe \
    --name=OPERATION_ID

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

Terraform

כדי ליצור חיבור פרטי, משתמשים במשאב של Terraform.

resource "google_service_networking_connection" "default" {
  network                 = google_compute_network.peering_network.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.private_ip_address.name]
}

לחשבון שירות בפורמט 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 פרטית למופע חדש

המסוף

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

    כניסה לדף Cloud SQL Instances

  2. לוחצים על Create instance.
  3. בקטע Customize your instance, מרחיבים את Show configuration options.
  4. מרחיבים את האפשרות Connections (חיבורים).
  5. בוחרים באפשרות Private IP.
  6. בוחרים באפשרות גישה פרטית לשירות (PSA).

    בתפריט הנפתח מוצגות רשתות ה-VPC שזמינות בפרויקט. אם הפרויקט שלכם הוא פרויקט שירות של VPC משותף, מוצגות גם רשתות VPC מהפרויקט המארח.

  7. בוחרים את רשת ה-VPC שרוצים להשתמש בה.
  8. אם מופיעה הודעה שצריך להגדיר חיבור לשירות פרטי:

    1. לוחצים על הגדרת חיבור.
    2. בקטע Allocate an IP range, בוחרים אחת מהאפשרויות הבאות:
      • בוחרים טווח כתובות IP קיים אחד או יותר או יוצרים טווח חדש מהתפריט הנפתח. התפריט הנפתח כולל טווחים שהוקצו בעבר, אם יש כאלה, או שאפשר לבחור באפשרות Allocate a new IP range ולהזין טווח ושם חדשים.
      • שימוש בטווח כתובות IP שמוקצה באופן אוטומטי ברשת.
    3. לוחצים על Continue.
    4. לוחצים על יצירת חיבור.
    5. מוודאים שההודעה Private service connection for network VPC_NETWORK_NAME has been successfully created מופיעה.
  9. אפשר גם לציין טווח כתובות IP שהוקצה למכונות כדי להשתמש בו לחיבורים.
    1. מרחיבים את האפשרות Show allocated IP range.
    2. בוחרים טווח כתובות IP מהתפריט הנפתח.
  10. מסיימים להגדיר את המופע.
  11. לוחצים על Create instance.

gcloud

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

מריצים את הפקודות הבאות של ה-CLI של gcloud כדי להגדיר רשת של גישה לשירותים פרטיים ל-Cloud SQL:

  1. מפעילים את ממשקי ה-API הנדרשים:
    gcloud services enable \
        sqladmin.googleapis.com \
        compute.googleapis.com \
        servicenetworking.googleapis.com \
        --project=PROJECT_ID
        
  2. מקצים טווח של כתובות 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
        
  3. יצירת החיבור של קישור בין רשתות 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: שם האזור
כדי לציין את השם של רשת ה-VPC, משתמשים בפרמטר --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:


resource "google_compute_network" "peering_network" {
  name                    = "private-network"
  auto_create_subnetworks = "false"
}

resource "google_compute_global_address" "private_ip_address" {
  name          = "private-ip-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 16
  network       = google_compute_network.peering_network.id
}

resource "google_service_networking_connection" "default" {
  network                 = google_compute_network.peering_network.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.private_ip_address.name]
}

resource "google_sql_database_instance" "instance" {
  name             = "private-ip-sql-instance"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_STANDARD"
  root_password    = "INSERT-PASSWORD-HERE"

  depends_on = [google_service_networking_connection.default]

  settings {
    tier = "db-custom-2-7680"
    ip_configuration {
      ipv4_enabled    = "false"
      private_network = google_compute_network.peering_network.id
    }
  }
  # 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
}

resource "google_compute_network_peering_routes_config" "peering_routes" {
  peering              = google_service_networking_connection.default.peering
  network              = google_compute_network.peering_network.name
  import_custom_routes = true
  export_custom_routes = true
}


## Uncomment this block after adding a valid DNS suffix

# resource "google_service_networking_peered_dns_domain" "default" {
#   name       = "example-com"
#   network    = google_compute_network.peering_network.id
#   dns_suffix = "example.com."
#   service    = "servicenetworking.googleapis.com"
# }

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

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

הכנת Cloud Shell

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

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

    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 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 פרטית:

המסוף

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

    כניסה לדף Cloud SQL Instances

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

    רשימה נפתחת עם הרשתות הזמינות בפרויקט.

  5. בוחרים את רשת ה-VPC שבה רוצים להשתמש:
  6. אם מופיעה ההודעה נדרש חיבור לשירות פרטי:

    1. לוחצים על הגדרת חיבור.
    2. בקטע Allocate an IP range, בוחרים אחת מהאפשרויות הבאות:
      • בוחרים טווח אחד או יותר של כתובות IP קיימות, או יוצרים טווח חדש מהתפריט הנפתח. התפריט הנפתח כולל טווחים שהוקצו בעבר, אם יש כאלה, או שאפשר לבחור באפשרות Allocate a new IP range ולהזין טווח ושם חדשים.
      • שימוש בטווח כתובות IP שמוקצה באופן אוטומטי ברשת.
    3. לוחצים על Continue.
    4. לוחצים על יצירת קישור.
    5. מוודאים שמופיע הסטטוס Private service connection for network VPC_NETWORK_NAME has been successfully created.
  7. לוחצים על 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, פועלים לפי השלבים האלה.

כדי לשנות את טווח הכתובות שהוקצה:

המסוף

  1. נכנסים לדף VPC networks במסוף Google Cloud .

    כניסה לרשתות VPC

  2. בוחרים את רשת ה-VPC שרוצים להשתמש בה.
  3. לוחצים על הכרטיסייה Private service connection (חיבור שירות פרטי).
  4. בוחרים בכרטיסייה הקצאות של טווחי כתובות IP לשירותים.
  5. בוחרים את שם הטווח שרוצים למחוק.

  6. לוחצים על שחרור.

  7. לוחצים על Allocate IP range.

  8. יוצרים טווח חדש עם אותו שם וטווח חדש

    השם חשוב כי החיבור הפרטי כבר נוצר באמצעות שם הכתובת הזה.

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.

המסוף

  1. נכנסים לדף VPC networks במסוף Google Cloud .

    כניסה לרשתות VPC

  2. יוצרים רשת VPC זמנית.
  3. יוצרים הקצאת IP ברשת ה-VPC הזמנית.
  4. יוצרים חיבור פרטי ברשת ה-VPC הזמנית.
  5. מעבירים את מכונת 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
  6. משנים את הגדרת הגישה לשירות פרטי ברשת המקורית כדי להוסיף טווח חדש שהוקצה או למחוק טווחים קיימים.

  7. מעבירים את מכונת 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 כדי להתחבר למופע מלקוח ברשת החיצונית.

כדי לאפשר חיבורים מרשת חיצונית:

  1. מוודאים שרשת ה-VPC מחוברת לרשת החיצונית באמצעות מנהרת Cloud VPN או צירוף ל-VLAN של Dedicated Interconnect או של Partner Interconnect.
  2. מוודאים שהסשנים של פרוטוקול Border Gateway Protocol ‏ (BGP) ב-Cloud Routers שמנהלים את המנהרות של Cloud VPN והחיבורים של Cloud Interconnect ‏ (VLAN) קיבלו קידומות (יעדים) ספציפיות מהרשת המקומית.

    אי אפשר לייבא נתיבי ברירת מחדל (יעד 0.0.0.0/0) לרשת ה-VPC של Cloud SQL, כי לרשת הזו יש נתיב ברירת מחדל מקומי משלה. המסלולים המקומיים ליעד משמשים גם אם הקישור בין רשתות שכנות ב-Cloud SQL מוגדר לייבוא מסלולים מותאמים אישית מרשת ה-VPC.

  3. מזהים את חיבורי ה-peering שנוצרו על ידי החיבור לשירותים הפרטיים. בהתאם לשירות, החיבור לשירותים פרטיים עשוי ליצור אחד או יותר מחיבורי ה-Peering הבאים, אבל לא בהכרח את כולם:
    • cloudsql-mysql-googleapis-com
    • cloudsql-postgres-googleapis-com
    • servicenetworking-googleapis-com
  4. מעדכנים את כל חיבורי ה-Peering כדי להפעיל את האפשרות Export custom routes.
  5. זיהוי הטווח שהוקצה שבו נעשה שימוש בחיבור לשירותים פרטיים.
  6. מגדירים מצב פרסום בהתאמה אישית של 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:

  1. ב-Active Directory המנוהל, מבצעים את השלבים הבאים:
    1. בחלון Server Manager, בוחרים באפשרות Tools. לאחר מכן בוחרים באפשרות Active Directory Domains and Trusts.
    2. בחלונית, לוחצים לחיצה ימנית על Active Directory Domains and Trusts (צומת הבסיס).
    3. לאחר מכן בוחרים באפשרות מאפיינים.
    4. בכרטיסייה UPN Suffixes, מזינים את הסיומת החלופית של ה-UPN (לדוגמה, sql-psa.goog).
    5. לוחצים על הוספה.
    6. לוחצים על אישור.
    7. לוחצים על OK.
  2. ב-Active Directory המקומי, מבצעים את הפעולות הבאות:
    1. בחלון Server Manager (ניהול שרתים), בוחרים באפשרות Tools (כלים) ואז באפשרות Active Directory Domains and Trusts (דומיינים ומהימנויות של Active Directory).
    2. בחלונית, לוחצים לחיצה ימנית על שם הדומיין המנוהל של AD וההרשאות. זהו הדומיין המנוהל הספציפי שיש לו הרשאה לדומיין המקומי.
    3. בוחרים באפשרות מאפיינים ואז עוברים לכרטיסייה יחסי אמון.
    4. בקטע Domains trusted by this domain (outgoing trusts) או בקטע Domains that trust this domain (incoming trusts), בוחרים את הרשומה של שם הדומיין המנוהל ולוחצים על Properties.
    5. עוברים לכרטיסייה ניתוב סיומות של שמות ולוחצים על רענון.
    6. מוצאים את הסיומת של השם שנוספה לאחרונה, למשל sql-psa.goog, ובוחרים בה. לוחצים על הפעלה.
    7. לוחצים על Apply (החלה) ועל OK (אישור) בכל תיבות הדו-שיח שנותרו.

פתרון בעיות

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