שימוש ברפליקציה של חבילות נתונים

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

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

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

מגבלות

  • רפליקציה של חבילות נתונים לא יכולה לשכפל חבילות נתונים עבור תעבורת נתונים של שירותים שפורסמו ב-Private Service Connect.

  • מטעמי אבטחה, רפליקציה של חבילות נתונים לא משכפלת חבילות שנשלחות לטווח כתובות ה-IP המקומיות של הקישור 169.254.0.0/16. הטווח הזה כולל בקשות למטא-נתונים ממכונה וירטואלית לשרת המטא-נתונים שלה.

  • אין תמיכה בשימוש בשירות LoadBalancer של Google Kubernetes Engine ‏ (GKE) ככלי לאיסוף נתונים של שיקוף מנות.

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

  • כשחבילות נתונים משוכפלות, Google Cloud מעבד גם את החבילות המקוריות וגם את החבילות המשוכפלות, ולכן קצב עיבוד חבילות הנתונים יורד. קצב עיבוד המנות של התעבורה המשולבת דומה לקצב תעבורת הנתונים היוצאת (egress) מחוץ לרשת VPC, ותלוי בגורמים הבאים:

    • סוג המכונה וניצול יחידת העיבוד המרכזית (CPU) של המכונה הווירטואלית המשוכפלת.
    • גודל החבילה של התנועה המשוכפלת.
  • כשחבילות נתונים ברשת תואמות למדיניות רפליקציה כלשהי, רפליקציה של חבילות נתונים מעבדת גם את החבילות המקוריות וגם את החבילות המשוכפלות, אבל בקצב איטי יותר. הקצב המשולב של עיבוד המנות תלוי ב סוג מכונה, בגודל המנות וב שימוש במעבד, והוא דומה בערך לקצב ה תעבורת נתונים יוצאת (egress) מחוץ ל רשת VPC.

לפני שמתחילים

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

הרשאות

כדי ליצור ולנהל מדיניות רפליקציה של חבילות נתונים, Google Cloud מספק שתי הרשאות שקשורות לרפליקציה של חבילות נתונים:

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

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

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

יצירת מופעים של כלי האיסוף

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

יצירת מאזן עומסים פנימי ל-Packet Mirroring

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

  • כשיוצרים את כלל ההעברה של מאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי, צריך להפעיל את רפליקציה של חבילות נתונים. אי אפשר לשנות את הסטטוס הזה אחרי שיוצרים את הכלל. אתם יכולים להשתמש בכלל ההעברה הזה כדי לאסוף תנועת גולשים ב-IPv4 וב-IPv6.
  • מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי נמצא באותו אזור כמו המכונות שאתם משכפלים.
  • שירות לקצה העורפי של מאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי חייב להשתמש בזיקה לסשן (session affinity) של NONE (hash של 5 טאפלים).
  • השירות לקצה העורפי של מאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי צריך להיות עם חלוקת משנה לקצה העורפי מושבתת.

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

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

הגדרת כללים לחומת אש

כדי להכין את רשת ה-VPC לתנועה של רפליקציית חבילות נתונים, צריך לבצע את הפעולות הבאות:

  • מוודאים שמכונות האיסוף בקבוצת המכונות של מאזן העומסים יכולות לקבל תעבורה ממכונות משוכפלות או מטווח כתובות IPv4 ו-IPv6 של מכונות משוכפלות. לדוגמה, כדי לאפשר למכונות של Collector לקבל תעבורת IPv4 מכל מכונה וירטואלית, יוצרים כלל חומת אש עם טווח כתובות IPv4 של מקור 0.0.0.0/0. כדי לאפשר למופעי איסוף לקבל תעבורת IPv6 מכל מכונה וירטואלית, צריך ליצור כלל חומת אש עם טווח כתובות IPv6 של מקור ::/0. כדי למנוע מתנועת אינטרנט להגיע למכונות של האוסף, צריך להקצות להן רק כתובות IPv4 ו-IPv6 פנימיות.

  • מוודאים שמופעים של כלי האיסוף יכולים לקבל תנועה ממערכות Google Cloud בדיקת התקינות. לדוגמה, עבור תעבורת IPv4, יוצרים כלל חומת אש שמאפשר תעבורה למכונות ה-Collector מטווחי כתובות ה-IPv4 של 130.211.0.0/22 ושל 35.191.0.0/16. לתנועת נתונים ב-IPv6, יוצרים כלל חומת אש שמאפשר תנועת נתונים למופעי האוסף מטווח כתובות ה-IPv6 של 2600:2d00:1:b029::/64.

  • אם רוצים לבדוק את רפליקציה של חבילות נתונים על ידי שליחה ידנית של תעבורת נתונים יוצאת ממכונה אחת או יותר, צריך ליצור כלל חומת אש שמאפשר תעבורת נתונים של SSH למכונות האלה. לדוגמה, כדי לאפשר חיבורי SSH למכונות המשוכפלות מכל כתובות ה-IPv4 ו-IPv6, צריך לאפשר תנועת נכנסת TCP ליציאה 22 מכל כתובת מקור של IPv4 ו-IPv6. אם רוצים לאפשר רק חיבורי SSH שמתחילים מטווח מסוים של כתובות IPv4 או IPv6, צריך לציין את טווח הכתובות האלה כטווח מקור לכלל חומת האש. מידע נוסף על בדיקת מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי זמין במאמר בנושא בדיקת איזון עומסים.

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

