הוספת תגי רשת

תג הוא פשוט מחרוזת תווים שמוסיפים לשדה tags במשאב, כמו מכונות וירטואליות (VM) של Compute Engine או תבניות מכונה. תג הוא לא משאב נפרד, ולכן אי אפשר ליצור אותו בנפרד. כל המשאבים עם המחרוזת הזו נחשבים כמשאבים עם התג הזה. תגים מאפשרים להחיל כללים של חומת אש ונתיבים על מכונות וירטואליות ספציפיות.

אפשר להקצות תגי רשת למכונות וירטואליות חדשות בזמן היצירה, או לערוך את קבוצת התגים שהוקצו בכל שלב מאוחר יותר. אפשר לערוך תגי רשת בלי להפסיק מכונה וירטואלית.

מפרטים

תגי הרשת שאתם מקצים למופע חלים על כל ממשקי הרשת של המופע. תג רשת חל רק על רשתות VPC שמצורפות ישירות לממשקי הרשת של המכונה. זה נכון גם לגבי VPC Network Peering, כי רשתות שבוצע בהן Peering נשארות רשתות נפרדות. לכן, תגי הרשת עדיין רלוונטיים רק ברשת שאליה מחובר ממשק הרשת של המכונה.

תגי רשת חייבים להתחיל באות קטנה באנגלית, ויכולים להכיל אותיות קטנות באנגלית, מספרים ומקפים. תגיות חייבות להסתיים באות קטנה או במספר.

הרשאות

כדי לבצע את המשימות שמוסברות בדף הזה, צריך את התפקידים הבאים ב-IAM. פרטים נוספים זמינים במאמר תפקידי IAM ב-Compute Engine.

משימה התפקיד הנדרש
הקצאת תג רשת למכונה וירטואלית חדשה בזמן היצירה שלה פרויקט בעלים או עורך או אדמין של מכונות
הוספה או הסרה של תגי רשת למופעים קיימים
הוספה, הסרה או עריכה של כללים בחומת האש פרויקט בעלים או עריכה או אדמין לענייני אבטחה

מגבלות

המגבלות הבאות חלות על תגי רשת:

הגבלה ערך תיאור
מספר התגים המקסימלי לכל מכונה וירטואלית 64 כל התגים של מכונה וירטואלית צריכים להיות ייחודיים. אפשר להקצות עד 64 תגים שונים לכל מכונה וירטואלית.
מספר התווים המקסימלי לכל תג 63
תווים קבילים לתג אותיות קטנות, מספרים, מקפים בנוסף:
• התגים חייבים להתחיל באות קטנה.
• התגים חייבים להסתיים בספרה או באות קטנה.

כללים ומסלולים של חומת אש

תגי רשת מאפשרים להחיל כללי חומת אש ונתיבים על מופע ספציפי או על קבוצה של מופעים:

  • כדי להחיל כלל חומת אש על מקרים ספציפיים, משתמשים בתגי יעד ובתגי מקור.

  • כדי להחיל מסלול על מקרים ספציפיים, משתמשים בתג.

יעדים לכללי חומת אש

לכל כלל חומת אש ב- Google Cloud חייב להיות יעד שמגדיר את המופעים שבהם הוא חל. יעד ברירת המחדל הוא כל המופעים ברשת, אבל אפשר לציין מופעים כיעדים באמצעות תגי יעד או חשבונות שירות יעד.

תג היעד מגדיר את מכונות Google Cloud VM שעליהן חל הכלל. הכלל חל על רשת VPC ספציפית. היא חלה על כתובת ה-IP הפנימית הראשית שמשויכת לממשק הרשת של כל מכונה שמצורפת לרשת ה-VPC הזו, שיש לה תג רשת תואם.

לכללי חומת האש לתעבורת נתונים נכנסת ויוצאת יש יעדים:

  • כללי Ingress חלים על תעבורת נתונים שנכנסת לרשת ה-VPC. בכללים לתעבורת נתונים נכנסת, יעדי הטירגוט הם מכונות וירטואליות של יעד ב- Google Cloud.

  • כללי תעבורת נתונים יוצאת (egress) חלים על תעבורה שיוצאת מרשת ה-VPC. בכללים לתעבורת נתונים יוצאת (egress), יעדי המכונות הווירטואליות הם מקור ב- Google Cloud.

כדאי להגדיר כלל חומת אש שמאפשר תעבורת נתונים נכנסת (ingress) ביציאת TCP מספר 80 מכל מקור. תג היעד של הכלל הוא http-server. הכלל הזה יחול רק על מכונות שיש להן את תג הרשת http-server, כלומר תנועה נכנסת ביציאה 80 תורשה למכונות האלה.

מסנני מקור לכללי חומת אש לתעבורת נתונים נכנסת

