בדף הזה מוסבר איך להגדיר קישוריות של כתובת IP ציבורית למכונה של Cloud SQL.
מבוא
כדי להגדיר למכונה של Cloud SQL כתובת IPv4 ציבורית, ולקבל חיבורים מכתובות IP ספציפיות או מטווח של כתובות, צריך להוסיף למכונה כתובות מורשות.
אי אפשר לציין רשת פרטית (לדוגמה, 10.x.x.x) כרשת מורשית.
כתובות IP ציבוריות למכונות PostgreSQL:
IPv6: מכונות לא תומכות ב-IPv6.
IPv4: למכונות מוקצית באופן אוטומטי כתובת IPv4 סטטית. בכל פעם שהמכונה מושבתת, יש חיוב קטן על כתובת ה-IP.
כדי לקבל עזרה בחיבור לקוח ניהול למכונה באמצעות קישור דרך IP, קראו את המאמר חיבור לקוח psql באמצעות כתובות IP .
אם מגדירים את המכונה כך שתקבל חיבורים באמצעות כתובת ה-IP הציבורית שלה, צריך גם להגדיר אותה כך שתשתמש ב-SSL כדי לשמור על אבטחת הנתונים. מידע נוסף זמין במאמר הגדרת SSL למכונות .
כדי להגדיר למכונה כתובת IP שלא חשופה לאינטרנט הציבורי, קראו את המאמר הגדרת קישוריות של כתובת IP פרטית .
הפעלת כתובת IP ציבורית והוספת כתובת מורשית או טווח כתובות מורשה
כשמפעילים כתובת IP ציבורית למכונה, Cloud SQL מגדיר את המכונה עם כתובת IPv4 ציבורית וסטטית. אחרי שמפעילים כתובת IP ציבורית, צריך להגדיר הרשאה לחיבורים למסד הנתונים. למידע נוסף, ראו אפשרויות הרשאה .
אם אתם משתמשים ברשות אישורים (CA) משותפת או ברשות אישורים בניהול הלקוח בתור serverCaMode של המכונה, תצטרכו להפעיל מחדש את המכונה כשתפעילו את כתובת ה-IP הציבורית שלה.
מידע נוסף על הגדרת מצב CA של השרת זמין במאמר רשויות אישורים (CA) .
כדי להפעיל כתובת IP ציבורית ולהוסיף כתובת מורשית:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
כניסה לדף Cloud SQL Instances
כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
בתפריט הניווט של SQL, לוחצים על Connections .
נכנסים לכרטיסייה Networking .
מסמנים את התיבה Public IP .
לוחצים על הוספת רשת .
בשדה Name , נותנים שם לרשת (אופציונלי).
בשדה Network , מזינים את כתובת ה-IP או את טווח הכתובות שמהם רוצים לאפשר חיבורים.
צריך להשתמש בסימון CIDR .
לוחצים על סיום .
לוחצים על Save .
gcloud
אם עדיין לא עשיתם את זה, מוסיפים כתובת IPv4 למכונה:
gcloud sql instances patch INSTANCE_NAME \
--assign-ip
כדי להציג את כל הכתובות המורשות הקיימות, מתארים את המכונה:
gcloud sql instances describe INSTANCE_NAME
מחפשים את הרשומות של authorizedNetwork בקטע ipConfiguration , ורושמים את הכתובות המורשות שרוצים לשמור.
מעדכנים את רשימת הרשתות המורשות, כולל כל הכתובות שרוצים לכלול.
gcloud sql instances patch INSTANCE_NAME \
--authorized-networks= IP_ADDR1 ,IP_ADDR2 ...
צריך להשתמש בסימון CIDR .
מאשרים את השינויים:
gcloud sql instances describe INSTANCE_NAME
כשמסירים כתובת מורשית, החיבורים הקיימים מהכתובת הזו לא מתנתקים. כדי לנתק חיבורים קיימים, צריך להפעיל מחדש את המכונה.
REST v1
כדי להציג את כל הכתובות המורשות הקיימות, מתארים את המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
machine-type סוג המכונה של המכונה הווירטואלית
zone האזור של המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type ",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks": [],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
מעדכנים את המכונה, כולל כל הכתובות שרוצים להגדיר במכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
network_range_1 כתובת IP או טווח כתובות IP מורשים
network_range_2 עוד כתובת IP או טווח כתובות 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 "}]
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
צריך להשתמש בסימון CIDR .
מאשרים את השינויים:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ip-address1 : טופס ה-CIDR של כתובת ה-IP הראשונה
ip-address-name1 : השם של כתובת ה-IP הראשונה
ip-address2 : טופס ה-CIDR של כתובת ה-IP השנייה
ip-address-name2 : השם של כתובת ה-IP השנייה
machine-type סוג המכונה של המכונה הווירטואלית
zone האזור של המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type 4",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks":
[
{
"value": "ip-address1 ",
"name": "ip-address-name1 ",
"kind": "sql#aclEntry"
},
{
"value": "ip-address2 ",
"name": "ip-address-name2 ",
"kind": "sql#aclEntry"
}
],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
כשמסירים כתובת מורשית, החיבורים הקיימים מהכתובת הזו לא מתנתקים. כדי לנתק חיבורים קיימים, צריך להפעיל מחדש את המכונה.
כדי להפעיל כתובת IP ציבורית ולהוסיף כתובת מורשית או טווח כתובות מורשה, משתמשים במשאב של Terraform .
החלה של השינויים
כך מחילים את ההגדרות של Terraform בפרויקט ב- Cloud de Confiance :
הכנת Cloud Shell
מפעילים את Cloud Shell .
מגדירים את פרויקט ברירת המחדל ב- Cloud de Confiance שבו רוצים להחיל את ההגדרות של 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!".
פותחים את הפרויקט ב- Cloud de Confiance כדי להציג את התוצאות. במסוף Cloud de Confiance , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
הערה: בדרך כלל הנחת העבודה בדוגמאות של Terraform היא שממשקי ה-API הנדרשים מופעלים בפרויקט ב- Cloud de Confiance .
למחוק את השינויים
כדי למחוק את השינויים:
כדי להשבית את ההגנה מפני מחיקה, בקובץ התצורה של Terraform מגדירים את הארגומנט deletion_protection לערך false.
deletion_protection = "false"
מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:
terraform apply
כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה:
terraform destroy
REST v1beta4
כדי להציג את כל הכתובות המורשות הקיימות, מתארים את המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type ",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks": [],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
מעדכנים את המכונה, כולל כל הכתובות שרוצים להגדיר במכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
network_range_1 כתובת IP או טווח כתובות IP מורשים
network_range_2 עוד כתובת IP או טווח כתובות 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 "}]
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
צריך להשתמש בסימון CIDR .
מאשרים את השינויים:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ip-address1 : טופס ה-CIDR של כתובת ה-IP הראשונה
ip-address-name1 : השם של כתובת ה-IP הראשונה
ip-address2 : טופס ה-CIDR של כתובת ה-IP השנייה
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type 4",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks":
[
{
"value": "ip-address1 ",
"name": "ip-address-name1 ",
"kind": "sql#aclEntry"
},
{
"value": "ip-address2 ",
"name": "ip-address-name2 ",
"kind": "sql#aclEntry"
}
],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
כשמסירים כתובת מורשית, החיבורים הקיימים מהכתובת הזו לא מתנתקים. כדי לנתק חיבורים קיימים, צריך להפעיל מחדש את המכונה.
הסרה של כתובת או טווח כתובות מורשים
כדי להסיר כתובת מורשית:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
כניסה לדף Cloud SQL Instances
כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
בתפריט הניווט של SQL, לוחצים על Connections (חיבורים).
לוחצים על סמל המחיקה ליד הכתובת שרוצים למחוק.
לוחצים על Save כדי לעדכן את המכונה.
gcloud
כדי להציג את כל הכתובות המורשות הקיימות, מתארים את המכונה:
gcloud sql instances describe INSTANCE_NAME
מחפשים את הרשומות של authorizedNetwork בקטע ipConfiguration , ורושמים את הכתובות המורשות שרוצים לשמור.
מעדכנים את רשימת הרשתות המורשות ומסירים את הכתובות שרוצים להסיר.
gcloud sql instances patch INSTANCE_NAME \
--authorized-networks= IP_ADDR1 ,IP_ADDR2 ...
מאשרים את השינויים:
gcloud sql instances describe INSTANCE_NAME
REST v1
כדי להציג את כל הכתובות המורשות הקיימות, מתארים את המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ip-address1 : טופס ה-CIDR של כתובת ה-IP הראשונה
ip-address-name1 : השם של כתובת ה-IP הראשונה
ip-address2 : טופס ה-CIDR של כתובת ה-IP השנייה
ip-address-name2 : השם של כתובת ה-IP השנייה
machine-type סוג המכונה של המכונה הווירטואלית
zone האזור של המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type 4",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks":
[
{
"value": "ip-address1 ",
"name": "ip-address-name1 ",
"kind": "sql#aclEntry"
},
{
"value": "ip-address2 ",
"name": "ip-address-name2 ",
"kind": "sql#aclEntry"
}
],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
מעדכנים את המכונה, כוללים את כל הכתובות שרוצים לשמור ומסירים את הכתובות שרוצים להסיר:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
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 "}]
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
מאשרים את השינויים:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type ",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks":
[
{
"value": "ip-address ",
"name": "ip-address-name ",
"kind": "sql#aclEntry"
}
],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
REST v1beta4
כדי להציג את כל הכתובות המורשות הקיימות, מתארים את המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ip-address1 : טופס ה-CIDR של כתובת ה-IP הראשונה
ip-address-name1 : השם של כתובת ה-IP הראשונה
ip-address2 : טופס ה-CIDR של כתובת ה-IP השנייה
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type 4",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks":
[
{
"value": "ip-address1 ",
"name": "ip-address-name1 ",
"kind": "sql#aclEntry"
},
{
"value": "ip-address2 ",
"name": "ip-address-name2 ",
"kind": "sql#aclEntry"
}
],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
מעדכנים את המכונה, כוללים את כל הכתובות שרוצים לשמור ומסירים את הכתובות שרוצים להסיר:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
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 "}]
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
מאשרים את השינויים:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type ",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks":
[
{
"value": "ip-address ",
"name": "ip-address-name ",
"kind": "sql#aclEntry"
}
],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
כשמסירים כתובת מורשית, החיבורים הקיימים מהכתובת הזו לא מתנתקים. כדי לנתק חיבורים קיימים, צריך להפעיל מחדש את המכונה.
הגדרת מכונה כך שתדחה את כל החיבורים של כתובות IP ציבוריות
כדי להגדיר מכונה כך שתדחה את כל החיבורים של כתובות IP ציבוריות:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
כניסה לדף Cloud SQL Instances
כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
בתפריט הניווט של SQL, לוחצים על Connections (חיבורים).
לוחצים על סמל המחיקה בכל הכתובות המורשות.
לוחצים על Save כדי לעדכן את המכונה.
gcloud
מנקים את רשימת הכתובות המורשות:
gcloud sql instances patch INSTANCE_NAME \
--clear-authorized-networks
מאשרים את השינויים:
gcloud sql instances describe INSTANCE_NAME
REST v1
כדי להציג את כל הכתובות המורשות הקיימות, מתארים את המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ip-address1 : טופס ה-CIDR של כתובת ה-IP הראשונה
ip-address-name1 : השם של כתובת ה-IP הראשונה
ip-address2 : טופס ה-CIDR של כתובת ה-IP השנייה
ip-address-name2 : השם של כתובת ה-IP השנייה
machine-type סוג המכונה של המכונה הווירטואלית
zone האזור של המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type 4",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks":
[
{
"value": "ip-address1 ",
"name": "ip-address-name1 ",
"kind": "sql#aclEntry"
},
{
"value": "ip-address2 ",
"name": "ip-address-name2 ",
"kind": "sql#aclEntry"
}
],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
מעדכנים את המכונה עם רשימת כתובות ריקה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id
תוכן בקשת JSON:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks": []
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id "
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
מאשרים את השינויים:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
machine-type סוג המכונה של המכונה הווירטואלית
zone האזור של המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type ",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks": [],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
REST v1beta4
כדי להציג את כל הכתובות המורשות הקיימות, מתארים את המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ip-address1 : טופס ה-CIDR של כתובת ה-IP הראשונה
ip-address-name1 : השם של כתובת ה-IP הראשונה
ip-address2 : טופס ה-CIDR של כתובת ה-IP השנייה
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type 4",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks":
[
{
"value": "ip-address1 ",
"name": "ip-address-name1 ",
"kind": "sql#aclEntry"
},
{
"value": "ip-address2 ",
"name": "ip-address-name2 ",
"kind": "sql#aclEntry"
}
],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
מעדכנים את המכונה עם רשימת כתובות ריקה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id
תוכן בקשת JSON:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks": []
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id "
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "UPDATE",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
מאשרים את השינויים:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type ",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks": [],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
כשמסירים כתובת מורשית, החיבורים הקיימים מהכתובת הזו לא מתנתקים. כדי לנתק חיבורים קיימים, צריך להפעיל מחדש את המכונה.
השבתה של כתובת IP ציבורית
אפשר להשבית את כתובת ה-IP הציבורית, אבל רק אם המכונה מוגדרת גם לשימוש בכתובת IP פרטית.
כדי להפעיל כתובת IP פרטית, קראו את המאמר הגדרת מכונה קיימת לשימוש בכתובת IP פרטית .
אם אתם משתמשים ברשות אישורים (CA) משותפת או ברשות אישורים בניהול הלקוח בתור serverCaMode של המכונה, תצטרכו להפעיל מחדש את המכונה כשתשביתו את כתובת ה-IP הציבורית שלה.
מידע נוסף על הגדרת מצב CA של השרת זמין במאמר רשויות אישורים (CA) .
הערה: כשמשביתים את כתובת ה-IP הציבורית של מכונה, משחררים את כתובת ה-IPv4 שלה.
אם תפעילו מחדש את כתובת ה-IP הציבורית של המכונה הזו, היא תקבל כתובת IPv4 אחרת, ותצטרכו לשנות את כל האפליקציות שמשתמשות בכתובת ה-IP הציבורית כדי להתחבר למכונה הזו.
כדי להשבית את כתובת ה-IP הציבורית:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
כניסה לדף Cloud SQL Instances
כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
בתפריט הניווט של SQL, לוחצים על Connections (חיבורים).
מבטלים את הסימון של התיבה Public IP .
לוחצים על Save כדי לעדכן את המכונה.
gcloud
מעדכנים את המכונה:
gcloud sql instances patch INSTANCE_NAME \
--no-assign-ip
מאשרים את השינויים:
gcloud sql instances describe INSTANCE_NAME
REST v1
כדי להציג את כל הכתובות המורשות הקיימות, מתארים את המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ip-address1 : טופס ה-CIDR של כתובת ה-IP הראשונה
ip-address-name1 : השם של כתובת ה-IP הראשונה
ip-address2 : טופס ה-CIDR של כתובת ה-IP השנייה
ip-address-name2 : השם של כתובת ה-IP השנייה
machine-type סוג המכונה של המכונה הווירטואלית
zone האזור של המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type 4",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks":
[
{
"value": "ip-address1 ",
"name": "ip-address-name1 ",
"kind": "sql#aclEntry"
},
{
"value": "ip-address2 ",
"name": "ip-address-name2 ",
"kind": "sql#aclEntry"
}
],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
מעדכנים את המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID: מזהה הפרויקט
INSTANCE_ID: מזהה המכונה
VPC_NETWORK_NAME: מציינים את השם של רשת הענן הפרטי הווירטואלי (VPC) שבה רוצים להשתמש במכונה הזו. הגישה לשירותים פרטיים כבר צריכה להיות מוגדרת ברשת.
RANGE_NAME: אופציונלי. אם מציינים את השדה, הוא מגדיר שם לטווח שמוקצה לו טווח כתובות IP. שם הטווח חייב לעמוד בדרישות של RFC-1035
ולהכיל 1-63 תווים.
AUTHORIZED_NETWORKS: בקישורים דרך IP ציבורי, מציינים את הקישורים מרשתות מורשות שיכולות להתחבר למכונה.
בפרמטר ipv4Enabled, מגדירים את הערך true אם משתמשים בכתובת IP ציבורית למכונה, או את הערך false אם למכונה יש כתובת IP פרטית.
אם מגדירים את הפרמטר enablePrivatePathForGoogleCloudServices לערך true, מאפשרים לשירותי Cloud de Confiance by S3NS אחרים, כמו BigQuery, לגשת לנתונים ב-Cloud SQL ולבצע שאילתות על הנתונים האלה דרך חיבור IP פרטי. אם מגדירים את הפרמטר הזה לערך false, שירותים אחרים של Cloud de Confiance by S3NS לא יכולים לגשת לנתונים ב-Cloud SQL דרך חיבור 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 ],
"enablePrivatePathForGoogleCloudServices": true
}
},
"sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
מאשרים את השינויים:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
machine-type סוג המכונה של המכונה הווירטואלית
zone האזור של המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type ",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks": [],
"ipv4Enabled": false
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
REST v1beta4
כדי להציג את כל הכתובות המורשות הקיימות, מתארים את המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ip-address1 : טופס ה-CIDR של כתובת ה-IP הראשונה
ip-address-name1 : השם של כתובת ה-IP הראשונה
ip-address2 : טופס ה-CIDR של כתובת ה-IP השנייה
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type 4",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks":
[
{
"value": "ip-address1 ",
"name": "ip-address-name1 ",
"kind": "sql#aclEntry"
},
{
"value": "ip-address2 ",
"name": "ip-address-name2 ",
"kind": "sql#aclEntry"
}
],
"ipv4Enabled": true
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
מעדכנים את המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID: מזהה הפרויקט
INSTANCE_ID: מזהה המכונה
VPC_NETWORK_NAME: מציינים את השם של רשת הענן הפרטי הווירטואלי (VPC) שבה רוצים להשתמש במכונה הזו. הגישה לשירותים פרטיים כבר צריכה להיות מוגדרת ברשת.
RANGE_NAME: אופציונלי. אם מציינים את השדה, הוא מגדיר שם לטווח שמוקצה לו טווח כתובות IP. שם הטווח חייב לעמוד בדרישות של RFC-1035
ולהכיל 1-63 תווים.
AUTHORIZED_NETWORKS: בקישורים דרך IP ציבורי, מציינים את הקישורים מרשתות מורשות שיכולות להתחבר למכונה.
בפרמטר ipv4Enabled, מגדירים את הערך true אם משתמשים בכתובת IP ציבורית למכונה, או את הערך false אם למכונה יש כתובת IP פרטית.
אם מגדירים את הפרמטר enablePrivatePathForGoogleCloudServices לערך true, מאפשרים לשירותי Cloud de Confiance by S3NS אחרים, כמו BigQuery, לגשת לנתונים ב-Cloud SQL ולבצע שאילתות על הנתונים האלה דרך חיבור IP פרטי. אם מגדירים את הפרמטר הזה לערך false, שירותים אחרים של Cloud de Confiance by S3NS לא יכולים לגשת לנתונים ב-Cloud SQL דרך חיבור 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 ],
"enablePrivatePathForGoogleCloudServices": true
}
},
"sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
מאשרים את השינויים:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
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
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"settings":
{
"authorizedGaeApplications": [],
"tier": "machine-type ",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration":
{
"privateNetwork": "projects/project-id /global/networks/default",
"authorizedNetworks": [],
"ipv4Enabled": false
},
"locationPreference":
{
"zone": "zone ",
"kind": "sql#locationPreference"
},
"dataDiskType": "PD_SSD",
"maintenanceWindow":
{
"kind": "sql#maintenanceWindow",
"hour": 0,
"day": 0
},
"backupConfiguration":
{
"startTime": "03:00",
"kind": "sql#backupConfiguration",
"enabled": true,
"binaryLogEnabled": true
},
"settingsVersion": "54",
"storageAutoResizeLimit": "0",
"storageAutoResize": true,
"dataDiskSizeGb": "10"
}
}
פתרון בעיות
שגיאה
פתרון בעיות
Aborted connection.
הבעיה יכולה להיות:
חוסר יציבות ברשת.
אין תגובה לפקודות TCP keep-alive (הלקוח או השרת לא מגיבים, אולי בגלל עומס יתר)
משך החיים של החיבור למנוע של מסד הנתונים חרג מהמגבלה, והשרת מסיים את החיבור.
האפליקציות צריכות להיות עמידות בפני תקלות ברשת ולפעול לפי השיטות המומלצות , כמו מאגר חיבורים וניסיון חוזר. רוב מאגרי החיבורים מזהים את השגיאות האלה כשאפשר. אחרת, האפליקציה צריכה לנסות שוב או להיכשל בצורה חלקה.
כדי לנסות להתחבר מחדש, מומלץ להשתמש בשיטות הבאות:
השהיה מעריכית לפני ניסיון חוזר (exponential backoff) . להגדיל את מרווח הזמן בין כל ניסיון חוזר, באופן אקספוננציאלי.
מוסיפים גם השהיה אקראית.
שילוב של השיטות האלה עוזר לצמצם את ההאטה.
הזמן הקצוב לתפוגה של החיבור או שגיאת חיבור כללית כשמשתמשים בכתובת IP פרטית או בקישור בין רשתות VPC שכנות (peering).
ניסיונות החיבור נכשלים עם שגיאות כלליות של זמן קצוב לתפוגה או שגיאות חיבור ללא פרטי אבחון.
שלבים לפתרון בעיות:
מריצים בדיקת קישוריות של Network Intelligence Center בין הלקוח במקור לבין כתובת ה-IP הפרטית של Cloud SQL ביציאה של מסד הנתונים (3306 ל-MySQL, 5432 ל-PostgreSQL או 1433 ל-SQL Server). הבדיקה עוקבת אחרי נתיב החבילה ומזהה אם תעבורת הנתונים נדחתה בגלל כללים של חומת האש, נתיבים חסרים או הגדרות שגויות של קישור Peering.
מוודאים שהסטטוס של החיבור בין רשתות VPC מקבילות הוא ACTIVE.
מוודאים שכללי חומת האש ברשת ה-VPC מאפשרים תעבורת נתונים נכנסת (ingress) ביציאה של מסד הנתונים.
אם אתם משתמשים בטווחי כתובות שהם לא RFC 1918, ודאו שעדכנתם את הגדרת ה-peering כדי לייצא מסלולים של רשתות משנה עם כתובת IP ציבורית.
לפרטים נוספים ולפקודות אבחון של gcloud, קראו את המאמר אבחון כשלים ברשת VPC ובקישור דרך IP פרטי .
הודעת שגיאה: 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 .
Certificate verify failed.
התוקף של אישורי הלקוח פג או שהנתיב לאישורים שגוי.
ליצור מחדש את האישורים.
יצירת חיבור איטי או זמן קצוב לתפוגה של חיבור כשמשתמשים באימות מסד נתונים של IAM.
החיבור למכונה של Cloud SQL באמצעות אימות של מסד נתונים ב-IAM נמשך כמה שניות או שנגמר הזמן הקצוב לתפוגה, בזמן שהחיבור באמצעות אימות מובנה של מסד נתונים מתבצע כרגיל.
הסיבה : המכונה משתמשת במכונה עם ליבה משותפת (db-f1-micro או db-g1-small). כשמגבילים את המעבד (CPU), האימות של מסד הנתונים ב-IAM נמשך יותר זמן מאשר אימות מובנה באמצעות סיסמה, כי הוא דורש יותר משאבי מחשוב.
פתרון :
מידע נוסף זמין במאמר ביצועים במכונות עם ליבת מעבד משותפת .
FATAL: database 'user' does not exist.
gcloud sql connect --user פועל רק עם משתמש ברירת המחדל של postgres.
מתחברים עם משתמש ברירת המחדל ואז מחליפים משתמש.
אתם רוצים לדעת מי מחובר.
מתחברים למסד הנתונים ומריצים את הפקודה הבאה:
SELECT datname,
usename,
application_name as appname,
client_addr,
state,
now() - backend_start as conn_age,
now() - state_change as last_activity_age
FROM pg_stat_activity
WHERE backend_type = 'client backend'
ORDER BY 6 DESC
LIMIT 20
Hostname/IP does not match certificate's altnames:
Host: localhost. is not in the cert's altnames.
כתובת המארח לא תואמת לכתובת בשמות החלופיים של אישור השרת.
אם אתם משתמשים ב-Node.js עם verify-full או המקבילה שלה, השתמשו בשם ה-DNS מאישור השרת של המכונה בשביל הפרמטר servername. הקובץ server-ca.pem שמורידים מ-Cloud SQL הוא אישור ה-CA של השרת, והוא לא מכיל את שם ה-DNS.
כדי לאחזר את אישור השרת של המכונה ולמצוא את שם ה-DNS באמצעות openssl, מריצים את הפקודה הבאה:
echo | openssl s_client -starttls postgres -connect INSTANCE_IP_ADDRESS :5432 | openssl x509 -noout -text | grep 'DNS:'
מחליפים את INSTANCE_IP_ADDRESS בכתובת ה-IP של המכונה ב-Cloud SQL.
אחר כך מגדירים את הפרמטר servername לשם ה-DNS מהפלט של DNS::
ssl: {
rejectUnauthorized: true,
ca: fs.readFileSync( "/path/to/server/CA" ) ,
servername: 'N-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx.us-central1.sql.goog'
}
המאמרים הבאים