יצירה של מדיניות רפליקציה של חבילות נתונים

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

המסוף

  1. נכנסים לדף רפליקציה של חבילות נתונים במסוף Google Cloud .

    לדף רפליקציה של חבילות נתונים

  2. לוחצים על יצירת מדיניות.

  3. מזינים את הפרטים הבאים לגבי המדיניות ולוחצים על המשך.

    1. מזינים שם למדיניות.
    2. בוחרים את האזור שכולל את מקורות המידע המשוכפלים ואת יעד האוסף. מדיניות הרפליקציה של חבילות נתונים צריכה להיות באותו אזור כמו המקור והיעד.
    3. מתעלמים מהשדה עדיפות. אי אפשר לשנות את זה כרגע.
    4. כדי להפעיל את המדיניות כשיוצרים אותה, בוחרים באפשרות מופעלת.
  4. בוחרים את רשתות ה-VPC שבהן נמצאים המקור המשוכפל ויעד האיסוף, ואז לוחצים על המשך.

    המקור והיעד יכולים להיות באותן רשתות VPC או ברשתות שונות.

    • אם הם נמצאים באותה רשת VPC, בוחרים באפשרות מקורות וייעדים משוכפלים נמצאים באותה רשת VPC, ואז בוחרים את הרשת.
    • אם הם נמצאים ברשתות שונות, בוחרים באפשרות Mirrored source and collector destination are in separate, peered VPC networks (מקור משוכפל ויעד של איסוף נמצאים ברשתות VPC נפרדות ומקושרות), ואז בוחרים את רשת המקור המשוכפל ואת רשת היעד של איסוף.
  5. בוחרים מקורות משוכפלים ולוחצים על המשך. אפשר לבחור מקור אחד או יותר. Google Cloud התכונה משקפת כל מופע שתואם לפחות לאחד מהמקורות שנבחרו.

    • רשתות משנה: בוחרים רשת משנה אחת או יותר. Google Cloud מבצעים רפליקציה של מכונות קיימות ועתידיות ברשתות המשנה שנבחרו.
    • תג רשת: מציינים תג רשת אחד או יותר. Google Cloud משכפל מופעים שיש להם לפחות אחד מהתגים שצוינו.
    • Instance name: select specific instances to mirror.
  6. בוחרים מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי שהוגדר לרפליקציה של חבילות נתונים, ואז לוחצים על המשך. Google Cloudתעבורת נתונים משוקפת נשלחת למופעים שנמצאים מאחורי מאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי.

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

  7. כדי לבחור את התנועה לשכפול, מבצעים את הפעולות הבאות:

    • כדי להפעיל רפליקציה לכל התעבורה ב-IPv4, בוחרים באפשרות Mirror all IPv4 traffic (default).
    • כדי להפעיל רפליקציה לכל התעבורה ב-IPv4 וב-IPv6, בוחרים באפשרות Mirror filtered traffic ומבצעים את הפעולות הבאות:
      • בוחרים באפשרות Allow all protocols.
      • בוחרים באפשרות Allow all IPv4 ranges (0.0.0.0/0).
      • בוחרים באפשרות Allow all IPv6 ranges (::/0).
      • בוחרים באפשרות Allow both ingress and egress traffic (אישור תעבורת נתונים נכנסת ויוצאת).
    • כדי להגביל את התנועה שמשוכפלת, בוחרים באפשרות שיקוף של תנועה מסוננת, ואז מבצעים את הפעולות הבאות:

      • כדי להגביל את התנועה המשוכפלת לפי פרוטוקול, בוחרים באפשרות Allow specific protocols (התרת פרוטוקולים ספציפיים) ואז בוחרים את הפרוטוקולים. אם לא מופיע פרוטוקול שרוצים לשקף את התנועה שלו, בוחרים באפשרות פרוטוקולים אחרים ומזינים את הפרוטוקול בשדה פרוטוקולים אחרים. הערכים התקפים הם tcp,‏ udp,‏ esp,‏ ah,‏ ipip,‏ sctp או מספר פרוטוקול של IANA. כדי לציין ICMP ל-IPv6, מזינים 58.

      • כדי להגדיר מסננים של טווח IPv4:

        • כדי לשקף את כל התנועה ב-IPv4, בוחרים באפשרות Allow all IPv4 ranges (0.0.0.0/0).
        • כדי לשקף תנועה לטווחים ספציפיים של כתובות IPv4, בוחרים באפשרות Allow specific IPv4 ranges. בשדה טווח כתובות IPv4, מקלידים טווח יחיד של כתובות IPv4 ומקישים על Enter. כדי להוסיף כמה טווחי כתובות IPv4, מקישים על Enter אחרי כל טווח שמקלידים.
      • כדי להשתמש במסננים של טווח IPv6, מבצעים את הפעולות הבאות:

        • כדי לסנן את כל תנועת ה-IPv6, בוחרים באפשרות ללא.
        • כדי לשקף את כל התנועה ב-IPv6, בוחרים באפשרות Allow all IPv6 ranges (::/0).
        • כדי לשקף תנועה לטווחים ספציפיים של כתובות IPv6, בוחרים באפשרות Allow specific IPv6 ranges. בשדה טווח כתובות IPv6, מקלידים טווח יחיד של כתובות IPv6 ומקישים על Enter. כדי להוסיף כמה טווחי כתובות IPv6, מקישים על Enter אחרי כל טווח שמקלידים.
  8. בוחרים את כיוון התנועה של התנועה שרוצים לשכפל.

  9. כדי ליצור את מדיניות הרפליקציה של חבילות הנתונים, לוחצים על Submit (שליחה).

