בדף הזה מוסבר איך להגדיר שם מותאם אישית של מערכת שמות דומיינים (DNS) למופע Cloud SQL.
סקירה כללית
אתם יכולים להגדיר מופע Cloud SQL כך שהאפליקציות יוכלו להתחבר באמצעות שם DNS מותאם אישית שמנוהל על ידי הארגון. אם אתם רוצים להשתמש בשם DNS מותאם אישית כדי להתחבר למופע Cloud SQL במקום להשתמש בכתובת IP, אתם צריכים להגדיר שם חלופי של בעלים (subject) (SAN) בהתאמה אישית. אפשר להגדיר SAN מותאם אישית כשיוצרים או מעדכנים מופע.
כשמוסיפים שם DNS מותאם אישית כהגדרת SAN מותאמת אישית למופע, Cloud SQL מוסיף את שם ה-DNS המותאם אישית לשדה ה-SAN של אישור השרת של המופע. ההתאמה האישית הזו מאפשרת לכם להשתמש בשם ה-DNS המותאם אישית עם אימות שם המארח בצורה מאובטחת.
אפשר להוסיף רשימה מופרדת בפסיקים של עד שלושה שמות DNS מותאמים אישית ל-SAN המותאם אישית. מטעמי אבטחה, אפשר להשתמש בהגדרת SAN בהתאמה אישית רק במקרים שבהם מגדירים את CUSTOMER_MANAGED_CAS_CA כמצב CA של השרת.
אחרי שמגדירים את שם ה-DNS המותאם אישית למכונה, אפשר להשתמש בו כדי לחבר את לקוחות מסד הנתונים או האפליקציות, כולל מחברי שפות ל-Cloud SQL ושרת ה-proxy ל-Cloud SQL Auth.
תהליך עבודה
כדי להגדיר שם DNS בהתאמה אישית למופע:
- יצירת מופע שהוגדר עם CA בניהול הלקוח.
- מוסיפים ערכי 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_POOL_IDבמזהה של מאגר הרשויות שמנפיקות את האישורים שיצרתם. -
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 ושרת proxy ל-Cloud SQL Auth משתמשים ברשומה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