כשיוצרים כללים לחומת אש של תעבורת נתונים נכנסת (ingress), צריך לציין מקור. אפשר להגדיר אותו באמצעות טווחים של כתובות IP פנימיות או כתובות IP חיצוניות, או באמצעות הפניה למופעים ספציפיים. מציינים את המופעים באמצעות תגי מקור או חשבונות שירות של מקור.

תג המקור של כלל חומת אש לתעבורת נתונים נכנסת (ingress) שמוחל על רשת VPC מגדיר את מקור התנועה ככתובת ה-IP הפנימית הראשית שמשויכת לממשק הרשת שמצורף לרשת ה-VPC הזו עבור כל מכונה שיש לה תג רשת תואם.

אפשר להשתמש בשילוב של טווחי כתובות IP ותגי מקור, או בשילוב של טווחי כתובות IP וחשבונות שירות של המקור. אי אפשר להשתמש גם בתגי רשת וגם בחשבונות שירות באותו כלל. מידע נוסף על תגי מקור וחשבונות שירות זמין במאמר בנושא סינון לפי חשבון שירות לעומת תג רשת.

לתשומת ליבכם

כשמשתמשים בכלל חומת אש של תעבורת נכנסת עם תגי מקור, יכול להיות שיהיה עיכוב בהפצה. העיכוב הזה הוא בדרך כלל של כמה שניות, אבל במקרים נדירים הוא יכול להיות של כמה דקות. כשמבצעים את השינויים הבאים, יכול לעבור זמן עד שכלל חומת האש של תעבורת נתונים נכנסת (ingress) יחול על מופע משויך או יוסר ממנו:

  • הפעלה או השבתה של מופע שיש לו תג שמשויך לתג המקור של כלל
  • הפעלה של מופע שיש לו תג שמשויך לתג היעד של כלל
  • הוספה או הסרה של תגים ממופע אם התגים משמשים בשדות המקור או היעד של כלל
  • הוספה או הסרה של תגי מקור או תגי יעד מכלל

השהיית ההפצה הזו חלה רק על כללי כניסה שמשתמשים בתגי מקור. כל שאר הכללים לחומת האש נכנסים לתוקף באופן מיידי במופע. לדוגמה, לכלל כניסה שמשתמש בטווח כתובות IP של מקור ובתגי יעד אין השהיית הפצה.

אינטראקציה עם מסלולים סטטיים

כשיוצרים מסלול סטטי, מציינים רשת VPC. אחר כך אפשר לציין תגים כדי שהמסלול יחול רק על תעבורת נתונים שנשלחת ממכונות וירטואליות עם תגים תואמים ברשת ה-VPC שצוינה.

הוספה, הצגה והסרה של תגים

אפשר לציין תגי רשת כשיוצרים מכונה וירטואלית. אפשר גם להוסיף תגים למכונה וירטואלית קיימת או להסיר ממנה תגים.

הוספת תגים כשיוצרים מכונה וירטואלית

המסוף

  1. נכנסים לדף VM instances.
    כניסה לדף VM instances
  2. לוחצים על Create instance.
  3. לוחצים על Management, security, disks, networking, sole tenancy כדי לפתוח את הקטע הזה.
  4. נכנסים לכרטיסייה Networking.
  5. בשדה Network tags מציינים תג אחד או יותר, מופרדים בפסיקים.
  6. ממלאים את שאר השדות של המכונה הווירטואלית.
  7. לוחצים על יצירה.

gcloud

כדי להקצות תגים חדשים למופע, משתמשים בפקודה gcloud הבאה.

gcloud compute instances create INSTANCE_NAME \
    --zone ZONE \
    --tags TAGS \
    ...other parameters as needed.

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_NAME: השם של המכונה.
  • ZONE: האזור של המכונה.
  • TAGS: רשימה מופרדת בפסיקים של תגים.

מידע נוסף מופיע בgcloudמאמרי העזרה.

Terraform

אתם יכולים להשתמש במשאב של Terraform כדי ליצור מכונה וירטואלית עם תגי רשת.

resource "google_compute_instance" "default" {
  project      = var.project_id # Replace this with your project ID in quotes
  zone         = "southamerica-east1-b"
  name         = "backend-instance"
  machine_type = "e2-medium"
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }
  network_interface {
    network = "default"
  }
  tags = ["health-check", "ssh"]
}

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

הוספת תגים למכונה וירטואלית קיימת

המסוף

  1. נכנסים לדף VM instances.
    כניסה לדף VM instances
  2. לוחצים על שם של מכונה.
  3. בדף פרטי מופע ה-VM, לוחצים על עריכה.
  4. בקטע Network tags, מציינים תג אחד או יותר, מופרדים בפסיקים.
  5. לוחצים על Save.