gcloud

כדי ליצור מדיניות רפליקציה של חבילות נתונים, משתמשים בפקודה packet-mirrorings create.

gcloud compute packet-mirrorings create POLICY_NAME \
    --region=REGION \
    --network=NETWORK_NAME \
    --collector-ilb=FORWARDING_RULE_NAME \
    [--mirrored-subnets=SUBNET,[SUBNET,...]] \
    [--mirrored-tags=TAG,[TAG,...]] \
    [--mirrored-instances=INSTANCE,[INSTANCE,...]] \
    [--filter-cidr-ranges=CIDR_RANGE,[CIDR_RANGE,...]] \
    [--filter-protocols=PROTOCOL,[PROTOCOL,...]] \
    [--filter-direction=DIRECTION]

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים.
  • REGION: האזור שבו נמצאים מקורות השיקוף ויעד האיסוף.
  • NETWORK_NAME: הרשת שבה נמצאים המקורות המשוכפלים.
  • FORWARDING_RULE_NAME: השם של כלל ההעברה שהוגדר כמאסף רפליקציה. Google Cloud שולח את כל תעבורת הנתונים המשוכפלת למאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי שמשויך אליו.
  • SUBNET: השם של רשת משנה אחת או יותר לשיקוף. אפשר לספק כמה רשתות משנה באמצעות רשימה שמופרדת בפסיקים. Google Cloud משקף מכונות קיימות ועתידיות ברשת המשנה.
  • TAG: תג רשת אחד או יותר. Google Cloud משקף מקרים שבהם יש תג רשת. אפשר לספק כמה תגים באמצעות רשימה מופרדת בפסיקים.
  • INSTANCE: המזהה המוגדר במלואו של מופע אחד או יותר לשיקוף. אפשר לספק כמה מופעים באמצעות רשימה מופרדת בפסיקים.
  • CIDR_RANGE: טווח אחד או יותר של כתובות IPv4 או IPv6 בפורמט CIDR לשיקוף. אם לא מציינים טווחי CIDR, מתבצעת רפליקציה של כל תעבורת IPv4 שתואמת לפרוטוקולים שצוינו. אם לא מציינים טווחי CIDR או פרוטוקולים, מתבצעת רפליקציה של כל תעבורת הנתונים של IPv4. כדי להפעיל רפליקציה לכל התעבורה ב-IPv4 וב-IPv6, משתמשים ב-0.0.0.0/0,::/0. אפשר לכלול טווחי CIDR של IPv4 ו-IPv6. אפשר לספק כמה טווחים באמצעות רשימה מופרדת בפסיקים.
  • PROTOCOL: פרוטוקול אחד או יותר לרפליקציה. הערכים התקפים הם tcp,‏ udp,‏ icmp,‏ esp,‏ ah,‏ ipip,‏ sctp או מספר פרוטוקול של IANA. אם לא מציינים פרוטוקולים, כל התנועה שתואמת לטווחים שצוינו של CIDR משוכפלת. אם לא מציינים פרוטוקולים או טווחי CIDR, כל תעבורת הנתונים ב-IPv4 משוכפלת. כדי לציין ICMP ל-IPv6, משתמשים ב-58. אפשר לספק כמה פרוטוקולים באמצעות רשימה מופרדת בפסיקים.
  • DIRECTION: כיוון התנועה לשיקוף ביחס למכונה הווירטואלית. כברירת מחדל, הערך הוא both, כלומר, תעבורת הנתונים הנכנסת והיוצאת משוכפלת. אפשר להגביל את החבילות שמתועדות על ידי ציון ingress כדי לתעד רק חבילות נכנסות או egress כדי לתעד רק חבילות יוצאות.

