אתם יכולים להגדיר דומיין מותאם אישית במקום כתובת ברירת המחדל ש-Cloud Run מספק לשירות שנפרס.
יש כמה דרכים להגדיר דומיין מותאם אישית לשירות Cloud Run:
- שימוש במאזן עומסים גלובלי חיצוני של אפליקציות (ALB) (מומלץ)
- שימוש באירוח ב-Firebase
- שימוש במיפוי דומיינים ב-Cloud Run (זמינות מוגבלת וגרסת טרום-השקה)
אפשר למפות כמה דומיינים מותאמים אישית לאותו שירות Cloud Run.
לפני שמתחילים
קונים דומיין חדש, אלא אם כבר יש לכם דומיין שבו אתם רוצים להשתמש. אפשר להשתמש בכל רשם שמות דומיין.
מיפוי של דומיין בהתאמה אישית באמצעות מאזן עומסים גלובלי חיצוני של אפליקציות (ALB)
באמצעות האפשרות הזו, מוסיפים מאזן עומסים גלובלי חיצוני של אפליקציות לפני שירות Cloud Run ומגדירים דומיין מותאם אישית ברמת מאזן העומסים.
אחד היתרונות של שימוש במאזן עומסים גלובלי חיצוני של אפליקציות (ALB) הוא שהוא מאפשר לכם לשלוט בהגדרת הדומיין המותאם אישית. לדוגמה, אפשר להשתמש באישור TLS משלכם או להפנות נתיבי URL ספציפיים לשירות Cloud Run. אפשר גם להגדיר את Cloud CDN לשמירה במטמון ואת Google Cloud Armor לאבטחה נוספת.
אפשר גם למפות כמה שירותים לשם מארח דינמי או לנתיב בדפוס כתובת ה-URL של הדומיין המותאם אישית עבור מאזן עומסים יחיד, לדוגמה, <service>.example.com, באמצעות מסכות של כתובות URL.
אפשר לעיין במסמכי התיעוד בנושא הגדרה של מאזן עומסים של אפליקציות (ALB) חיצוני גלובלי באמצעות Cloud Run.
מיפוי דומיין מותאם אישית באמצעות אירוח ב-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
מיפוי דומיין מותאם אישית באמצעות מיפוי דומיין ב-Cloud Run (זמינות מוגבלת וגרסת טרום-השקה)
מגבלות על מיפוי דומיינים ב-Cloud Run
השיקולים הבאים חלים על מיפויי דומיינים ב-Cloud Run:
- מיפויי דומיינים ב-Cloud Run נמצאים בשלב הגרסה המקדימה. בגלל בעיות של זמן אחזור, הם לא מוכנים לייצור ולא נתמכים בזמינות לכלל המשתמשים (GA). בשלב הזה, לא מומלץ להשתמש באפשרות הזו בשירותי ייצור.
- כשממפים שירות לדומיין בהתאמה אישית, מונפק באופן אוטומטי אישור שמנוהל על ידי Google לחיבורי HTTPS, והוא מתחדש באופן אוטומטי.
- הקצאת אישור ה-SSL בדרך כלל נמשכת כ-15 דקות, אבל היא יכולה להימשך עד 24 שעות.
- אי אפשר להשבית את TLS 1.0 ו-1.1. אם זה בעייתי, אפשר להשתמש ב-Firebase Hosting או ב-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. - אי אפשר להשתמש בתכונה הזו עם אישורים עם תווים כלליים לחיפוש.
מיפוי דומיין מותאם אישית לשירות
אפשר להשתמש במסוף Google Cloud , ב-CLI של gcloud או ב-Terraform כדי למפות דומיין בהתאמה אישית לשירות.
המסוף
פותחים את הדף 'מיפוי דומיינים' במסוף Google Cloud :
הדף 'מיפוי דומיינים'לוחצים על הוספת מיפוי.
אם חלון התצוגה קטן מדי, הלחצן הוספת מיפוי לא מוצג, ותצטרכו ללחוץ על סמל האליפסה האנכית עם שלוש הנקודות בפינת הדף.
מהרשימה הנפתחת, בוחרים את השירות שאליו ממפים את הדומיין המותאם אישית.
בוחרים באפשרות Cloud Run Domain Mappings (מיפויי דומיינים של Cloud Run).
בטופס Add mapping (הוספת מיפוי), בוחרים באפשרות Verify a new domain (אימות דומיין חדש).
בשדה דומיין בסיסי לאימות, צריך לאמת את הבעלות על הדומיין לפני שתוכלו להשתמש בו, אלא אם רכשתם את הדומיין מ-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.
- מחליפים את
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 של מיפויי הדומיין, משתמשים באפשרויות הבאות:
המסוף
עוברים לדף מיפויי הדומיינים ב-Cloud Run:
דף מיפויי הדומייניםלוחצים על סמל האפשרויות הנוספות (3 נקודות) משמאל לשם השירות ואז על רשומות 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 בחשבון של הדומיין. ברוב המקרים, השינויים האלה נכנסים לתוקף תוך כמה דקות, אבל במקרים מסוימים יכול להיות שיחלפו כמה שעות, בהתאם לרשם ולזמן החיים (TTL) של רשומות DNS קודמות בדומיין. אפשר להשתמש בכלי
dig, כמו הגרסה אונליין שלdig, כדי לוודא שרשומות ה-DNS עודכנו בהצלחה.כדי לבדוק שהפעולה הצליחה, עוברים לשירות בכתובת ה-URL החדשה שלו, לדוגמה,
https://www.example.com. יכול להיות שיעברו כמה דקות עד שאישור ה-SSL המנוהל יונפק.
הוספת בעלי דומיין מאומתים למשתמשים אחרים או לחשבונות שירות
כשמשתמש מאמת דומיין, הדומיין הזה מאומת רק בחשבון של המשתמש. המשמעות היא שרק המשתמש הזה יכול להוסיף מיפויים נוספים של דומיינים שמשתמשים בדומיין הזה. לכן, כדי לאפשר למשתמשים אחרים להוסיף מיפויים שמשתמשים בדומיין הזה, צריך להוסיף אותם כבעלים מאומתים.
אם אתם צריכים להוסיף בעלים מאומתים של הדומיין שלכם למשתמשים אחרים או לחשבונות שירות, אתם יכולים להוסיף הרשאה דרך הדף Search Console:
עוברים לכתובת הבאה בדפדפן האינטרנט:
בקטע נכסים, לוחצים על הדומיין שרוצים להוסיף לו משתמש או חשבון שירות.
עוברים לרשימה בעלים מאומתים, לוחצים על הוספת בעלים ומזינים כתובת אימייל של חשבון Google או מזהה של חשבון שירות.
כדי לראות רשימה של חשבונות השירות, פותחים את הדף Service Accounts במסוף Google Cloud :
מחיקה של מיפוי דומיין ב-Cloud Run
אפשר להשתמש במסוף Google Cloud או ב-CLI של gcloud כדי למחוק מיפוי דומיין.
המסוף
פותחים את הדף 'מיפוי דומיינים' במסוף: Google Cloud דף מיפוי דומיינים
בדף מיפויי דומיינים, בוחרים את מיפוי הדומיין שרוצים למחוק ולוחצים על מחיקה.
gcloud
מוחקים את מיפוי הדומיין:
gcloud beta run domain-mappings delete --domain DOMAIN
- מחליפים את
DOMAINבדומיין המותאם אישית, לדוגמה,example.comאוsubdomain.example.com.
- מחליפים את
שימוש בדומיינים מותאמים אישית עם שירותים מאומתים
שירותים מאומתים מוגנים על ידי IAM. שירותים כאלה ב-Cloud Run דורשים אימות לקוח שמצהיר על הנמען המיועד של בקשה בזמן יצירת פרטי הכניסה (הקהל).
הקהל הוא בדרך כלל כתובת ה-URL המלאה של שירות היעד, שבשירותי Cloud Run היא כברירת מחדל כתובת URL שנוצרת ומסתיימת ב-run.app.
עם זאת, אם אתם משתמשים בדומיין מותאם אישית, אתם יכולים להגדיר קהל בהתאמה אישית כך שהשירות יקבל את הדומיין המותאם אישית שלכם כקהל תקף.
המאמרים הבאים
- איך מאבטחים את השירותים של Cloud Run
- כדי להגדיר דומיין מותאם אישית ל-Cloud Run באמצעות מאזן עומסים חיצוני גלובלי של אפליקציות (ALB), אפשר לעיין במאמר הגדרת מאזן עומסים חיצוני גלובלי של אפליקציות עם Cloud Run.