אתם יכולים להגדיר דומיין בהתאמה אישית במקום כתובת ברירת המחדל ש-Cloud Run מספק לשירות שנפרס.
יש כמה דרכים להגדיר דומיין מותאם אישית לשירות ב-Cloud Run:
- שימוש במאזן עומסים גלובלי חיצוני של אפליקציות (ALB) (מומלץ)
- מיפוי דומיינים ב-Cloud Run (זמינות מוגבלת וגרסת טרום-השקה)
- שימוש באירוח ב-Firebase
אתם יכולים למפות כמה דומיינים מותאמים אישית לאותו שירות Cloud Run.
לפני שמתחילים
קונים דומיין חדש, אלא אם כבר יש לכם דומיין שאתם רוצים להשתמש בו. אפשר להשתמש בכל רשם שמות דומיינים.
מיפוי דומיין מותאם אישית באמצעות מאזן עומסים גלובלי-חיצוני של אפליקציות (ALB)
באפשרות הזו, מוסיפים מאזן עומסים גלובלי חיצוני של אפליקציות לפני שירות Cloud Run, ומגדירים דומיין מותאם אישית ברמת מאזן העומסים.
אחד היתרונות של שימוש במאזן עומסים גלובלי חיצוני של אפליקציות (ALB) הוא שהוא נותן לכם שליטה רבה על הגדרת הדומיין המותאם אישית. לדוגמה, אתם יכולים להשתמש באישור TLS משלכם או לנתב נתיבי כתובות ה-URL ספציפיים לשירות Cloud Run. הוא גם מאפשר להגדיר את Cloud CDN לשמירה במטמון ואת Google Cloud Armor לאבטחה נוספת.
אתם יכולים גם למפות כמה שירותים לשם מארח דינמי או לנתיב בתבנית של כתובת ה-URL של הדומיין המותאם אישית, למאזן עומסים יחיד, לדוגמה <service>.example.com, באמצעות מסכות של כתובות URL.
אפשר לעיין במסמכי התיעוד בנושא הגדרת מאזן עומסים גלובלי חיצוני של אפליקציות (ALB) באמצעות Cloud Run.
מיפוי דומיין מותאם אישית באמצעות מיפוי דומיינים ב-Cloud Run (זמינות מוגבלת וגרסת טרום-השקה)
המגבלות של מיפוי דומיינים ב-Cloud Run
השיקולים הבאים רלוונטיים למיפוי דומיינים ב-Cloud Run:
- מיפויי הדומיינים של Cloud Run נמצאים בשלב ההשקה של גרסת טרום-השקה (Preview). בגלל בעיות זמן אחזור, הם לא מוכנים לייצור ואין להם תמיכה בזמינות לכלל המשתמשים (GA). כרגע, האפשרות הזו לא מומלצת לשירותי ייצור.
- כשממפים שירות לדומיין מותאם אישית, המערכת מנפיקה ומחדשת באופן אוטומטי אישור בניהול Google לחיבורי HTTPS.
- הקצאת אישור ה-SSL נמשכת בדרך כלל כ-15 דקות, אבל יכולה להימשך עד 24 שעות.
- אי אפשר להשבית את TLS 1.0 ו-1.1. אם זו בעיה, אתם יכולים להשתמש באירוח ב-Firebase או ב-Cloud Load Balancing כדי לאפשר תנועה רק ב-TLS 1.2.
- אתם לא יכולים להעלות ולהשתמש באישורים משלכם (בניהול עצמי).
- מיפויי הדומיינים של Cloud Run מוגבלים ל-64 תווים.
- מיפוי דומיינים זמין באזורים הבאים:
asia-east1asia-northeast1asia-southeast1europe-north1europe-west1europe-west4us-central1us-east1us-east4us-west1
- כדי למפות דומיינים מותאמים אישית באזורים אחרים, צריך להשתמש באחת מאפשרויות המיפוי האחרות.
- כשמשתמשים במיפוי דומיינים ב-Cloud Run, ממפים דומיין מותאם אישית לשירות ואז מעדכנים את רשומות ה-DNS.
- אפשר למפות דומיין, כמו
example.com, או תת-דומיין, כמוsubdomain.example.com. - אפשר למפות דומיין רק ל-
/, ולא לנתיב כתובת ה-URL ספציפי כמו/users. - אי אפשר להשתמש בתעודות wildcard עם התכונה הזו.
מיפוי דומיין מותאם אישית לשירות
כדי למפות דומיין מותאם אישית לשירות, אתם יכולים להשתמש במסוף Google Cloud , ב-CLI של gcloud או ב-Terraform.
המסוף
פותחים את הדף Domain mappings במסוף Google Cloud :
לדף Domain mappingsלוחצים על הוספת מיפוי.
אם חלון התצוגה קטן מדי, הלחצן Add Mapping לא מוצג וצריך ללחוץ על סמל האפשרויות הנוספות (3 נקודות) בפינת הדף.
לחלופין, לוחצים על Add custom URL וקוראים את המאמר יצירת כתובות URL בהתאמה אישית כדי להגדיר את ההגדרה הזו.
ברשימה הנפתחת, בוחרים את השירות שאליו ממפים את הדומיין המותאם אישית.
בוחרים באפשרות Cloud Run Domain Mappings.
בטופס Add mapping, בוחרים באפשרות Verify a new domain.
בשדה Base domain to verify, צריך לאמת את הבעלות על הדומיין לפני שמשתמשים בו, אלא אם רכשתם את הדומיין מ-Google.
כדי למפות את
subdomain.example.comאו אתsubdomain1.subdomain2.example.com, צריך לאמת את הבעלות עלexample.com. מידע נוסף על אימות בעלות על דומיין זמין במרכז העזרה של Search Console.לוחצים על Continue.
אחרי שאימות הדומיין מסתיים, לוחצים על המשך האימות וסגירה.
מעדכנים את רשומות ה-DNS באתר של רשם הדומיינים באמצעות רשומות ה-DNS שמוצגות בשלב האחרון. כדי להציג את הרשומות, לוחצים על רשומות DNS בתפריט הפעולות "…" של מיפוי הדומיין.
לוחצים על סיום.
gcloud
בפעם הראשונה שמשתמשים בדומיין בפרויקט ב- Google Cloud , צריך לאמת את הבעלות על הדומיין, אלא אם רכשתם את הדומיין המותאם אישית מ-Google. כדי לבדוק אם הדומיין המותאם אישית שבו אתם רוצים להשתמש אומת, אתם יכולים להריץ את הפקודה הבאה:
gcloud domains list-user-verified
אם צריך לאמת את הבעלות על הדומיין, פותחים את דף האימות של Search Console:
gcloud domains verify BASE-DOMAIN
כאשר
BASE-DOMAINהוא דומיין הבסיס שרוצים לאמת. לדוגמה, אם רוצים למפות אתsubdomain.example.com, צריך לאמת את הבעלות עלexample.com.ב-Search Console, משלימים את אימות הבעלות על הדומיין. מידע נוסף זמין במרכז העזרה של Search Console.
ממפים את השירות לדומיין המותאם אישית:
כדי למפות דומיין לשירות קיים:
gcloud beta run domain-mappings create --service SERVICE --domain DOMAIN
- מחליפים את
SERVICEבשם השירות. - מחליפים את
DOMAINבדומיין המותאם אישית, לדוגמה,example.comאוsubdomain.example.com.
- מחליפים את
כדי למפות דומיין ישירות כשפורסים שירות:
gcloud beta run deploy SERVICE --image IMAGE --domain DOMAIN
- מחליפים את
SERVICEבשם השירות. - מחליפים את
IMAGEבקובץ האימג' של הקונטיינר. - מחליפים את
DOMAINבדומיין המותאם אישית.
- מחליפים את
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
כדי ליצור שירות Cloud Run, מוסיפים את הקוד הבא לקובץ main.tf הקיים:
מחליפים את:
-
custom-domainבשם של שירות Cloud Run. us-docker.pkg.dev/cloudrun/container/helloבהפניה לקובץ האימג' של הקונטיינר. אם אתם משתמשים ב-Artifact Registry, המאגר REPO_NAME כבר צריך להיות קיים. כתובת ה-URL היא בפורמטLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
ממפים את שירות Cloud Run לדומיין המותאם אישית:
מחליפים את verified-domain.com בדומיין המאומת בהתאמה אישית, לדוגמה, example.com או subdomain.example.com.
הוספה של רשומות ה-DNS אצל רשם הדומיינים
אחרי שממפים את השירות לדומיין מותאם אישית ב-Cloud Run, צריך לעדכן את רשומות ה-DNS ברשם הדומיינים. כדי להקל עליכם, Cloud Run יוצר ומציג את רשומות ה-DNS שצריך להזין. כדי שהמיפוי ייכנס לתוקף, צריך להוסיף את הרשומות האלה שמפנות לשירות Cloud Run ברשם הדומיינים.
אם אתם משתמשים ב-Cloud DNS כספק ה-DNS, קראו את המאמר הוספת רשומה.
אם אתם משתמשים ברשומות DNS של הרשאה ברשות האישורים (CAA) לדומיין המותאם אישית, אתם צריכים לתת הרשאה גם ל-pki.goog וגם ל-letsencrypt.org כדי ש-Cloud Run יוכל להנפיק ולחדש את אישור ה-TLS המנוהל. מידע נוסף מופיע במאמר ציון רשויות האישורים שיכולות להנפיק את האישור בניהול Google.
כדי לאחזר את פרטי רשומת ה-DNS של מיפויי הדומיינים, משתמשים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף מיפויי הדומיינים של Cloud Run:
דף מיפויי הדומייניםלוחצים על סמל האפשרויות הנוספות (3 נקודות) שמשמאל לשירות, ואז לוחצים על DNS RECORDS (רשומות DNS) כדי להציג את כל רשומות ה-DNS:
gcloud
gcloud beta run domain-mappings describe --domain [DOMAIN]
מחליפים את
[DOMAIN]בדומיין המותאם אישית, לדוגמה,example.comאוsubdomain.example.com.צריך את כל הרשומות שמוחזרות בכותרת
resourceRecords.נכנסים לחשבון ברשם הדומיינים ופותחים את דף הגדרות ה-DNS.
מאתרים את הקטע של רשומות המארח בדף ההגדרות של הדומיין, ומוסיפים כל אחת מרשומות המשאבים שקיבלתם כשמיפיתם את הדומיין לשירות Cloud Run.
כשמוסיפים כל אחת מרשומות ה-DNS הקודמות לחשבון אצל ספק ה-DNS:
- בוחרים את הסוג שהוחזר ברשומת ה-DNS בשלב הקודם:
A,AAAAאוCNAME. - צריך להשתמש בשם
wwwכדי למפות אלwww.example.com. - צריך להשתמש בשם
@כדי למפות אתexample.com.
- בוחרים את הסוג שהוחזר ברשומת ה-DNS בשלב הקודם:
שומרים את השינויים בדף הגדרות ה-DNS של החשבון בדומיין. ברוב המקרים, השינויים האלה נכנסים לתוקף תוך כמה דקות, אבל במקרים מסוימים זה יכול לקחת כמה שעות, בהתאם לרשם ולערך Time-To-Live (TTL) של רשומות ה-DNS הקודמות של הדומיין. אתם יכולים להשתמש בכלי
dig, כמו הגרסה אונליין שלdig, כדי לוודא שרשומות ה-DNS עודכנו בהצלחה.כדי לבדוק אם הפעולה הצליחה, נכנסים לשירות בכתובת ה-URL החדשה שלו, לדוגמה
https://www.example.com. יכול להיות שיעברו כמה דקות עד שיונפק אישור ה-SSL המנוהל.
הוספת בעלי דומיינים מאומתים למשתמשים אחרים או לחשבונות שירות
כשמשתמש מאמת דומיין, הדומיין מאומת רק בחשבון של אותו משתמש. המשמעות היא שרק המשתמש הזה יכול להוסיף עוד מיפויים לדומיין הזה. לכן, כדי לאפשר למשתמשים אחרים להוסיף מיפויים שמשתמשים בדומיין הזה, צריך להוסיף אותם כבעלים מאומתים.
אם אתם צריכים להוסיף בעלים מאומתים של הדומיין למשתמשים אחרים או לחשבונות שירות, אתם יכולים להוסיף הרשאה דרך הדף Search Console:
עוברים לכתובת הבאה בדפדפן האינטרנט:
בקטע Properties, לוחצים על הדומיין שאליו רוצים להוסיף משתמש או חשבון שירות.
עוברים לרשימה בעלים מאומתים, לוחצים על הוספת בעלים ומזינים כתובת האימייל בחשבון Google או מזהה חשבון שירות.
כדי לראות את רשימת חשבונות השירות, פותחים את הדף Service Accounts במסוף Google Cloud :
מחיקת מיפוי דומיין ב-Cloud Run
אתם יכולים להשתמש במסוף Google Cloud או ב-CLI של gcloud כדי למחוק מיפוי דומיינים.
המסוף
פותחים את הדף Domain mappings במסוף Google Cloud :
הדף Domain mappingsבדף Domain mappings, בוחרים את מיפוי הדומיינים שרוצים למחוק ולוחצים על Delete.
gcloud
מוחקים את מיפוי הדומיין:
gcloud beta run domain-mappings delete --domain DOMAIN
- מחליפים את
DOMAINבדומיין המותאם אישית, לדוגמה,example.comאוsubdomain.example.com.
- מחליפים את
מיפוי דומיין מותאם אישית באמצעות אירוח ב-Firebase
באפשרות הזו, מגדירים את אירוח ב-Firebase לפני שירות Cloud Run ומקשרים דומיין לאירוח ב-Firebase.
השימוש באירוח ב-Firebase הוא זול, ואפשר לארח ולהציג תוכן סטטי לצד התוכן הדינמי שמוצג על ידי שירות Cloud Run.
כדי למפות דומיין מותאם אישית באמצעות אירוח ב-Firebase:
- מוסיפים את Firebase לפרויקט Google Cloud .
- מתקינים את Firebase CLI.
בתיקייה שונה מקוד המקור של השירות, יוצרים קובץ
firebase.jsonעם התוכן הבא:{ "hosting": { "rewrites": [{ "source": "**", "run": { "serviceId": "SERVICE_NAME", "region": "REGION" } }] } }מחליפים את SERVICE_NAME ואת REGION בשם ובאזור של שירות Cloud Run.
פורסים את ההגדרות של אירוח ב-Firebase:
firebase deploy --only hosting --project PROJECT_ID
מידע נוסף על אירוח ב-Firebase ו-Cloud Run
שימוש בדומיינים מותאמים אישית עם שירותים מאומתים
שירותים מאומתים מוגנים על ידי IAM. בשירותי Cloud Run כאלה נדרש אימות לקוח שמצהיר על הנמען המיועד של הבקשה בזמן יצירת פרטי הכניסה (קהל היעד).
הקהל הוא בדרך כלל כתובת ה-URL המלאה של שירות היעד. כברירת מחדל, בשירותי Cloud Run זו כתובת URL שנוצרת ומסתיימת ב-run.app.
עם זאת, אם אתם משתמשים בדומיין בהתאמה אישית, אתם יכולים להגדיר קהל בהתאמה אישית כדי שהשירות יקבל את הדומיין בהתאמה אישית כקהל חוקי.
המאמרים הבאים
- איך מאבטחים את השירותים של Cloud Run
- כדי להגדיר דומיין מותאם אישית ל-Cloud Run באמצעות מאזן עומסים חיצוני גלובלי של אפליקציות (ALB), קראו את המאמר הגדרת מאזן עומסים חיצוני גלובלי של אפליקציות עם Cloud Run.