Terraform

אפשר להשתמש במשאב של Terraform כדי ליצור מדיניות רפליקציה של חבילות נתונים.

resource "google_compute_packet_mirroring" "default" {
  region      = "europe-west1"
  name        = "my-mirroring"
  description = "My packet mirror"
  network {
    url = google_compute_network.ilb_network.id
  }
  collector_ilb {
    url = google_compute_forwarding_rule.default.id
  }
  mirrored_resources {
    tags = ["foo"]
    instances {
      url = google_compute_instance.vm_test.id
    }
  }
  filter {
    ip_protocols = ["tcp"]
    cidr_ranges  = ["0.0.0.0/0"]
    direction    = "BOTH"
  }
}

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

API

כדי ליצור מדיניות רפליקציה של חבילות נתונים, שולחים בקשת POST אל ה-method‏ packetMirrorings.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings
{
  "name": "POLICY_NAME",
  "enable": "ENABLED",
  "network": {
    "url": "NETWORK_URL"
  },
  "priority": PRIORITY,
  "mirroredResources": {
    "subnetworks": [
      {
        "url": "SUBNET_URL"
      }
    ],
    "tags": [
      "TAG"
    ],
    "instances": [
      {
        "url": "INSTANCE"
      }
    ]
  },
  "collectorIlb": {
    "url": "FORWARDING_RULE_URL"
  },
  "filter": {
    "IPProtocols": [
      "PROTOCOL"
    ],
    "cidrRanges": [
      "CIDR_RANGE"
    ],
    "direction": "DIRECTION"
  }
}

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

  • PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המדיניות.
  • REGION: האזור שבו נמצאים המקורות המשוכפלים ויעד האוסף.
  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים.
  • ENABLED: האם המדיניות הזו תקפה. האפשרויות הן TRUE ו-FALSE. ברירת המחדל היא TRUE.
  • NETWORK_URL: כתובת ה-URL של הרשת שבה נמצאים המקורות המשוכפלים.
  • PRIORITY: העדיפות של כלל ההעברה, שמשמשת להכרעה במקרים שבהם יש יותר מכלל אחד שתואם. הטווח התקין הוא 0 עד 65,535, וערך ברירת המחדל הוא 1,000.
  • SUBNET_URL: כתובת ה-URL של תת-רשת לשכפול. Google Cloud הפקודה משכפלת מופעים קיימים ועתידיים בתת-הרשת. אפשר לספק כמה רשתות משנה באמצעות רשימה מופרדת בפסיקים.
  • TAG: תג רשת. Google Cloud משקף מופעים שיש להם את תג הרשת. אפשר לספק כמה תגים באמצעות רשימה מופרדת בפסיקים.
  • INSTANCE: המזהה המוגדר במלואו של מופע לשכפול. אפשר לספק כמה מקרים באמצעות רשימה מופרדת בפסיקים.
  • FORWARDING_RULE_URL: כתובת ה-URL של כלל העברה שמוגדר כמאסף שיקוף. Google Cloud הכלל הזה שולח את כל התנועה המשוקפת למאזן עומסי הרשת הפנימי המשויך להעברת סיגנל ללא שינוי.
  • PROTOCOL: פרוטוקול אחד או יותר. האפשרויות הן: tcp, udp, icmp, esp, ah, ipip, sctp או מספר פרוטוקול של IANA. אם לא מציינים פרוטוקולים, מתבצעת רפליקציה של כל התעבורה שתואמת לטווחים שצוינו של CIDR. אם לא מציינים טווחי CIDR או פרוטוקולים, מתבצעת רפליקציה של כל תעבורת הנתונים של IPv4. כדי לציין ICMP עבור IPv6, מזינים 58. אפשר לספק כמה פרוטוקולים באמצעות הטופס הבא: "icmp", "udp".
  • CIDR_RANGE: טווח אחד או יותר של כתובות IPv4 או IPv6 בפורמט CIDR לשיקוף. אם לא מציינים טווחי CIDR, מתבצעת רפליקציה של כל תעבורת IPv4 שתואמת לפרוטוקולים שצוינו. אם לא מציינים טווחי CIDR או פרוטוקולים, מתבצעת רפליקציה של כל תעבורת הנתונים של IPv4. כדי להפעיל רפליקציה לכל התעבורה ב-IPv4 וב-IPv6, משתמשים ב-"0.0.0.0/0", "::/0". אפשר לכלול טווחי CIDR של IPv4 ו-IPv6. אפשר לספק כמה טווחי CIDR באמצעות הטופס הבא: "192.0.2.0/24", "2001:0DB8::/32".
  • PROTOCOL: פרוטוקול אחד או יותר לרפליקציה.
  • DIRECTION: כיוון התנועה לשיקוף. האפשרויות הן INGRESS, ‏EGRESS או BOTH. ערך ברירת המחדל הוא BOTH.

