בדף הזה מוסבר איך להגדיר שם דומיין מותאם אישית של מערכת שמות דומיינים (DNS) למכונה של Cloud SQL.
סקירה כללית
אתם יכולים להגדיר מכונה של Cloud SQL כך שהאפליקציות שלכם יוכלו להתחבר באמצעות שם DNS בהתאמה אישית שמנוהל על ידי הארגון. אם אתם רוצים להשתמש בשם DNS בהתאמה אישית כדי להתחבר למכונה של Cloud SQL במקום להשתמש בכתובת IP, אתם צריכים להגדיר שם חלופי של בעלים (SAN) בהתאמה אישית. אפשר להגדיר SAN בהתאמה אישית כשיוצרים או מעדכנים מכונה.
כשמוסיפים למכונה שם DNS בהתאמה אישית כהגדרת SAN בהתאמה אישית, Cloud SQL מוסיף את שם ה-DNS בהתאמה אישית לשדה ה-SAN של אישור השרת של המכונה. ההתאמה האישית הזו מאפשרת לכם להשתמש בשם ה-DNS המותאם אישית עם אימות שם המארח באופן מאובטח.
אפשר להוסיף רשימה מופרדת בפסיקים של עד שלושה שמות DNS בהתאמה אישית להגדרת ה-SAN בהתאמה אישית. מטעמי אבטחה, אתם יכולים להשתמש בהגדרת SAN בהתאמה אישית רק במכונות שהגדרתם עם CUSTOMER_MANAGED_CAS_CA כמצב ה-CA של השרת.
אחרי שמגדירים את שם ה-DNS בהתאמה אישית למכונה, אפשר להשתמש בו כדי לחבר את הלקוחות או האפליקציות של מסד הנתונים, כולל מחברי השפה של Cloud SQL ו-Cloud SQL Auth Proxy.
תהליך עבודה
כדי להגדיר שם DNS בהתאמה אישית למכונה:
- יוצרים מכונה שמוגדרת עם רשות אישורים בניהול הלקוח.
- מוסיפים ערכי SAN בהתאמה אישית למכונה. ערכי ה-SAN בהתאמה אישית מוכנסים לשדה ה-SAN של אישור השרת של המכונה.
- מזהים את כתובת ה-IP של המכונה.
- ליצור רשומות DNS בהתאמה אישית למכונה.
- מתחברים למכונה באמצעות שם ה-DNS בהתאמה אישית.
לפני שמתחילים
לפני שאתם מגדירים שם DNS בהתאמה אישית למכונה, ודאו שיש לכם את התפקידים וההרשאות הנדרשים.
אם אתם יוצרים מכונה חדשה של Cloud SQL, כדי להשתמש ב-SAN בהתאמה אישית, המכונה צריכה להשתמש גם ברשות אישורים (CA) בניהול הלקוח במצב CA של השרת.
יצירת מכונה עם ערכי SAN בהתאמה אישית
כדי ליצור מכונה עם ערכי SAN בהתאמה אישית, משתמשים בפקודה הבאה של gcloud sql instances create:
gcloud
gcloud sql instances create "INSTANCE_NAME" \ --database-version=DATABASE_VERSION \ --project=PROJECT_ID \ --region=REGION \ --server-ca-mode=CUSTOMER_MANAGED_CAS_CA \ --server-ca-pool=projects/PROJECT_ID_CAS/locations/REGION/caPools/CA_POOL_ID --custom-subject-alternative-names=CUSTOM_DNS_NAME
מחליפים את הפרטים הבאים:
-
INSTANCE_NAMEבשם של מכונת Cloud SQL שרוצים ליצור. -
DATABASE_VERSIONבenumשל הגרסה של מכונת Cloud SQL שרוצים ליצור. -
PROJECT_IDבמזהה הפרויקט שבו אתם מתכננים ליצור את המכונות של Cloud SQL. -
PROJECT_ID_CASבמזהה הפרויקט שבו יצרתם את CA_POOL_ID. הפרויקט הזה יכול להיות זהה לפרויקט שבו רוצים ליצור את המכונה של Cloud SQL, או להיות פרויקט אחר. -
REGIONבאזור שבו יצרתם את מאגר ה-CA. אתם צריכים ליצור את המכונה באותו אזור שבו נמצא מאגר ה-CA. -
CA_POOL_IDבמזהה של מאגר ה-CA שיצרתם. CUSTOM_DNS_NAMEעם עד שלושה שמות DNS בהתאמה אישית, מופרדים בפסיקים בלי רווחים בין הערכים. לדוגמה,develop.example.com,test.example.com,production.example.com.
Terraform
כדי ליצור מכונה עם ערכי SAN בהתאמה אישית, משתמשים במשאב של Terraform. בדוגמה הבאה נוצרים גם משאבים שנדרשים למכונה החדשה.
הוספה או עדכון של ערכי SAN בהתאמה אישית למכונה
כדי להוסיף או לעדכן ערכי SAN בהתאמה אישית למכונה קיימת:
gcloud
gcloud sql instances patch INSTANCE_NAME \ --custom-subject-alternative-names=CUSTOM_DNS_NAME
מחליפים את הפרטים הבאים:
-
INSTANCE_NAMEבשם המכונה של Cloud SQL שרוצים לעדכן. CUSTOM_DNS_NAMEעם עד שלושה שמות DNS בהתאמה אישית, מופרדים בפסיקים בלי רווחים בין הערכים. לדוגמה,develop.example.com,new-test.example.com,production.example.com.
Terraform
כדי לעדכן מכונה שכבר יש לה ערכי SAN בהתאמה אישית, משתמשים במשאב של Terraform.
ניקוי כל הערכים המותאמים אישית של SAN ממכונה
כדי למחוק את כל ערכי ה-SAN בהתאמה אישית ממכונה:
gcloud
gcloud sql instances patch INSTANCE_NAME \ --clear-custom-subject-alternative-names
מחליפים את INSTANCE_NAME בשם של מכונת Cloud SQL שרוצים לעדכן.
יצירת רשומות DNS בהתאמה אישית
כדי להתחבר למכונה באמצעות שם ה-DNS בהתאמה אישית עם הלקוחות והאפליקציות, צריך להגדיר את המיפוי בין שם ה-DNS לכתובת ה-IP. המיפוי הזה נקרא פענוח DNS. אם אתם מתחברים באופן פרטי, צרו את רשומת ה-DNS בתחום DNS פרטי ברשת של הענן הווירטואלי הפרטי (VPC) המתאימה.
כדי ליצור רשומות DNS בהתאמה אישית למכונה:
מאחזרים את כתובת ה-IP של המכונה. מריצים את הפקודה הבאה:
gcloud sql instances describe INSTANCE_NAME \ --project=PROJECT_ID
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: השם של מכונת Cloud SQL
- PROJECT_ID: המזהה או מספר הפרויקט ב- Google Cloud שמכיל את המכונה
בתגובה, מחפשים את השדה
ipAddresses:.לדוגמה:
ipAddresses: - ipAddress: 192.0.2.4 type: PRIVATEאתם יכולים לאחזר את כתובת ה-IP הפרטית של מכונה שמוגדרת לגישה לשירותים פרטיים, ל-Private Service Connect או לשניהם.
מוסיפים שתי רשומות DNS לתחום DNS שמשמש את האפליקציה. אתם יכולים להשתמש בשרת DNS שאתם מנהלים בעצמכם או באזור הפרטי של Cloud DNS שבו האפליקציה משתמשת.
- יוצרים רשומת
Aלכתובת ה-IP של המכונה. - יוצרים רשומת
TXTשמכילה את שם החיבור של המכונה.
לקוחות של מסדי נתונים רגילים משתמשים ברשומה
Aכדי לחפש את כתובת ה-IP וליצור את החיבור. מחברי השפה של Cloud SQL ו-Cloud SQL Auth Proxy משתמשים ברשומתTXTכדי לחפש את שם החיבור של המכונה.לדוגמה, מחרוזת החיבור של המכונה היא
my-project:region:my-instance, אבל אתם רוצים להתחבר באמצעות שם ה-DNSprod-db.mycompany.example.com. אם כתובת ה-IP של המכונה ברשת של החברה היא192.0.2.4, צריך ליצור את רשומות ה-DNS הבאות:Record type: A Name: prod-db.mycompany.example.com Value: 192.0.2.4 TTL: 600 Record type: TXT Name: prod-db.mycompany.example.com Value: my-project:region:my-instance TTL: 600- יוצרים רשומת
התחברות למכונה באמצעות שם DNS בהתאמה אישית
כשמתחברים למכונה של Cloud SQL ל-SQL Server, מגדירים את שם ה-DNS בהתאמה אישית כשם המארח. לאחר מכן, מפעילים את אימות הזהות של השרת על ידי ציון הדגל-N עבור sqlcmd או על ידי בחירה באפשרות Encrypt Connection/Encryption של SSMS.
למנהלי התקנים אחרים של SQL Server יש דגלים או הגדרות דומים.
אם אתם מתחברים למכונה פרטית של Cloud SQL מרשת חיצונית, אתם צריכים להגדיר את המכונה של Cloud SQL ואת רשת הענן הווירטואלי הפרטי (VPC) שלה כך שיאפשרו חיבורים חיצוניים ויתנו ל-Cloud DNS לתקשר עם מערכות מקומיות. מידע נוסף על ההגדרה הזו זמין במאמרים חיבור ממקור חיצוני והגדרת DNS למערכות מקומיות.
מגבלות
- אי אפשר להוסיף יותר משלושה שמות DNS כערכי SAN בהתאמה אישית לאישור השרת של מכונה ב-Cloud SQL.
- האורך המקסימלי של שם DNS שאפשר להוסיף לאישור כערך SAN בהתאמה אישית למכונה הוא 253 תווים.
- שמות ה-DNS שמוסיפים לאישור של מכונה לא יכולים להכיל תווים כלליים לחיפוש (
*) או נקודות בסוף. לדוגמה, אסור להשתמש ב-test.example.com.. - שמות ה-DNS צריכים להיות תקינים, כפי שמצוין ב-RFC 1034.
- אפשר לציין ערכי SAN בהתאמה אישית רק ל-
CUSTOMER_MANAGED_CAS_CAמכונות.
המאמרים הבאים
- ניהול אישורי SSL/TLS במכונה של Cloud SQL.
- איך מתבצעת ההצפנה ב- Google Cloud