gcloud

כדי להקצות תגים חדשים למופע, משתמשים בפקודה gcloud הבאה.

gcloud compute instances add-tags INSTANCE_NAME \
    --zone ZONE \
    --tags TAGS

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_NAME: השם של המכונה.
  • ZONE: האזור של המכונה.
  • TAGS: רשימה מופרדת בפסיקים של תגים.

מידע נוסף מופיע בgcloudמאמרי העזרה.

הצגת תגים

המסוף

  1. נכנסים לדף VM instances.
    כניסה לדף VM instances
  2. בודקים את התגים בעמודה Network tags (תגי רשת).

    אם צריך, לוחצים על Column display options (אפשרויות להצגת עמודות) כדי להוסיף את העמודה Network tags (תגי רשת).

  3. כדי להציג מקרים שתויגו בתג ספציפי, בוחרים במסנן את המאפיין Network tags ומזינים את התגים שרוצים לסנן לפיהם.

gcloud

כדי להציג רשימה של מופעים עם התגים שלהם, מריצים את הפקודה הבאה:

gcloud compute instances list --format='table(name,status,tags.list())'

כדי להציג רשימה של מופעים שתויגו בתג ספציפי, מריצים את הפקודה הבאה:

gcloud compute instances list --filter='tags:TAG_EXPRESSION'

מחליפים את מה שכתוב בשדות הבאים:

  • TAG_EXPRESSION: הביטוי שרוצים לסנן. לדוגמה, tag1, tag1 OR tag2, tag1 AND tag2. מידע נוסף על סינון הפלט זמין במאמר gcloud topic filters.

הסרת תגים

המסוף

  1. נכנסים לדף VM instances.
    כניסה לדף VM instances
  2. לוחצים על שם של מכונה.
  3. בדף פרטי מופע ה-VM, לוחצים על עריכה.
  4. בקטע Network tags (תגים ברשת), מסירים תגים בלחיצה על סמל ההסרה (X).
  5. לוחצים על Save.

gcloud

כדי להסיר תגים ממופע, משתמשים בפקודה gcloud הבאה.

gcloud compute instances remove-tags INSTANCE_NAME \
    --zone ZONE \
    --tags TAGS

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_NAME: השם של המכונה.
  • ZONE: האזור של המכונה.
  • TAGS: רשימה מופרדת בפסיקים של תגים.

מידע נוסף מופיע בgcloudמאמרי העזרה.

בקשות API ישירות

אפשר להגדיר את תגי הרשת שמשויכים למכונה באמצעות בקשת API ישירה. בניגוד לעדכון תגים באמצעות Google Cloud המסוף או פקודות gcloudAPI, עדכון תגים באמצעות בקשת API ישירה לא משמר תגים קיימים. חשוב לוודא שאתם מציינים את כל התגים שצריכים להיות משויכים למופע כשאתם מעדכנים תגים בדרך הזו.

כדי לעדכן תגים באמצעות בקשת API ישירה:

  1. קובעים את טביעת האצבע האחרונה שמשויכת לתגים. טביעת האצבע משמשת למניעת התנגשויות מבקשות API בו-זמניות. תהליך העדכון של תגי רשת למכונה דומה לעדכון המטא-נתונים של המכונה.

    מבצעים בקשת GET למכונה, לדוגמה:

    GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance
    

    חפשו את המאפיין tags.fingerprint בתשובה:

    200 OK
    {
    ...
    "tags": {
     "items": [
     "http-server",
     "db-client"
     ],
     "fingerprint": "MW8EqhxILtc="
    },
    ...
    }
    

    אפשר גם להשתמש בפקודה gcloud כדי לקבל את fingerprint, כמו בדוגמה הבאה:

    gcloud compute instances describe INSTANCE_NAME \
       --zone ZONE \
       --format="get(tags.fingerprint)"
  2. שולחים בקשת POST אל ה-method‏ instance().setTags. גוף הבקשה צריך להכיל את כל התגים שצריך לשייך למופע, יחד עם הערך fingerprint.

    דוגמה לבקשה:

    POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/setTags
    {
     "items": [
      "http-server",
      "db-client",
      "allow-internet-access"
      ],
     "fingerprint": "MW8EqhxILtc="
    }
    

    דוגמה לתגובה:

    200 OK
    {
          "kind": "compute#operation",
          "id": "9251830049681941507",
          "name": "operation-1442414898862-51fde63aa57b1-422323e0-c439fb04",
          "zone": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f",
          "operationType": "setTags",
          "targetLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance",
          "targetId": "4392196237934605253",
          "status": "PENDING",
          "user": "user@example.com",
          "progress": 0,
    ...
    }
    

המאמרים הבאים