אימות הרפליקציה של חבילות נתונים

כדי לוודא שמופעי האוסף מקבלים תנועה משוכפלת בצורה נכונה, אפשר להשתמש ב-tcpdump.

  1. התחברות למכונה של כלי איסוף.

  2. אם הפקודה tcpdump לא זמינה, מתקינים אותה.

  3. מזהים את ממשק הרשת:

    ip address
    

    ברשימת ממשקי הרשת, מחפשים את השם שמשויך לכתובת ה-IPv4 הפנימית הראשית של מופע האוסף – לדוגמה, ens4.

  4. מתחילים לנתח את המנות:

    sudo tcpdump -i INTERFACE_NAME -f "host IP_ADDRESS"
    

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

    • INTERFACE_NAME: השם של הממשק שזיהיתם בשלב 3.
    • IP_ADDRESS: כתובת ה-IPv4 של מכונת VM של מקור משוכפל.
  5. כדי להריץ את הבדיקה, שולחים תנועה מהמכונה הווירטואלית המשוכפלת של המקור – לדוגמה, על ידי שליחת פינג של ICMP. בפלט של tcpdump, מוודאים שאפשר לראות את התנועה הצפויה.

שינוי מדיניות רפליקציה של חבילות נתונים

אתם יכולים לעדכן מדיניות קיימת כדי לשנות פרטים כמו מקורות משוכפלים או יעדים של כלי איסוף.

המסוף

  1. נכנסים לדף רפליקציה של חבילות נתונים במסוף Google Cloud .

    לדף רפליקציה של חבילות נתונים

  2. ברשימת מדיניות שיקוף המנות, לוחצים על המדיניות שרוצים לערוך.

  3. בדף פרטי המדיניות, לוחצים על עריכה.

  4. עורכים את השדות שרוצים לעדכן. המסוף פועל לפי אותו תהליך כמו השלבים ליצירת מדיניות. מידע על כל שדה זמין במאמר בנושא יצירת מדיניות של שיקוף מנות.

gcloud

