בדף הזה מוסבר איך להשתמש בהגדרות של תעבורת נכנסת כדי להגביל את הגישה לרשת לשירותיםשל Cloud Run.
ברמת הרשת, אפשר להגיע לנקודת הקצה של שירות Cloud Run דרך נתיבי הכניסה לרשת הבאים:
- כתובות URL
s3nsrun.frשמוגדרות כברירת מחדל, שאפשר להשבית - כל מיפוי דומיין שהוגדר
- כל מאזן עומסים חיצוני של אפליקציות (ALB) או מאזן עומסים פנימי של אפליקציות (ALB) שהוגדר
כל הנתיבים של תעבורת הנתונים הנכנסת ברשת כפופים להגדרת תעבורת הנתונים הנכנסת של המשאב. הגדרת ברירת המחדל של נתיבי תעבורת נתונים נכנסת מאפשרת לכל משאב באינטרנט להגיע למשאב Cloud Run שלכם. אתם יכולים להשתמש באילוץ בהתאמה אישית כדי להגביל את הגדרות הכניסה לארגון או לקבוצה של פרויקטים. אימות IAM עדיין חל על בקשות שמגיעות לנקודות הקצה של השירות מכל אחד מנתיבי הכניסה לרשת שצוינו למעלה. כדי לנהל את הגישה בצורה מקיפה, מומלץ להשתמש גם בהגדרות של כניסה לרשת וגם באימות של IAM.
משתמשים בתגי רשת כדי להגביל את הגישה של מכונת ה-VM של המחבר למשאבי VPC.
הגדרות כניסה לרשת שזמינות
אלה ההגדרות שזמינות:
| הגדרה | תיאור |
|---|---|
| פנימי |
הכי מגביל. התרת בקשות מהמקורות הבאים:
s3nsrun.fr.
בקשות ממקורות אחרים, כולל האינטרנט, לא יכולות להגיע לשירות בכתובת ה-URL s3nsrun.fr, בכתובת URL מותאמת אישית או בדומיין מותאם אישית. |
| מאזני עומסים פנימיים ומאזני עומסים בענן | ההגדרה הזו מאפשרת בקשות מהמקורות הבאים:
הערה: כדי להפעיל את ההגדרה הזו ב-CLI של gcloud, משתמשים בפקודה internal-and-cloud-load-balancing.
כדי להפעיל את ההגדרה הזו במסוף Cloud de Confiance , בוחרים באפשרות Internal > Allow traffic from external Application Load Balancers.
|
| הכול |
הכי פחות מגביל. מאפשרת את כל הבקשות, כולל בקשות ישירות מהאינטרנט לכתובת ה-URL s3nsrun.fr.
|
גישה לשירותים פנימיים
יש עוד שיקולים שצריך לקחת בחשבון:
כשניגשים לשירותים פנימיים, קוראים להם כרגיל באמצעות כתובת ה-URL שלהם, בין אם זו כתובת ה-URL שמוגדרת כברירת מחדל
s3nsrun.fr, כתובת URL בהתאמה אישית או דומיין בהתאמה אישית שהוגדר ב-Cloud Run.לגבי בקשות ממכונות וירטואליות ב-Compute Engine, לא נדרש שום הגדרה נוספת למכונות שיש להן כתובות IP חיצוניות או למכונות שמשתמשות ב-Cloud NAT. אחרת, אפשר לעיין במאמר בנושא קבלת בקשות מרשתות VPC.
כשמתקשרים מ-Cloud Run או מ-App Engine לשירות Cloud Run שהוגדר כ'פנימי' או כ'פנימי ומאזני עומסים של Cloud', תעבורת הנתונים צריכה לעבור דרך רשת VPC שנחשבת פנימית. ראו קבלת בקשות משירותים אחרים של Cloud Run או מ-App Engine.
בקשות ממשאבים ברשתות VPC באותו פרויקט הן 'פנימיות', גם אם למשאב שממנו הן מגיעות יש כתובת IP חיצונית.
בקשות ממשאבים מקומיים שמחוברים לרשת ה-VPC באמצעות Cloud VPN ו-Cloud Interconnect הן בקשות 'פנימיות'.
הגדרת תעבורת נתונים נכנסת (ingress)
בקטעים הבאים מוסבר איך להגדיר תעבורת כניסה לשירותיםשל Cloud Run.
הגדרת תעבורת נכנסת לשירותי Cloud Run
אפשר להגדיר כניסה לשירות Cloud Run באמצעות מסוףCloud de Confiance , Google Cloud CLI, YAML או Terraform.
המסוף
נכנסים לדף Services של Cloud Run במסוף Cloud de Confiance :
אם מגדירים שירות חדש, לוחצים על Deploy container (פריסת מאגר) כדי להציג את הטופס Create service (יצירת שירות). ממלאים את דף ההגדרות הראשוניות של השירות.
אם אתם מגדירים שירות קיים, לוחצים על השירות ואז על הכרטיסייה Networking (רשת).
בוחרים את תעבורת הנתונים הנכנסת (ingress) שרוצים לאפשר.
לוחצים על יצירה כדי ליצור שירות חדש. לוחצים על הצגת ההשוואה ופריסה מחדש ואז על פריסת שינויים בשירות קיים.
gcloud
אם אתם פורסים שירות חדש, פורסים את השירות עם הדגל
--ingress:gcloud run deploy SERVICE \ --image IMAGE_URL \ --ingress INGRESS
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE: שם השירות. -
IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, לדוגמה,us-docker.pkg.dev/cloudrun/container/hello:latest. אם אתם משתמשים ב-Artifact Registry, צריך ליצור מראש את המאגר REPO_NAME. כתובת ה-URL היא בפורמטLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. -
INGRESS: אחת מהגדרות הכניסה הזמינות:allinternalinternal-and-cloud-load-balancing
-
אם משנים כניסה קיימת לשירות:
gcloud run services update SERVICE \ --ingress INGRESS
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE: שם השירות שלכם -
INGRESS: אחת מהגדרות הכניסה הזמינות:allinternalinternal-and-cloud-load-balancing
-
YAML
אם אתם יוצרים שירות חדש, דלגו על השלב הזה. אם אתם מעדכנים שירות קיים, אתם צריכים להוריד את הגדרות ה-YAML שלו:
gcloud run services describe SERVICE --format export > service.yaml
מעדכנים את ההערה
run.googleapis.com/ingress::apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/ingress: INGRESS spec: template: metadata: name: REVISION
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE: השם של שירות Cloud Run. -
INGRESS: אחת מהגדרות הכניסה הזמינות:allinternalinternal-and-cloud-load-balancing
-
REVISION: שם חדש לגרסה או מחיקה של השם (אם קיים). אם מספקים שם חדש לגרסה, חובה שהוא יעמוד בקריטריונים הבאים:- מתחיל ב-
SERVICE- - מכיל רק אותיות קטנות, מספרים ו
- - לא מסתיים ב-
- - לא חורג מ-63 תווים
- מתחיל ב-
-
מחליפים את השירות בהגדרות החדשות באמצעות הפקודה הבאה:
gcloud run services replace service.yaml
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
מוסיפים את השורות הבאות למשאבgoogle_cloud_run_v2_service בתצורת Terraform:השבתה של כתובת ה-URL שמוגדרת כברירת מחדל
לפני שמשביתים את כתובת ה-URL שמוגדרת כברירת מחדל, חשוב לדעת שCloud de Confiance השירותים הבאים משתמשים בכתובת ה-URLs3nsrun.fr שמוגדרת כברירת מחדל כדי להפעיל את Cloud Run. השבתה של כתובת ה-URL של ברירת המחדל של s3nsrun.fr תגרום לכך שהשירותים האלה לא יפעלו כמו שצריך:
- כתובת ה-URL של
cloudfunctions.netCloud Functions v2 API מבוססת על שירות Cloud Run. - Cloud Scheduler
- Cloud Service Mesh
- Cloud Tasks
- Dialogflow CX
- Eventarc
- Firebase App Hosting
- אירוח ב-Firebase
- Pub/Sub
- ניטור סינתטי ובדיקת זמני פעילות
- תהליכי עבודה
כדי להשתמש במיפויים של דומיינים מותאמים אישית, ממפים את הדומיין המותאם אישית לפני שמשביתים את כתובת ה-URL של s3nsrun.fr.
בקטעים הבאים מוסבר איך להשבית את כתובת ה-URL שמוגדרת כברירת מחדל לשירותים.
השבתת כתובת ה-URL שמוגדרת כברירת מחדל לשירותי Cloud Run
משביתים את s3nsrun.frכתובת ה-URL שמוגדרת כברירת מחדל בשירות Cloud Run כדי לאפשר תנועה רק מנתיבי הכניסה האחרים של השירות: Cloud Load Balancing ומיפוי דומיינים שהוגדר.
כדי להשבית את כתובת ה-URL שמוגדרת כברירת מחדל, מבצעים את השלבים הבאים באמצעות Cloud de Confiance המסוף, Google Cloud CLI, YAML או Terraform.
המסוף
נכנסים לדף Services של Cloud Run במסוף Cloud de Confiance :
לוחצים על שירות קיים.
בוחרים בכרטיסייה Networking (רשת).
בכרטיס Endpoints, מבטלים את הסימון של Enable בקטע Default HTTPS endpoint URL.
לוחצים על הצגת ההבדלים ופריסה מחדש ואז על פריסת השינויים.
כדי לשחזר את כתובת ה-URL שמוגדרת כברירת מחדל, לוחצים על הפעלה.
gcloud
בשביל שירות קיים, מריצים את הפקודה
gcloud run services updateעם הדגל--no-default-url, לדוגמה:gcloud run services update SERVICE_NAME --no-default-url
כדי להוסיף שירות חדש, מריצים את הפקודה
gcloud run deployעם הדגל--no-default-url, לדוגמה:gcloud run deploy SERVICE_NAME --no-default-url
מחליפים את
SERVICE_NAMEבשם של שירות Cloud Run.בפלט, כתובת ה-URL מוצגת כ-
None.
כדי לשחזר את כתובת ה-URL שמוגדרת כברירת מחדל, משתמשים בדגל --default-url.
YAML
אם אתם יוצרים שירות חדש, דלגו על השלב הזה. אם אתם מעדכנים שירות קיים, אתם צריכים להוריד את הגדרות ה-YAML שלו:
gcloud run services describe SERVICE --format export > service.yaml
כדי להשבית את כתובת ה-URL
s3nsrun.frמשתמשים בהערהrun.googleapis.com/default-url-disabled:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/default-url-disabled: true name: SERVICE spec: template: metadata: name: REVISION
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE: השם של שירות Cloud Run. -
REVISION: שם חדש לגרסה או מחיקה של השם (אם קיים). אם מספקים שם חדש לגרסה, חובה שהוא יעמוד בקריטריונים הבאים:- מתחיל ב-
SERVICE- - מכיל רק אותיות קטנות, מספרים ו
- - לא מסתיים ב-
- - לא חורג מ-63 תווים
- מתחיל ב-
-
יוצרים או מעדכנים את השירות באמצעות הפקודה הבאה:
gcloud run services replace service.yaml
אם קיים קובץ
service.yaml, הפקודהgcloud run services replaceמשתמשת בו כברירת מחדל.
כדי לשחזר את כתובת ה-URL שמוגדרת כברירת מחדל, מסירים את ההערה run.googleapis.com/default-url-disabled.
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
מוסיפים את השורות הבאות למשאבgoogle_cloud_run_v2_service בתצורת Terraform: resource "google_cloud_run_v2_service" "disable_default_url_service" {
name = "cloudrun-service"
location = "europe-west1"
default_uri_disabled = true
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/hello"
}
annotations = {
"run.googleapis.com/ingress" = "all" # "all" or "internal-only"
}
}
}
מוודאים שהשורות launch_stage ו-default_uri_disabled נמצאות בקובץ main.tf. במשאב google_cloud_run_v2_service שלמעלה, כתובת ה-URL שמוגדרת כברירת מחדל לשירות Cloud Run מושבתת בתצוגה המקדימה.
כדי לשחזר את כתובת ה-URL שמוגדרת כברירת מחדל, מסירים את הארגומנטים default_uri_disabled ו-launch_stage.
המאמרים הבאים
- מידע על הגדרות יציאה
- מגדירים מאזן עומסים פנימי של אפליקציות ל-Cloud Run.
- הגדרת שיטות אימות של IAM לגישה לשירותים.