הוספת תגי רשת

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

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

מפרטים

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

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

הרשאות

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

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

מגבלות

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

לתשומת ליבכם

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

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

השהיית ההפצה הזו חלה רק על כללי כניסה שמשתמשים בתגי מקור. כל שאר הכללים לחומת האש נכנסים לתוקף באופן מיידי במופע. לדוגמה, לכלל תעבורה נכנסת שמשתמש בטווח כתובות 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 ישירה. בניגוד לעדכון תגים באמצעות פקודות של Cloud de Confiance המסוף או gcloud, עדכון תגים באמצעות בקשת API ישירה לא משמר תגים קיימים. חשוב לוודא שאתם מציינים את כל התגים שצריכים להיות משויכים למופע בכל פעם שאתם מעדכנים תגים בדרך הזו.

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

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

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

    GET https://compute.s3nsapis.fr/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.s3nsapis.fr/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,
    ...
    }
    

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