בדף הזה מוסבר איך להשתמש בהגדרות של תעבורת נתונים נכנסת כדי להגביל את הגישה של הרשת לשירותיםשל Cloud Run.
ברמת הרשת, אפשר להגיע לנקודת הקצה של של שירות Cloud Run מנתיבי תעבורת הנתונים הנכנסת הבאים ברשת:
- כתובות URL שמוגדרות כברירת מחדל ב-
s3nsrun.fr, שאפשר להשבית - כל מיפוי דומיינים שהוגדר
- כל מאזן עומסים חיצוני או פנימי של אפליקציות (ALB) שהוגדר
כל נתיבי תעבורת הנתונים הנכנסת ברשת כפופים להגדרת תעבורת הנתונים הנכנסת של המשאב. נתיבי ברירת המחדל לתעבורת נתונים נכנסת והגדרת ברירת המחדל לתעבורת נתונים נכנסת מאפשרים לכל משאב באינטרנט להגיע למשאב שלכם ב-Cloud Run. אתם יכולים להשתמש באילוץ בהתאמה אישית כדי להגביל את הגדרות התעבורה הנכנסת בארגון או בקבוצה של פרויקטים. אימות IAM עדיין חל על בקשות שמגיעות לנקודות הקצה של השירות מכל אחד מנתיבי הכניסה לרשת שצוינו למעלה. כדי לנהל את הגישה בגישה שכבתית, צריך להשתמש גם בהגדרות של תעבורת הנתונים הנכנסת ברשת וגם באימות של IAM.
משתמשים בתגי רשת כדי להגביל את הגישה של ה-VM של המחבר למשאבי VPC.
הגדרות זמינות של תעבורת נתונים נכנסת ברשת
אלה ההגדרות הזמינות:
| הגדרה | תיאור |
|---|---|
| פנימי |
הכי מגביל. מאפשרת בקשות מהמקורות הבאים:
s3nsrun.fr.
בקשות ממקורות אחרים, כולל מהאינטרנט, לא יכולות להגיע לשירות בכתובת ה-URL של s3nsrun.fr, בכתובת ה-URL המותאמת אישית או בדומיין המותאם אישית. |
| מאזני עומסים פנימיים ומאזני עומסים ב-Cloud | ההגדרה הזו מאפשרת בקשות מהמשאבים הבאים:
הערה: כדי להפעיל את ההגדרה הזו ב-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 שמוגדר כ-"Internal" או כ-"Internal and Cloud Load Balancers", תעבורת הנתונים צריכה לעבור דרך רשת 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) שרוצים לאפשר.
כדי ליצור שירות חדש, לוחצים על יצירה. לוחצים על View diff & redeploy ואז על Deploy changes בשירות קיים.
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 השירותים הבאים משתמשים בכתובת ה-URL שמוגדרת כברירת מחדל של s3nsrun.fr כדי להפעיל את Cloud Run. אם משביתים את כתובת ה-URL שמוגדרת כברירת מחדל ב-s3nsrun.fr, השירותים האלה לא יפעלו כמו שצריך:
- כתובת ה-URL של
cloudfunctions.netב-Cloud 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 שמוגדרת כברירת מחדל לשירותיםשל Cloud Run.
השבתת כתובת ה-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.
בכרטיס נקודות קצה, מבטלים את הסימון של הפעלה בקטע כתובת ה-URL של נקודת הקצה המוגדרת כברירת מחדל ל-HTTPS.
לוחצים על View diff & redeploy ואז על Deploy changes.
כדי לשחזר את כתובת ה-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
כברירת מחדל, הפקודה
gcloud run services replaceמשתמשת בקובץservice.yamlאם הוא קיים.
כדי לשחזר את כתובת ה-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 שלמעלה מציין שירות Cloud Run שבו כתובת ה-URL שמוגדרת כברירת מחדל מושבתת בגרסת טרום-השקה (Preview).
כדי לשחזר את כתובת ה-URL שמוגדרת כברירת מחדל, מסירים את הארגומנטים default_uri_disabled ו-launch_stage.
המאמרים הבאים
- מידע ולמידה על הגדרות תעבורת נתונים יוצאת
- מגדירים מאזן עומסים פנימי של אפליקציות (ALB) ל-Cloud Run.
- מגדירים שיטות אימות ב-IAM כדי לגשת לשירותים.