הגדרת מחברים בפרויקט המארח של ה-VPC המשותף
אם בארגון שלכם משתמשים ב-VPC משותף, אתם יכולים להגדיר מחברי חיבור לרשת (VPC) מאפליקציית serverless בפרויקט השירות או בפרויקט המארח. במדריך הזה מוסבר איך להגדיר מחבר בפרויקט המארח.
אם אתם צריכים להגדיר מחבר בפרויקט שירות, תוכלו לעיין במאמר הגדרת מחברים בפרויקטים של שירותים. במאמר התחברות לרשת VPC משותפת מוסבר על היתרונות של כל שיטה.
לפני שמתחילים
בדקו את התפקידים בניהול הזהויות והרשאות הגישה (IAM) בחשבון שבו אתם משתמשים כרגע. לחשבון הפעיל צריכים להיות התפקידים הבאים בפרויקט המארח:
בוחרים את פרויקט המארח בסביבה המועדפת.
המסוף
פותחים את לוח הבקרה במסוף Google Cloud .
כניסה ללוח הבקרה של המסוף Google Cloud
בסרגל התפריטים בחלק העליון של לוח הבקרה, לוחצים על התפריט הנפתח של הפרויקט ובוחרים את פרויקט המארח.
gcloud
מגדירים את פרויקט ברירת המחדל ב-CLI של gcloud לפרויקט המארח על ידי הרצת הפקודה הבאה במסוף:
gcloud config set project HOST_PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
HOST_PROJECT_ID: המזהה של פרויקט המארח של ה-VPC המשותף
יצירת מחבר של חיבור לרשת (VPC) מאפליקציית serverless
כדי לשלוח בקשות לרשת ה-VPC ולקבל את התגובות המתאימות, צריך ליצור מחבר של חיבור לרשת (VPC) מאפליקציית serverless. אפשר ליצור מחבר באמצעות מסוף Google Cloud , Google Cloud CLI או Terraform:
המסוף
מפעילים בפרויקט את Serverless VPC Access API.
עוברים לדף הסקירה הכללית של חיבור לרשת (VPC) מאפליקציית serverless.
לוחצים על יצירת מחבר.
בשדה Name, מזינים שם למחבר. השם צריך להיות בהתאם למוסכמות למתן שמות ב-Compute Engine, ואורכו צריך להיות פחות מ-21 תווים. מקפים (
-) נספרים כשני תווים.בשדה Region (אזור), בוחרים אזור למחבר. האזור הזה צריך להיות זהה לאזור של השירות ללא שרתים.
אם השירות שלכם נמצא באזור
us-centralאוeurope-west, אתם צריכים להשתמש ב-us-central1או ב-europe-west1.בשדה רשת, בוחרים את רשת ה-VPC שאליה רוצים לצרף את המחבר.
לוחצים על התפריט הנפתח רשת משנה:
בוחרים רשת משנה
/28שלא נמצאת בשימוש.- רשתות המשנה צריכות לשמש אך ורק את המחבר. אי אפשר להשתמש בהם במשאבים אחרים כמו מכונות וירטואליות, Private Service Connect או מאזני עומסים.
- כדי לוודא שלא נעשה שימוש ברשת המשנה עבור Private Service Connect או Cloud Load Balancing, מריצים את הפקודה הבאה ב-CLI של gcloud כדי לבדוק שהרשת המשנה
purposeהיאPRIVATE: מחליפים אתgcloud compute networks subnets describe SUBNET_NAME
SUBNET_NAMEבשם של רשת המשנה.
(אופציונלי) כדי להגדיר אפשרויות שינוי גודל לשליטה נוספת במחבר, לוחצים על הצגת הגדרות שינוי גודל כדי להציג את טופס שינוי הגודל.
- מגדירים את מספר המכונות המינימלי והמקסימלי למחבר, או משתמשים בערכי ברירת המחדל: 2 (מינימום) ו-10 (מקסימום). המחבר מתרחב עד למקסימום שצוין ככל שהתנועה גדלה, אבל הוא לא מצטמצם כשהתנועה פוחתת. הערכים צריכים להיות בין
2ל-10, והערך שלMINצריך להיות קטן מהערך שלMAX. - בתפריט הנפתח Instance Type, בוחרים את סוג המכונה שבה ישמש המחבר, או משתמשים בברירת המחדל
e2-micro. שימו לב לסרגל הצד של העלויות משמאל כשבוחרים את סוג המופע. בסרגל מוצגים אומדנים של רוחב הפס והעלויות.
- מגדירים את מספר המכונות המינימלי והמקסימלי למחבר, או משתמשים בערכי ברירת המחדל: 2 (מינימום) ו-10 (מקסימום). המחבר מתרחב עד למקסימום שצוין ככל שהתנועה גדלה, אבל הוא לא מצטמצם כשהתנועה פוחתת. הערכים צריכים להיות בין
לוחצים על יצירה.
כשמחבר מוכן לשימוש, יופיע סימן וי ירוק ליד השם שלו.
gcloud
מעדכנים את הרכיבים של
gcloudלגרסה האחרונה:gcloud components update
מפעילים בפרויקט את Serverless VPC Access API:
gcloud services enable vpcaccess.googleapis.com
יוצרים מחבר של חיבור לרשת (VPC) מאפליקציית serverless:
gcloud compute networks vpc-access connectors create CONNECTOR_NAME \ --region=REGION \ --subnet=SUBNET \ --subnet-project=HOST_PROJECT_ID \ # Optional: specify minimum and maximum instance values between 2 and 10, default is 2 min, 10 max. --min-instances=MIN \ --max-instances=MAX \ # Optional: specify machine type, default is e2-micro --machine-type=MACHINE_TYPE
מחליפים את מה שכתוב בשדות הבאים:
-
CONNECTOR_NAME: שם לחיבור. השם צריך לעמוד במוסכמות למתן שמות ב-Compute Engine, והאורך שלו צריך להיות פחות מ-21 תווים. מקפים (-) נספרים כשני תווים. -
REGION: אזור לחיבור. האזור הזה צריך להיות זהה לאזור של שירות ללא שרת. אם השירות שלכם נמצא באזורus-centralאוeurope-west, צריך להשתמש ב-us-central1או ב-europe-west1. -
SUBNET: השם של תת-רשת/28שלא נמצאת בשימוש.- רשתות המשנה צריכות לשמש אך ורק את המחבר. אי אפשר להשתמש בהם במשאבים אחרים כמו מכונות וירטואליות, Private Service Connect או מאזני עומסים.
- כדי לוודא שרשת המשנה לא משמשת ל-Private Service Connect או ל-Cloud Load Balancing, מריצים את הפקודה הבאה ב-CLI של gcloud כדי לבדוק שרשת המשנה
purposeהיאPRIVATE: מחליפים את מה שכתוב בשדות הבאים:gcloud compute networks subnets describe SUBNET_NAME
-
SUBNET_NAME: השם של תת-הרשת
-
-
HOST_PROJECT_ID: המזהה של פרויקט המארח -
MIN: מספר המינימום של המופעים לשימוש במחבר. צריך להשתמש במספר שלם בין2ל-9. ערך ברירת המחדל הוא2. מידע על שינוי גודל המחבר זמין במאמר קצב העברת נתונים ושינוי גודל. -
MAX: המספר המקסימלי של מופעים לשימוש במחבר. צריך להשתמש במספר שלם בין3ל-10. ערך ברירת המחדל הוא10. אם התנועה דורשת זאת, המחבר מתרחב ל-[MAX]מופעים, אבל לא מצטמצם. מידע על שינוי גודל המחבר זמין במאמר קצב העברת נתונים ושינוי גודל. MACHINE_TYPE:f1-micro,e2-microאוe2-standard-4. מידע על קצב העברת הנתונים של המחבר, כולל סוג המכונה והתאמת קנה מידה, זמין במאמר קצב העברת נתונים והתאמת קנה מידה.
פרטים נוספים וארגומנטים אופציונליים מופיעים במאמר
gcloud.-
לפני שמשתמשים במחבר, מוודאים שהוא במצב
READY:gcloud compute networks vpc-access connectors describe CONNECTOR_NAME \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
CONNECTOR_NAME: השם של מחבר הנתונים. זהו השם שציינתם בשלב הקודם -
REGION: האזור של המחבר. זהו האזור שציינתם בשלב הקודם
הפלט צריך לכלול את השורה
state: READY.-
Terraform
אפשר להשתמש במשאב של Terraform כדי להפעיל את vpcaccess.googleapis.com API.
אתם יכולים להשתמש במודולים של Terraform כדי ליצור רשת VPC ותת-רשת, ואז ליצור את המחבר.
הפעלת פונקציות של Cloud Run בפרויקט השירות
מפעילים את Cloud Run functions API בפרויקט השירות. הפעולה הזו נדרשת כדי להוסיף תפקידי IAM בשלבים הבאים וכדי שפרויקט השירות יוכל להשתמש בפונקציות Cloud Run.
המסוף
פותחים את הדף של Cloud Run functions API.
בסרגל התפריטים בחלק העליון של לוח הבקרה, לוחצים על התפריט הנפתח של הפרויקט ובוחרים את פרויקט השירות.
לוחצים על Enable.
gcloud
מריצים את הפקודה הבאה בטרמינל:
gcloud services enable cloudfunctions.googleapis.com --project=SERVICE_PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_PROJECT_ID: המזהה של פרויקט השירות
מתן גישה למחבר
כדי לתת גישה למחבר, צריך להקצות לפרויקט השירות בפרויקט המארח את תפקיד ה-IAM Cloud Run functions Service Agent Serverless VPC Access User.
המסוף
פותחים את דף IAM.
לוחצים על התפריט הנפתח של הפרויקט ובוחרים את פרויקט המארח.
לוחצים על הענקת גישה.
בשדה New principals, מזינים את כתובת האימייל של סוכן השירות של Cloud Run functions עבור פרויקט השירות:
service-SERVICE_PROJECT_NUMBER@gcf-admin-robot.iam.gserviceaccount.com
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_PROJECT_NUMBER: מספר הפרויקט שמשויך לפרויקט השירות. זה שונה ממזהה הפרויקט. אפשר לראות את מספר הפרויקט בדף Project Settings של פרויקט השירות במסוףGoogle Cloud .
-
בשדה תפקיד, בוחרים באפשרות משתמש של חיבור לרשת (VPC) מאפליקציית serverless.
לוחצים על Save.
gcloud
מריצים את הפקודה הבאה בטרמינל:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=serviceAccount:service-SERVICE_PROJECT_NUMBER@gcf-admin-robot.iam.gserviceaccount.com \ --role=roles/vpcaccess.user
מחליפים את מה שכתוב בשדות הבאים:
-
HOST_PROJECT_ID: המזהה של פרויקט המארח של ה-VPC המשותף
SERVICE_PROJECT_NUMBER: מספר הפרויקט שמשויך לפרויקט השירות. זה שונה ממזהה הפרויקט. כדי למצוא את מספר הפרויקט, מריצים את הפקודה הבאה:gcloud projects describe SERVICE_PROJECT_ID
-
הגדרת המחבר כך שיהיה ניתן לגלות אותו
במדיניות ה-IAM של פרויקט המארח, צריך להקצות את שני התפקידים המוגדרים מראש הבאים לחשבונות הראשיים שמבצעים פריסה של שירותי Cloud Run:
- בעל הרשאת צפייה בחיבור לרשת (VPC) מאפליקציית serverless (
vpcaccess.viewer): חובה. - צפייה ברשת Compute (
compute.networkViewer): אופציונלי, אבל מומלץ. מאפשר לישות ה-IAM למנות רשתות משנה ברשת ה-VPC המשותפת.
לחלופין, אפשר להשתמש בתפקידים בהתאמה אישית או בתפקידים מוגדרים מראש אחרים שכוללים את כל ההרשאות של התפקיד 'צפייה בחיבור לרשת (VPC) מאפליקציית serverless' (vpcaccess.viewer).
המסוף
פותחים את דף IAM.
לוחצים על התפריט הנפתח של הפרויקט ובוחרים את פרויקט המארח.
לוחצים על הענקת גישה.
בשדה New principals, מזינים את כתובת האימייל של חשבון המשתמש שצריכה להיות לו אפשרות לראות את המחבר מפרויקט השירות. אפשר להזין כמה כתובות אימייל בשדה הזה.
בשדה תפקיד, בוחרים את שני התפקידים הבאים:
- בעל הרשאת צפייה בחיבור לרשת (VPC) מאפליקציית serverless
- צפייה ברשת Compute
לוחצים על Save.
gcloud
מריצים את הפקודות הבאות בטרמינל:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/vpcaccess.viewer gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/compute.networkViewer
מחליפים את מה שכתוב בשדות הבאים:
-
HOST_PROJECT_ID: המזהה של פרויקט המארח של ה-VPC המשותף -
PRINCIPAL: חשבון המשתמש שפורס שירותים של Cloud Run. מידע נוסף על הדגל--member
הגדרת הפונקציה לשימוש במחבר
לכל פונקציה שנדרשת לה גישה ל-VPC המשותף, צריך לציין את המחבר של הפונקציה. בשלבים הבאים מוסבר איך להגדיר את הפונקציה כך שתשתמש במחבר.
המסוף
פותחים את דף הסקירה הכללית של Cloud Run functions.
לוחצים על התפריט הנפתח של הפרויקט ובוחרים את פרויקט השירות.
לוחצים על יצירת פונקציה. לחלופין, לוחצים על פונקציה קיימת כדי לעבור לדף הפרטים שלה, ואז לוחצים על עריכה.
לוחצים על Runtime, build... כדי להרחיב את ההגדרות המתקדמות.
בכרטיסייה Connections בקטע Egress settings, בוחרים את המחבר בשדה VPC connector.
gcloud
מגדירים את ה-CLI של gcloud לשימוש בפרויקט שמכיל את הפונקציה:
מחליפים את מה שכתוב בשדות הבאים:gcloud config set project PROJECT_ID
-
PROJECT_ID: מזהה הפרויקט שמכיל את הפונקציה שנדרשת לה גישה ל-VPC המשותף. אם הפונקציה נמצאת בפרויקט המארח, זהו מזהה הפרויקט המארח. אם הפונקציה נמצאת בפרויקט שירות, זהו מזהה פרויקט השירות.
-
משתמשים בדגל
--vpc-connectorופורסים את הפונקציה:gcloud functions deploy FUNCTION_NAME --vpc-connector=CONNECTOR_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
FUNCTION_NAME: השם של הפונקציה -
CONNECTOR_NAME: השם של המחבר. משתמשים בשם המוגדר במלואו כשמבצעים פריסה מפרויקט שירות של VPC משותף (בניגוד לפרויקט המארח), לדוגמה: כאשרprojects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME
HOST_PROJECT_IDהוא מזהה פרויקט המארח,CONNECTOR_REGIONהוא האזור של המחבר ו-CONNECTOR_NAMEהוא השם שנתתם למחבר.
כדי לקבל שליטה רבה יותר בבקשות שמועברות דרך המחבר, אפשר לעיין במאמר בנושא הגדרות יציאה.
השלבים הבאים
- מתחברים ל-Memorystore מפונקציות Cloud Run.
- הגדרת הגדרות רשת לפונקציות של Cloud Run.
- עוקבים אחרי פעילות האדמין באמצעות יומני ביקורת של חיבור לרשת (VPC) מאפליקציית serverless.
- כדי להגן על משאבים ונתונים, אפשר ליצור גבול גזרה לשירות באמצעות VPC Service Controls.
- מידע על תפקידים בניהול זהויות והרשאות גישה (IAM) שמשויכים לחיבור לרשת (VPC) מאפליקציית serverless במאמר תפקידים ב-Serverless VPC Access במסמכי התיעוד של IAM מופיעה רשימת ההרשאות שמשויכות לכל תפקיד.