כדי לעדכן מדיניות קיימת של רפליקציה של חבילות נתונים, משתמשים בפקודה packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME [--async] \
  [--collector-ilb=FORWARDING_RULE_NAME] [--description=DESCRIPTION] [--enable] \
  [--filter-direction=DIRECTION] [--region=REGION] \
  [--add-filter-cidr-ranges=[CIDR_RANGE,...] | --clear-filter-cidr-ranges \
    | --remove-filter-cidr-ranges=[CIDR_RANGE,...] \
    | --set-filter-cidr-ranges=[CIDR_RANGE,...]] \
  [--add-filter-protocols=[PROTOCOL,...] | --clear-filter-protocols \
    | --remove-filter-protocols=[PROTOCOL,...] \
    | --set-filter-protocols=[PROTOCOL,...]] \
  [--add-mirrored-instances=[INSTANCE,...] | --clear-mirrored-instances \
    | --remove-mirrored-instances=[INSTANCE,...] \
    | --set-mirrored-instances=[INSTANCE,...]] \
  [--add-mirrored-subnets=[SUBNET,...] | --clear-mirrored-subnets \
    | --remove-mirrored-subnets=[SUBNET,...] \
    | --set-mirrored-subnets=[SUBNET,...]] \
  [--add-mirrored-tags=[TAG,...] | --clear-mirrored-tags \
    | --remove-mirrored-tags=[TAG,...] | --set-mirrored-tags=[TAG,...]]

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים לשנות.
  • FORWARDING_RULE_NAME: השם של כלל ההעברה שמוגדר כמרכז איסוף. Google Cloud שולח את כל התנועה המשוכפלת למאזן עומסי הרשת הפנימי המשויך להעברת סיגנל ללא שינוי.
  • DESCRIPTION: תיאור של מדיניות הרפליקציה של חבילות הנתונים.
  • DIRECTION: כיוון תעבורת הנתונים שאליו רוצים להחיל את מדיניות הרפליקציה של חבילות הנתונים. האפשרויות הן egress, ‏ingress או both.
  • REGION: האזור שבו נמצאת המדיניות.
  • CIDR_RANGE: טווח אחד או יותר של כתובות IPv4 או IPv6 בפורמט CIDR לשכפול. אם לא מציינים טווחי CIDR, מתבצעת רפליקציה של כל תעבורת IPv4 שתואמת לפרוטוקולים שצוינו. אם לא מציינים טווחי CIDR או פרוטוקולים, מתבצעת רפליקציה של כל תעבורת הנתונים של IPv4. כדי להפעיל רפליקציה לכל התעבורה ב-IPv4 וב-IPv6, משתמשים ב-0.0.0.0/0,::/0. אפשר לכלול טווחי CIDR של IPv4 ו-IPv6. אפשר לספק כמה טווחים באמצעות רשימה מופרדת בפסיקים.
  • PROTOCOL: פרוטוקול אחד או יותר לרפליקציה. הערכים התקפים הם tcp,‏ udp,‏ icmp,‏ esp,‏ ah,‏ ipip,‏ sctp או מספר פרוטוקול של IANA. אם לא מציינים פרוטוקולים, התנועה שתואמת לטווחים שצוינו של CIDR משוכפלת. אם לא מציינים פרוטוקולים או טווחי CIDR, כל תעבורת הנתונים ב-IPv4 משוכפלת. כדי לציין ICMP ל-IPv6, משתמשים ב-58. אפשר לספק כמה פרוטוקולים באמצעות רשימה מופרדת בפסיקים.
  • INSTANCE: המזהה המלא של מופע אחד או יותר של מכונות וירטואליות לשיקוף. אפשר לספק כמה מופעים באמצעות רשימה מופרדת בפסיקים.
  • SUBNET: רשת משנה אחת או יותר. אפשר לספק כמה רשתות משנה באמצעות רשימה מופרדת בפסיקים. Google Cloudהמערכת משכפלת מקרים קיימים ועתידיים ברשת המשנה.
  • TAG: תג רשת אחד או יותר. אפשר לספק כמה תגים באמצעות רשימה מופרדת בפסיקים.

API

