במדריך הזה מוסבר איך ליצור ולנהל תגים למשאבי Compute Engine. תג הוא צמד מפתח/ערך שאפשר לצרף לGoogle Cloud משאב. התגים משמשים למגוון מטרות, כולל:
- להגדיר תנאי לאישור או לדחייה של כללי מדיניות אם תג ספציפי מצורף או לא מצורף למשאב.
- הגדרת מקורות ויעדים במדיניות חומת אש בין רשתות גלובליות ובמדיניות חומת אש בין רשתות אזוריות.
- ארגון המשאבים באופן לוגי.
אחרי שיוצרים תג ומעניקים גישה מתאימה לתג ולמשאב, אפשר לצרף את התג כצמד מפתח/ערך. אפשר לצרף רק ערך אחד לכל משאב של מפתח נתון. לדוגמה, אם מצמידים את התג environment: development, אי אפשר להצמיד את התגים environment: production או environment: test. לכל משאב אפשר לצרף עד 50 צמדי מפתח/ערך.
כדי לצרף תגים למשאבים, צריך ליצור משאב של קישור תגים שמקשר את ערך התג ל Google Cloud משאב. מידע נוסף על תגים ועל אופן הפעולה שלהם זמין במסמך סקירה כללית על תגים.
לפני שמתחילים
- אפשר לקרוא את הסקירה הכללית על תגים במאמרי העזרה של Resource Manager.
- במאמר יצירה וניהול של תגים במאמרי העזרה של Resource Manager מוסבר בהרחבה על תגים.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירה ולניהול של תגים למשאבי Compute Engine, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בארגון או בפרויקט:
- Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) -
כדי ליצור ולנהל תגים:
תפקיד Tag Administrator (
roles/resourcemanager.tagAdmin) -
כדי לנהל תגים קיימים:
Tag User (
roles/resourcemanager.tagUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות ליצירה ולניהול של תגים למשאבי Compute Engine. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור ולנהל תגים למשאבי Compute Engine, נדרשות ההרשאות הבאות:
-
הצגת התגים:
-
resourcemanager.tagKeys.get -
resourcemanager.tagKeys.list -
resourcemanager.tagValues.list -
resourcemanager.tagValues.get -
compute.instances.listTagBindings -
compute.instances.listEffectiveTags -
resourcemanager.projects.get
-
-
יוצרים תגים:
-
resourcemanager.tagKeys.create -
resourcemanager.tagValues.create -
resourcemanager.tagKeys.setIamPolicy -
resourcemanager.tagValues.setIamPolicy
-
-
ניהול תגים:
-
resourcemanager.tagKeys.update -
resourcemanager.tagValues.update -
resourcemanager.tagKeys.delete -
resourcemanager.tagValues.delete -
resourcemanager.tagKeys.getIamPolicy -
resourcemanager.tagValues.getIamPolicy -
resourcemanager.tagKeys.setIamPolicy -
resourcemanager.tagValues.setIamPolicy
-
-
כדי להוסיף או להסיר תגים למופע של מכונת חישוב:
-
compute.instances.createTagBinding -
compute.instances.deleteTagBinding -
resourcemanager.tagValueBindings.create -
resourcemanager.tagValueBindings.delete
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
משאבים נתמכים
Compute Engine תומך בתיוג של המשאבים הבאים:
רק אחרי יצירת המשאב:
- קבוצות של מופעי מכונה מנוהלים (MIG)
- בדיקות תקינות
גם במהלך יצירת המשאב וגם אחרי היצירה:
- מכונות וירטואליות (VM)
- דיסקים
- תמונות
- תמונות מצב
- רשתות VPC
- רשתות משנה של VPC
- כללי חומת אש ב-VPC
- מסלולי VPC
- Cloud Routers
הוספת תגים למשאב
אפשר לצרף תגים קיימים למשאבים מסוימים. אחרי שהמשאב נוצר, מצמידים לו תגים באמצעות ההוראות הבאות.
המסוף
השלבים המדויקים עשויים להשתנות בהתאם לסוג המשאב. לדוגמה, השלבים הבאים מצרפים תג למכונה וירטואלית:
נכנסים לדף VM instances במסוף Google Cloud .
בוחרים פרויקט ולוחצים על המשך.
בעמודה Name (שם), לוחצים על שם המכונה הווירטואלית שרוצים להוסיף לה תגים.
בדף הפרטים של המכונה הווירטואלית, מבצעים את השלבים הבאים:
- לוחצים על Edit.
- בקטע מידע בסיסי, לוחצים על ניהול תגים ומוסיפים את התגים הרצויים למופע.
- לוחצים על Save.
gcloud
במאמר צירוף תגים למשאבים שבמסמכי Resource Manager מוסבר איך להשתמש בדגלים האלה.
לדוגמה, הפקודה הבאה מצרפת תג למכונה וירטואלית:
gcloud resource-manager tags bindings create \
--location=LOCATION_NAME \
--tag-value=tagValues/TAGVALUE_ID \
--parent=FULL_RESOURCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: האזור שבו נמצאת המכונה. למשאב גלובלי, משמיטים את הדגל--location. -
TAGVALUE_ID: המזהה המספרי של ערך התג
FULL_RESOURCE_NAME: שם המשאב המלא של משאב היעד. בדוגמה הזו, שם המשאב המלא של מכונת ה-VM://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: המזהה המספרי של הפרויקט שמכיל את משאב היעד -
ZONE: האזור שבו נמצאת המכונה -
INSTANCE_ID: מזהה המופע של המכונה הווירטואלית
-
REST
כדי לצרף תג למשאב, קודם צריך ליצור ייצוג JSON של קישור תג שכולל את המזהה הקבוע או את שם מרחב השמות של ערך התג ואת המזהה הקבוע של המשאב. למידע נוסף על הפורמט של קישור תגים, אפשר לעיין בחומר העזר בנושא קישור תגים.
כדי לצרף את התג למשאב של תחום מוגדר, כמו מכונה וירטואלית, משתמשים בשיטה tagBindings.create עם נקודת הקצה האזורית שבה נמצא המשאב. לדוגמה:
POST https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/tagBindings
גוף הבקשה יכול להיות אחת משתי האפשרויות הבאות:
{
"parent": "FULL_RESOURCE_NAME",
"tagValue": "tagValue/TAGVALUE_ID"
}
{
"parent": "FULL_RESOURCE_NAME",
"tagValueNamespacedName": TAGVALUE_NAMESPACED_NAME
}מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: המיקום של המשאב באזור או באזור משנה. למכונת VM, מציינים את האזור. למשאב גלובלי, משמיטים את הפרמטרLOCATION_NAME-
FULL_RESOURCE_NAME: שם המשאב המלא של משאב היעד. בדוגמה הזו, שם המשאב המלא של מכונת ה-VM://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: המזהה המספרי של הפרויקט שמכיל את משאב היעד -
ZONE: האזור שבו נמצאת המכונה -
INSTANCE_ID: מזהה המופע של המכונה הווירטואלית
-
TAGVALUE_ID: המזהה הקבוע של ערך התג שמצורף. לדוגמה:4567890123
TAGVALUE_NAMESPACED_NAME: שם מרחב השמות של ערך התג שמצורף, בפורמט:parentNamespace/tagKeyShortName/tagValueShortName
הוספת תגים למשאב במהלך יצירת המשאב
בתרחישים מסוימים, יכול להיות שתרצו לתייג משאבים במהלך יצירת המשאבים, ולא אחרי שהמשאב נוצר.
המסוף
השלבים המדויקים עשויים להשתנות בהתאם לסוג המשאב. השלבים הבאים מיועדים למכונה וירטואלית:
נכנסים לדף VM instances במסוף Google Cloud .
בוחרים פרויקט ולוחצים על המשך.
לוחצים על Create instance. הדף Create an instance מופיע ובו החלונית Machine configuration.
בתפריט הניווט, לוחצים על מתקדם. בחלונית Advanced שמופיעה, מבצעים את הפעולות הבאות:
- מרחיבים את הקטע ניהול תגים ותוויות.
- לוחצים על הוספת תגים.
- בחלונית Tags (תגים) שנפתחת, פועלים לפי ההוראות כדי להוסיף תג למופע.
- לוחצים על Save.
מציינים אפשרויות הגדרה אחרות למופע. מידע נוסף זמין במאמר אפשרויות הגדרה במהלך יצירת מכונה.
כדי ליצור את המכונה הווירטואלית ולהפעיל אותה, לוחצים על Create.
gcloud
כדי לצרף תג למשאב במהלך יצירת המשאב, מוסיפים את הדגל --resource-manager-tags לפקודה המתאימה create. לדוגמה, כדי לצרף תג למכונה וירטואלית, משתמשים בפקודה הבאה:
gcloud compute instances create INSTANCE_NAME \
--zone=ZONE \
--resource-manager-tags=tagKeys/TAGKEY_ID=tagValues/TAGVALUE_IDמחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של מופע ה-VM -
ZONE: האזור שמכיל את המופע של המכונה הווירטואלית -
TAGKEY_ID: המזהה המספרי של מפתח התג -
TAGVALUE_ID: המזהה המספרי הקבוע של ערך התג שמצורף – לדוגמה:4567890123
כדי לציין כמה תגים, מפרידים ביניהם באמצעות פסיק, למשל,
TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2.
REST
שולחים בקשת POST לכתובת ה-URL הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances
כוללים את תוכן בקשת ה-JSON הבא:
{
"name": INSTANCE_NAME,
"params": {
"resourceManagerTags": {
"tagKeys/TAGKEY_ID": "tagValues/TAGVALUE_ID",
},
}
// other fields omitted
}מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של מופע ה-VM -
TAGKEY_ID: המזהה המספרי של מפתח התג -
TAGVALUE_ID: המזהה המספרי הקבוע של ערך התג שמצורף – לדוגמה:4567890123
שימוש בתגים עם כללים לחומת אש
כדי לאפשר תנועת רשת למכונה ספציפית של Compute Engine בצורה מאובטחת, אפשר להחיל על המכונה תג רשת או תג מאובטח. לאחר מכן, תוכלו ליצור כלל בחומת האש שמכוון לתג הזה. האפשרות הזו שימושית לניהול גישה למופעים שלכם בהיקף גדול.
לדוגמה, נניח שיש לכם מופע חישוב שמריץ שרת אינטרנט, ויצרתם אפליקציית אינטרנט חדשה שצריכה להיות נגישה לציבור ביציאת HTTP רגילה (80). אפשר להשתמש בתג רשת או בתג מאובטח כדי להטמיע כלל חומת אש שמעניק גישת HTTP רק למופע החישוב שבו פועל שרת האינטרנט.
הוראות ליצירת תגים לשימוש במדיניות של חומת אש מפורטות במאמרים הבאים:
- כדי להשתמש בתגי רשת עם כללי חומת אש של VPC, אפשר לעיין במאמר בנושא הוספת תגי רשת.
- כדי להשתמש בתגים מאובטחים עם מדיניות חומת אש היררכית, מדיניות חומת אש בין רשתות גלובלית ואזורית, או כדי להשתמש במקורות שמחוברים באמצעות VPC Network Peering, אפשר לעיין במאמר בנושא יצירה וניהול של תגים מאובטחים.
מידע על השימוש בחשבונות שירות או בתגי רשת כדי להגדיר יעדים ומקורות לכללי כניסה לרשת זמין במאמר סינון לפי חשבון שירות לעומת תג רשת.
ניתוק תג ממשאב
כדי לבטל את הקישור של תג ממשאב, צריך למחוק את משאב קישור התגים.
הוראות להסרת תגים מופיעות במאמר הסרת תג ממשאב בתיעוד של מנהל המשאבים.
המסוף
השלבים המדויקים עשויים להיות שונים בהתאם לסוג המשאב. לדוגמה, השלבים הבאים מנתקים תג ממכונה וירטואלית:
נכנסים לדף VM instances במסוף Google Cloud .
בוחרים פרויקט ולוחצים על המשך.
בעמודה Name (שם), לוחצים על שם המכונה שרוצים להסיר ממנה תגים.
בדף הפרטים של המכונה הווירטואלית, מבצעים את השלבים הבאים:
- לוחצים על Edit.
- בקטע Basic information (מידע בסיסי) של תגים לניהול משאבים, לוחצים על Manage Tags (ניהול תגים). מסירים את התגים שרוצים מהמופע. אפשר להסיר רק תגים שנוספו ישירות למופע.
- בקטע Networking (רשת), מסירים את התג מהרשימה Network tags (תגי רשת).
- לוחצים על Save.
gcloud
כדי לנתק תג ממכונת Compute, משתמשים בפקודה resource-manager tags bindings delete:
gcloud resource-manager tags bindings delete \
--location=LOCATION_NAME \
--tag-value=tagValues/TAGVALUE_ID \
--parent=FULL_RESOURCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: האזור שבו נמצאת המכונה. למשאב גלובלי, משמיטים את הדגל--location=LOCATION_NAME \ -
TAGVALUE_ID: המזהה המספרי של ערך התג
FULL_RESOURCE_NAME: שם המשאב המלא של משאב היעד. בדוגמה הזו, שם המשאב המלא של המופע://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: המזהה המספרי של הפרויקט שמכיל את משאב היעד -
ZONE: האזור שבו נמצאת המכונה -
INSTANCE_ID: מזהה המופע
-
כדי לעדכן או להחליף קישור תגים קיים בקישור אחר, צריך לבטל את הקישור הישן ולצרף את הקישור החדש.
REST
כדי למחוק קישור תג שצורף למשאב, כמו מכונת מחשוב, משתמשים בשיטה tagBindings.delete עם נקודת הקצה האזורית שבה נמצא המשאב.
DELETE https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: המיקום של המשאב באזור או באזור משנה. לדוגמה, מציינים את האזור של מכונה. למשאב גלובלי, משמיטים את הפרמטרLOCATION_NAME- -
TAGBINDINGS_NAME: המזהה הקבוע של TagBinding. לדוגמה:tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F1234567890/tagValues/567890123456
איך רואים את התגים שמצורפים למשאב
הוראות מפורטות לגבי הצגת רשימה של תגים זמינות במאמר הצגת רשימה של כל התגים שמצורפים למשאב במאמרי העזרה של מנהל המשאבים.
המסוף
השלבים המדויקים עשויים להיות שונים בהתאם לסוג המשאב. לדוגמה, השלבים הבאים מראים איך לצפות בתגים של מופע של מכונת VM:
נכנסים לדף VM instances במסוף Google Cloud .
בוחרים פרויקט ולוחצים על המשך.
בעמודה Name (שם), לוחצים על השם של המופע שרוצים לראות את התגים שלו.
בדף הפרטים של המכונה הווירטואלית, מחפשים תגים בקטע תגים.
gcloud
כדי לקבל רשימה של תגי tag bindings שמצורפים ישירות למשאב, משתמשים בפקודה gcloud resource-manager tags bindings list. אם מוסיפים את הדגל --effective, הפונקציה מחזירה גם רשימה של תגים שהמשאב הזה ירש מההורה שלו. לדוגמה:
gcloud resource-manager tags bindings list \
--location=LOCATION_NAME \
--parent=FULL_RESOURCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: האזור שבו נמצאת המכונה. למשאב גלובלי, משמיטים את הדגל.--location=LOCATION_NAME \
FULL_RESOURCE_NAME: שם המשאב המלא של משאב היעד. בדוגמה הזו, שם המשאב המלא של המופע://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: המזהה המספרי של הפרויקט שמכיל את משאב היעד -
ZONE: האזור שבו נמצאת המכונה -
INSTANCE_ID: מזהה המופע
-
אם מוסיפים את הדגל --effective לפקודה tags bindings list, מקבלים גם רשימה של כל התגים שהמשאב הזה קיבל בירושה.
הפלט אמור להיראות כך:
namespacedTagKey: 961309089256/environment namespacedTagValue: 961309089256/environment/production tagKey: tagKeys/417628178507 tagValue: tagValues/247197504380 inherited: true
אם כל התגים שמוערכים במשאב מצורפים ישירות, השדה inherited הוא false ומושמט.
REST
כדי להציג רשימה של צירופי תגים שמצורפים למשאב אזורי, כמו מכונות של Compute Engine, משתמשים בשיטה tagBindings.list עם נקודת הקצה האזורית שבה נמצא המשאב. לדוגמה:
GET https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/tagBindings
{
"parent": "FULL_RESOURCE_NAME"
}
מחליפים את מה שכתוב בשדות הבאים:
-
LOCATION_NAME: המיקום של המשאב באזור או באזור משנה. לדוגמה, מציינים את האזור של מכונה. למשאב גלובלי, משמיטים את הפרמטרLOCATION_NAME-
FULL_RESOURCE_NAME: שם המשאב המלא של משאב היעד. בדוגמה הזו, שם המשאב המלא של המופע://compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: המזהה המספרי של הפרויקט שמכיל את משאב היעד -
ZONE: האזור שבו נמצאת המכונה -
INSTANCE_ID: מזהה המופע
-