אתם יכולים להגדיר דומיין מותאם אישית במקום כתובת ברירת המחדל ש-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 נמצאים בשלב טרום-השקה. בגלל בעיות בהשהיה, הם לא מוכנים לשימוש בסביבת ייצור ואין להם תמיכה בסטטוס זמינות כללית (GA). בשלב הזה, לא מומלץ להשתמש באפשרות הזו בשירותי ייצור.
- כשממפים שירות לדומיין מותאם אישית, אישור שמנוהל על ידי Google לחיבורי HTTPS מונפק ומחודש באופן אוטומטי.
- הקצאת אישור ה-SSL נמשכת בדרך כלל כ-15 דקות, אבל יכולה להימשך עד 24 שעות.
- אי אפשר להשבית את TLS 1.0 ו-TLS 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 :
דף מיפוי דומייניםלוחצים על הוספת מיפוי.
אם חלון התצוגה קטן מדי, הלחצן הוספת מיפוי לא מוצג וצריך ללחוץ על סמל האליפסה האנכית עם שלוש הנקודות בפינת הדף.
אפשרות אחרת היא ללחוץ על הוספת כתובת URL בהתאמה אישית ולעיין במאמר בנושא יצירת כתובות URL בהתאמה אישית כדי להגדיר את ההגדרה הזו.
מהתפריט הנפתח, בוחרים את השירות שאליו ממפים את הדומיין המותאם אישית.
בוחרים באפשרות Cloud Run Domain Mappings (מיפויי דומיינים של Cloud Run).
בטופס הוספת מיפוי, בוחרים באפשרות אימות דומיין חדש.
בשדה דומיין בסיס לאימות, צריך לאמת את הבעלות על הדומיין לפני שתוכלו להשתמש בו, אלא אם רכשתם את הדומיין מ-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 כדי להציג את כל רשומות ה-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.
- מחליפים את
מיפוי דומיין מותאם אישית באמצעות אירוח ב-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.