כדי לעדכן מדיניות רפליקציה של חבילות נתונים, שולחים בקשת POST אל ה-method‏ packetMirrorings.patch.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME
{
  "name": "POLICY_NAME",
  "description": "DESCRIPTION",
  "priority": "PRIORITY",
  "collectorIlb": {
    "url": "FORWARDING_RULE_URL"
  },
  "mirroredResources": {
    "subnetworks": [
      {
        "url": "SUBNET_URL"
      }
    ],
    "instances": [
      {
        "url": "INSTANCE_URL"
      }
    ],
    "tags": [
      "NETWORK_TAGS"
    ]
  },
  "filter": {
    "cidrRanges": [
      "CIDR_RANGE"
    ],
    "IPProtocols": [
      "PROTOCOL"
    ],
    "direction": "DIRECTION"
  },
  "enable": "ENABLED"
}

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

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת המדיניות.
  • REGION: האזור של מדיניות הרפליקציה של חבילות הנתונים.
  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים לשנות.
  • DESCRIPTION: תיאור אופציונלי של המדיניות.
  • PRIORITY: העדיפות של המדיניות, שמשמשת להכרעה במקרים שבהם יש כמה כללי מדיניות תואמים. ערך ברירת המחדל הוא 1,000. הטווח התקין הוא 0 עד 65,535.
  • FORWARDING_RULE_URL: כתובת ה-URL של כלל העברה שמופעלת בו רפליקציה של חבילות נתונים. Google Cloud התעבורה המשוכפלת נשלחת כולה למאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי שמשויך לכלל.
  • SUBNET_URL: כתובת ה-URL של רשת משנה.‫Google Cloud משקפת מקרים קיימים ועתידיים ברשת המשנה. אפשר לספק כמה רשתות משנה באמצעות רשימה מופרדת בפסיקים.
  • INSTANCE_URL: כתובת ה-URL של מופע של מכונה וירטואלית לשכפול. אפשר לספק כמה מקרים באמצעות רשימה מופרדת בפסיקים.
  • NETWORK_TAGS: תג רשת.‫Google Cloud משקף מקרים שיש להם תג רשת אחד או יותר. אפשר לספק כמה תגים באמצעות רשימה מופרדת בפסיקים.
  • CIDR_RANGE: טווח אחד או יותר של כתובות IPv4 או IPv6 בפורמט CIDR לשכפול. אם לא מציינים טווחי CIDR, מתבצעת רפליקציה של כל תעבורת IPv4 שתואמת לפרוטוקולים שצוינו. אם לא מציינים טווחי CIDR או פרוטוקולים, מתבצעת רפליקציה של כל תעבורת הנתונים של IPv4. כדי להפעיל רפליקציה לכל התעבורה ב-IPv4 וב-IPv6, משתמשים ב-"0.0.0.0/0", "::/0". אפשר לכלול טווחי CIDR של IPv4 ו-IPv6. אפשר לספק כמה טווחי CIDR באמצעות הטופס הבא: "192.0.2.0/24", "2001:DB8::/32".
  • IP_PROTOCOL: פרוטוקול אחד או יותר. האפשרויות הן: tcp, udp, icmp, esp, ah, ipip, sctp או מספר פרוטוקול של IANA. אם לא מציינים פרוטוקולים, מתבצעת רפליקציה של כל התעבורה שתואמת לטווחים שצוינו של CIDR. אם לא מציינים טווחי CIDR או פרוטוקולים, כל תעבורת הנתונים מסוג IPv4 משוכפלת. כדי לציין ICMP ל-IPv6, משתמשים ב-58. אפשר לספק כמה פרוטוקולים באמצעות הפורמט הבא: "icmp", "udp".
  • DIRECTION: כיוון התנועה לשיקוף. האפשרויות הן INGRESS, ‏EGRESS או BOTH. ערך ברירת המחדל הוא BOTH.
  • ENABLED: מציין אם המדיניות מופעלת או לא. האפשרויות הן TRUE או FALSE.

הצגת רשימת כללי המדיניות של רפליקציית חבילות נתונים

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

המסוף

gcloud

כדי להציג את מדיניות הרפליקציה של חבילות נתונים שנמצאת בפרויקט או באזור מסוים, משתמשים בפקודה packet-mirrorings list.

gcloud compute packet-mirrorings list \
  [--filter="region:(REGION...)"]

מחליפים את REGION בשם האזור שמכיל את המדיניות שרוצים להציג.

API

כדי להציג רשימה של מדיניות קיימת של רפליקציה של חבילות נתונים בפרויקט, שולחים בקשת GET אל ה-method‏ packetMirrorings.list.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/packetMirrorings

מחליפים את PROJECT_ID במזהה הפרויקט.

כדי להציג רשימה של מדיניות קיימת של רפליקציה של חבילות נתונים באזור מסוים, שולחים בקשת GET אל ה-method‏ packetMirrorings.list.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings

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

  • PROJECT_ID: המזהה של הפרויקט שמכיל את המדיניות שרוצים להציג.
  • REGION: האזור שמכיל את המדיניות שרוצים להציג.

תיאור של מדיניות רפליקציה של חבילות נתונים

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

המסוף

  1. נכנסים לדף רפליקציה של חבילות נתונים במסוף Google Cloud .

    לדף רפליקציה של חבילות נתונים

  2. ברשימת מדיניות שיקוף המנות, בוחרים את המדיניות שרוצים להציג. Google Cloud במסוף מוצגים פרטי המדיניות שבחרתם.

gcloud

כדי להוסיף תיאור למדיניות הרפליקציה של חבילות הנתונים, משתמשים בפקודה packet-mirrorings describe.

gcloud compute packet-mirrorings describe POLICY_NAME \
  --region=REGION \

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים לתאר.
  • REGION: האזור שבו נמצאת המדיניות.

API

כדי לתאר מדיניות של רפליקציה של חבילות נתונים, שולחים בקשת GET אל ה-method‏ packetMirrorings.get.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME

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

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת המדיניות.
  • REGION: האזור שבו נמצאת המדיניות.
  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים לתאר.

השבתה או הפעלה של מדיניות רפליקציה של חבילות נתונים

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

המסוף

  1. נכנסים לדף רפליקציה של חבילות נתונים במסוף Google Cloud .

    לדף רפליקציה של חבילות נתונים

  2. ברשימת המדיניות של שיקוף מנות, בוחרים את המדיניות שרוצים להשבית או להפעיל.

  3. לוחצים על השבתה או על הפעלה.

  4. מאשרים בלחיצה על השבתה או על הפעלה.

gcloud

כדי להשבית מדיניות רפליקציה של חבילות נתונים, משתמשים בפקודה packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME \
  --region=REGION \
  --no-enable

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים להשבית או להפעיל.
  • REGION: האזור שבו נמצאת המדיניות.

כדי להפעיל מדיניות רפליקציה של חבילות נתונים, משתמשים בפקודה packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME \
  --region=REGION \
  --enable

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים להשבית או להפעיל.
  • REGION: האזור שבו נמצאת המדיניות.

API

כדי להשבית או להפעיל מדיניות קיימת של רפליקציית חבילות נתונים, שולחים בקשת PATCH ל-method‏ packetMirrorings.patch.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME
{
  "enable": "FALSE|TRUE"
}

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

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת המדיניות.
  • REGION: האזור שבו נמצאת המדיניות.
  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים להשבית.

מחיקת מדיניות רפליקציה של חבילות נתונים

אפשר למחוק מדיניות של שיקוף מנות כדי להסיר אותה מהפרויקט. אחרי שמוחקים מדיניות, Google Cloud התנועה שקשורה למדיניות הזו לא משוכפלת יותר.

המסוף

  1. נכנסים לדף רפליקציה של חבילות נתונים במסוף Google Cloud .

    לדף רפליקציה של חבילות נתונים

  2. ברשימת המדיניות של שיקוף מנות, בוחרים את המדיניות שרוצים למחוק.

  3. לוחצים על Delete.

  4. לוחצים על מחיקה כדי לאשר את הפעולה.

gcloud

כדי למחוק מדיניות רפליקציה של חבילות נתונים, משתמשים בפקודה packet-mirrorings delete.

gcloud compute packet-mirrorings delete POLICY_NAME \
  --region=REGION \

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

  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים למחוק.
  • REGION: האזור שבו נמצאת המדיניות.

API

כדי למחוק מדיניות רפליקציה של חבילות נתונים, שולחים בקשת DELETE ל-method‏ packetMirrorings.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME

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

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת המדיניות.
  • POLICY_NAME: השם של מדיניות הרפליקציה של חבילות הנתונים שרוצים למחוק.
  • REGION: האזור שבו נמצאת המדיניות.

פתרון בעיות

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

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

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

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

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