הפעלת האפשרות לצריכת תעבורת מולטיקאסט ברשת VPC
בדף הזה מוסבר איך להגדיר משאבים ב-Google Cloud כדי שצרכני Multicast ברשת VPC יוכלו לקבל תעבורת Multicast מדומיין Multicast נתון ומטווח אחד או יותר של קבוצות.
לפני שמתחילים
לפני שמתחילים בתהליכים שמתוארים בדף הזה, צריך לוודא שמתקיימים התנאים המוקדמים שמתוארים בקטע הזה.
מוודאים שההגדרות של דומיין ה-multicast, טווח הקבוצות והיצרן הושלמו
מוודאים שההגדרות של תחום ה-multicast, טווח קבוצות ה-multicast והגדרות יצירת ה-multicast שרוצים להשתמש בהן כדי לצרוך תנועת multicast הושלמו כמו שמתואר בסקירה הכללית של הגדרת multicast. במקרה הצורך, פנו לאדמין של הדומיין שאחראי על שידורי מולטיקאסט.
הגדרת הפרויקט
מגדירים את ה-CLI של gcloud לשימוש בפרויקט של רשת ה-VPC של צרכן המולטיקאסט. לחלופין, אפשר להעביר את הדגל --project=PROJECT לכל פקודה בהליכים הבאים.
gcloud config set project PROJECT
מחליפים את PROJECT במזהה הפרויקט.
הפעלת ממשקי ה-API
אם עדיין לא עשיתם זאת, מפעילים את ממשקי ה-API הבאים.
כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable.
אם אין לכם את ההרשאה הזו, בקשו מהאדמין של ניהול זהויות והרשאות גישה (IAM) להקצות לכם את התפקיד אדמין של שימוש בשירות (roles/serviceusage.serviceUsageAdmin).
כדי ליצור משאבי Multicast, מפעילים את
networkservicesAPI:gcloud services enable networkservices.googleapis.comכדי ליצור רכזת VPC ב-Network Connectivity Center (NCC), צריך להפעיל את API
networkconnectivity:gcloud services enable networkconnectivity.googleapis.com
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרת משאבי צרכנים של שידור מרובה משתתפים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
כדי ליצור ולנהל משאבי רשת:
אדמין של רשת מחשוב (
compute.networkAdmin) בפרויקט -
כדי ליצור ולנהל כללי חומת אש:
אדמין אבטחה של Compute (
compute.securityAdmin) בפרויקט -
כדי ליצור רשתות Spoke של NCC:
Spoke Admin (
networkconnectivity.spokeAdmin) בפרויקט -
כדי להציע רשתות מסוג Spoke ב-NCC לרכזת שמשויכת לדומיין Multicast:
Group User (
networkconnectivity.groupUser) on the multicast administrator project -
כדי ליצור משאבי Multicast:
אדמין Multicast (
networkservices.multicastAdmin) בפרויקט
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת רשת VPC והוספה שלה ל-hub
אם דומיין המולטיקאסט משתמש בטופולוגיית כוכב של NCC שבה יש רשתות VPC נפרדות של צרכני מולטיקאסט, צריך לבצע את השלבים שבקטע הזה.
אם דומיין ה-Multicast משתמש בטופולוגיה של רשת VPC יחידה, אפשר לדלג על הקטע הזה ולעבור ישירות לשלבים של הפעלת האפשרות לצריכת תעבורת Multicast ברשת ה-VPC.
יצירת רשת VPC
בקטע הזה מוסבר איך ליצור רשת של ענן וירטואלי פרטי (VPC) לצריכת תעבורת Multicast.
מידע נוסף על יצירת רשתות VPC זמין במאמר בנושא יצירה וניהול של רשתות VPC.
gcloud
יוצרים רשת VPC באמצעות הפקודה
compute networks create.gcloud compute networks create MULTICAST_CONSUMER_NETWORK --subnet-mode=custom
מחליפים את
MULTICAST_CONSUMER_NETWORKבשם של רשת הצרכנים של שידור המולטיקאסט.כדי להוסיף תת-רשת אחת או יותר לאירוח צרכני מולטיקאסט, משתמשים בפקודה
compute networks subnets create.gcloud compute networks subnets create SUBNET --network=MULTICAST_CONSUMER_NETWORK \ --range=PRIMARY_RANGE \ --region=REGION
מחליפים את הערכים הבאים:
-
SUBNET: השם של תת-הרשת -
MULTICAST_CONSUMER_NETWORK: השם של רשת הצרכנים של שידור מרובה משתתפים שיצרתם קודם -
PRIMARY_RANGE: טווח ה-IPv4 הראשי של תת-הרשת, בסימון CIDR. מידע נוסף זמין במאמר טווחים של רשתות משנה ב-IPv4. -
REGION: האזור שבו נוצרת תת-הרשת Google Cloud החדשה. האזור צריך לתמוך בשידור מרובה משתתפים, כמוus-east5.
-
הוספת כללים לחומת האש
בקטע הזה מוסבר איך ליצור כללי חומת אש ברשת ה-VPC של הצרכן בשידור מרובה משתתפים, לתעבורת נתונים בשידור מרובה משתתפים.
כדי ליצור כללים נוספים לחומת האש, למשל ל-SSH, אפשר לעיין במאמר בנושא יצירת כללים לחומת האש ב-VPC.
הפקודות מאוכלסות מראש בשמות לדוגמה של כללי חומת אש. חשוב לזכור ששם של כלל חומת אש חייב להיות ייחודי בפרויקט.
אפשרות להעברת תנועת שידורים מרובים (multicast) נכנסת
gcloud
כדי ליצור כלל חומת אש שמאפשר תעבורת מולטיקאסט נכנסת לרשת ה-VPC מרשת המולטיקאסט של היצרן, משתמשים בפקודה compute firewall-rules create.
gcloud compute firewall-rules create allow-multicast-traffic-ingress \ --direction=INGRESS \ --priority=1000 \ --network=MULTICAST_CONSUMER_NETWORK \ --action=ALLOW \ --rules=udp[:PORT[-PORT]] \ --source-ranges=MULTICAST_PRODUCER_RANGE \ --destination-ranges=MULTICAST_GROUP_IP_RANGES
מחליפים את הערכים הבאים:
-
MULTICAST_CONSUMER_NETWORK: השם של רשת הצרכנים של שידור מרובה משתתפים שיצרתם קודם
PORT: רשימה של יציאות שהכלל בחומת האש חל עליהן. Google Cloud משתמש ב-udpלתעבורת Multicast. אפשר לציין יציאה או טווח יציאות אחרי הפרוטוקול שאליו חל כלל חומת האש בתעבורת נתונים דרך יציאות ספציפיות. אם לא מציינים יציאה או טווח יציאות, ההגדרות חלות על חיבורים בכל הטווחים.לדוגמה, מציינים
--rules=udp:1234כדי לאפשר תנועת נתונים של Multicast דרך יציאה 1234.
MULTICAST_PRODUCER_RANGE: טווח ה-CIDR של רשת ה-VPC של מקור המולטיקאסט, שמשמש להקצאת כתובות IP למקורות מולטיקאסט. לחלופין, אפשר להשמיט את הדגל--source-ranges, שמגדיר את מקור התנועה הנכנסת לכל כתובת IPv4 (0.0.0.0/0).
MULTICAST_GROUP_IP_RANGES: טווחי ה-CIDR של קבוצות המולטיקאסט שאליהן יצרני המולטיקאסט שולחים תנועה. זה צריך להיות טווח כתובות מסוג Class D, לדוגמה, אפשר להשתמש ב-224.0.0.0/4כדי לאפשר את כל תעבורת המולטיקאסט.
אפשר להשתמש בשאילתת IGMP נכנסת
gcloud
כדי ליצור כלל חומת אש שמאפשר תעבורת נתונים נכנסת של שאילתות IGMP לרשת ה-VPC של הצרכן משידור multicast מטווח הרשת של הצרכן משידור multicast, משתמשים בפקודה compute firewall-rules create.
הפקודה הבאה כוללת:
-
--destination-ranges=224.0.0.1/32כדי לציין את כתובת ה-IP של קבוצת ה-Multicast שמייצגת את כל המארחים בתת-הרשת הזו. -
--rules=2כדי לציין IGMP.
gcloud compute firewall-rules create allow-multicast-igmp-ingress \
--direction=INGRESS \
--priority=1000 \
--network=MULTICAST_CONSUMER_NETWORK \
--action=ALLOW \
--rules=2 \
--source-ranges=MULTICAST_CONSUMER_RANGE \
--destination-ranges=224.0.0.1/32
מחליפים את הערכים הבאים:
-
MULTICAST_CONSUMER_NETWORK: השם של רשת הצרכנים של שידור מרובה משתתפים שיצרתם קודם -
MULTICAST_CONSUMER_RANGE: טווח ה-CIDR של רשת צרכני ה-multicast, שמשמש להקצאת כתובות IP לצרכני ה-multicast.
התרת תעבורת נתונים יוצאת (egress) של IGMP
בקטע הזה מוסבר איך ליצור כלל חומת אש שמאפשר תעבורת נתונים יוצאת של IGMP, כדי שתוכלו לשלוח הודעות IGMP JOIN ו-LEAVE מצרכני שידור מרובה משתתפים.
לכל רשתות ה-VPC יש כלל ברירת מחדל של יציאה מותרת ב-IPv4 עם העדיפות הכי נמוכה (65535). אם אין כלל בעדיפות גבוהה יותר שחוסם במפורש תעבורת נתונים יוצאת, לא צריך לבצע את השלב הזה. מידע נוסף מופיע במאמר בנושא כללים משתמעים.
gcloud
כדי ליצור כלל חומת אש שמאפשר תעבורת IGMP של שידור מרובה משתתפים יוצאת מרשת ה-VPC של הצרכן של השידור המרובה, משתמשים בפקודה compute firewall-rules create.
gcloud compute firewall-rules create allow-multicast-igmp-egress \
--direction=EGRESS \
--priority=1000 \
--network=MULTICAST_CONSUMER_NETWORK \
--action=ALLOW \
--rules=2 \
--destination-ranges=RANGES_FOR_JOIN_AND_LEAVE
מחליפים את הערכים הבאים:
-
MULTICAST_CONSUMER_NETWORK: השם של רשת הצרכנים של שידור מרובה משתתפים שיצרתם קודם
RANGES_FOR_JOIN_AND_LEAVE: רשימה מופרדת בפסיקים של:- טווח ה-CIDR של קבוצות ה-multicast שהצרכנים צריכים להצטרף אליהן. חובה להשתמש בטווחים של כתובות מסוג Class D.
- כתובת ה-IP של כל הנתבים:
224.0.0.2/32. הטווח הזה נדרש לשליחת הודעות IGMP leave.
לחלופין, אפשר לציין
224.0.0.0/4כדי לאפשר את כל התנועה של שידורי מולטיקאסט.
הוספת רשת VPC ל-NCC hub
בקטע הזה מוסבר איך להוסיף את רשת ה-VPC שלכם למרכז NCC שנוצר על ידי מנהל ה-Multicast. כדי להוסיף את הרשת, יוצרים רשת VPC מסוג Spoke בקבוצת הקצה.
מידע נוסף זמין במאמרים בנושא טופולוגיית כוכב ויצירת רשת VPC מסוג Spoke במסמכי NCC.
gcloud
כדי להוסיף את רשת ה-VPC שלכם כרשת משנית (spoke) בקצה של רשת מרכזית (hub), משתמשים בפקודה
network-connectivity spokes linked-vpc-network create.gcloud network-connectivity spokes linked-vpc-network create SPOKE_NAME \ --hub=projects/MULTICAST_ADMIN_PROJECT/locations/global/hubs/HUB \ --vpc-network=MULTICAST_CONSUMER_NETWORK \ --group="edge" \ --global \ --include-export-ranges=INCLUDE_RANGESמחליפים את הערכים הבאים:
-
SPOKE_NAME: שם ל-spoke של קצה הרשת -
MULTICAST_ADMIN_PROJECT: המזהה של פרויקט האדמין של ה-Multicast
HUB: השם של רכזת ה-NCC שנוצרה על ידי מנהל המולטיקאסט. רשת ה-VPC של צרכן ה-multicast צריכה להיות מצורפת לאותו מרכז כמו רשתות ה-VPC של מנהל ה-multicast ושל יצרן ה-multicast. במקרה הצורך, פנו לאדמין של ה-Multicast כדי לקבל את שם ה-Hub.
MULTICAST_CONSUMER_NETWORK: השם של רשת הצרכנים של שידור מרובה משתתפים שיצרתם קודםאפשר גם לספק את ה-URI של רשת הצרכנים של שידור מרובה משתתפים בפורמט הבא:
projects/MULTICAST_CONSUMER_PROJECT/global/networks/MULTICAST_CONSUMER_NETWORK.
INCLUDE_RANGES: רשימה מופרדת בפסיקים של טווחי כתובות IP לייצוא למרכז.כברירת מחדל, הרשת המסתעפת מייצאת את כל טווחי רשתות המשנה. כדי למנוע חפיפה עם רשתות אחרות במרכז, אפשר לציין אילו טווחי רשתות משנה לייצא. אם מציינים טווחים של רשתות משנה, צריך לוודא שכוללים את הטווחים שמארחים צרכני Multicast ואת כל הטווחים האחרים שנדרשים לתקשורת עם הרשתות המשנה בקבוצה המרכזית, למשל לתנועת unicast.
Google Cloud אוסר על חפיפות בין רשתות משנה ב-VPC spokes כמו שמתואר במאמר ייחודיות של מסלולי רשתות משנה. מידע נוסף על שימוש במסנני ייצוא כדי למנוע חפיפה זמין במאמר קישוריות VPC עם מסנני ייצוא.
-
פונים לאדמין של ה-Multicast כדי להודיע לו שהצעתם ליצור רשת מסוג spoke ב-VPC עבור ה-hub.
אם ה-hub נמצא בפרויקט אחר, האדמין של ה-multicast צריך לאשר באופן מפורש את ה-spoke לפני שהוא הופך לפעיל, אלא אם האדמין של ה-multicast הוסיף את הפרויקט שלכם כפרויקט עם אישור אוטומטי.
כדי לבדוק את הסטטוס של רשת spoke אחרי שיוצרים אותה, אפשר לעיין במאמר בדיקת הסטטוס של רשת spoke ב-VPC.
הפעלת האפשרות לצריכת תעבורת מולטיקאסט ברשת VPC
בקטע הזה מוסבר איך מאפשרים לצרכני מולטיקאסט ברשת VPC לקבל תעבורת מולטיקאסט מדומיין נתון ומטווח אחד או יותר של קבוצות.
הוספת רשת VPC של צרכן מ-multicast לדומיין
בקטע הזה מוסבר איך להוסיף רשת VPC של צרכן מולטיקאסט לדומיין על ידי יצירת שיוך צרכן multicast בין הרשת לדומיין.
מבצעים את השלבים הבאים לכל אזור שבו רוצים לארח צרכני Multicast.
gcloud
כדי להוסיף רשת VPC של צרכן מולטיקאסט לדומיין, משתמשים בפקודה network-services multicast-consumer-associations create.
gcloud network-services multicast-consumer-associations create CONSUMER_ASSOCIATION_NAME \
--multicast-domain-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME" \
--network="projects/MULTICAST_CONSUMER_PROJECT/locations/global/networks/MULTICAST_CONSUMER_NETWORK" \
--location=ZONE
מחליפים את הערכים הבאים:
-
CONSUMER_ASSOCIATION_NAME: שם לשיוך צרכן ה-multicast -
ADMIN_PROJECT: המזהה של פרויקט האדמין של ה-Multicast -
ZONE: אזור שבו האדמין הפעיל את דומיין ה-multicast ושבו צריך לארח צרכני multicast -
DOMAIN_ACTIVATION_NAME: השם של הפעלת הדומיין שנוצרה על ידי מנהל ה-multicast -
MULTICAST_CONSUMER_PROJECTו-MULTICAST_CONSUMER_NETWORK: הפרויקט והרשת שצורכים תנועת Multicast. פרויקט ורשת של מנהל multicast או פרויקט ורשת נפרדים של צרכן multicast, בהתאם לטופולוגיית ה-multicast של הדומיין.
API
כדי להוסיף רשת VPC של צרכן מולטיקאסט לדומיין, משתמשים בשיטה multicastConsumerAssociations.create.
POST https://networkservices.googleapis.com/v1/projects/MULTICAST_CONSUMER_PROJECT/locations/ZONE/multicastConsumerAssociations?multicastConsumerAssociationId=CONSUMER_ASSOCIATION_NAME
{
"multicastDomainActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME",
"network": "projects/MULTICAST_CONSUMER_PROJECT/locations/global/networks/MULTICAST_CONSUMER_NETWORK"
}
מחליפים את הערכים הבאים:
-
CONSUMER_ASSOCIATION_NAME: שם לשיוך צרכן ה-multicast -
ADMIN_PROJECT: המזהה של פרויקט האדמין של ה-Multicast -
ZONE: אזור שבו האדמין הפעיל את דומיין ה-multicast ושבו צריך לארח צרכני multicast. -
DOMAIN_ACTIVATION_NAME: השם של הפעלת הדומיין שנוצרה על ידי מנהל ה-multicast -
MULTICAST_CONSUMER_PROJECTו-MULTICAST_CONSUMER_NETWORK: הפרויקט והרשת שצורכים תנועת Multicast. פרויקט ורשת של מנהל multicast או פרויקט ורשת נפרדים של צרכן multicast, בהתאם לטופולוגיית ה-multicast של הדומיין.
הפעלה של רשת VPC של צרכן מולטיקאסט לטווח קבוצות
בקטע הזה מוסבר איך להפעיל רשת VPC של צרכן משידור לקבוצה לטווח של קבוצות.
צריך לבצע את השלבים הבאים לכל טווח של קבוצות מולטיקאסט ולכל אזור שרוצים לצרוך בו תנועת מולטיקאסט.
אחרי שמבצעים את השלב הזה, צרכני מולטיקאסט ברשת יכולים להצטרף לכתובות ה-IP של קבוצת המולטיקאסט בטווח הקבוצה שצוין, בתנאי שהוגדר IGMP.
gcloud
כדי להפעיל רשת VPC של צרכן מולטיקאסט לטווח של קבוצת מולטיקאסט, משתמשים בפקודה network-services multicast-group-consumer-activations create.
gcloud network-services multicast-group-consumer-activations create GROUP_CONSUMER_ACTIVATION_NAME \
--multicast-consumer-association="projects/CONSUMER_PROJECT/locations/ZONE/multicastConsumerAssociations/CONSUMER_ASSOCIATION_NAME" \
--multicast-group-range-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME" \
--location=ZONE \
[--enable-logging | --no-enable-logging]
מחליפים את הערכים הבאים:
-
GROUP_CONSUMER_ACTIVATION_NAME: שם להפעלה של צרכן בקבוצת מולטיקאסט
CONSUMER_PROJECT: מזהה הפרויקט. זה יכול להיות פרויקט האדמין של ה-Multicast או פרויקט צרכן נפרד של ה-Multicast, בהתאם לטופולוגיה של דומיין ה-Multicast.
ZONE: האזור שבו רוצים להפעיל את רשת צרכני ה-multicast. האזור צריך להיות כזה שהאדמין הפעיל בו את טווח קבוצות ה-Multicast.
CONSUMER_ASSOCIATION_NAME: השם של שיוך צרכן ה-multicast שיצרתם קודם
ADMIN_PROJECT: המזהה של פרויקט האדמין של ה-Multicast
GROUP_RANGE_ACTIVATION_NAME: השם של הפעלת טווח הקבוצות שנוצרה על ידי מנהל ה-Multicast.
--[no-]enable-logging: אופציונלי, קובע אם רישום ביומן של אירועים לגבי חברות בקבוצה מופעל.- כדי להפעיל את הרישום ביומן, משתמשים ב-
--enable-logging. - (ברירת מחדל) כדי להשבית את הרישום ביומן, משתמשים באפשרות
--no-enable-logging.
- כדי להפעיל את הרישום ביומן, משתמשים ב-
API
כדי להפעיל רשת VPC של צרכן מולטיקאסט לטווח של קבוצת מולטיקאסט, משתמשים בשיטה multicastGroupConsumerActivations.create.
POST https://networkservices.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/ZONE/multicastGroupConsumerActivations?multicastGroupConsumerActivationId=GROUP_CONSUMER_ACTIVATION_NAME
{
"multicastConsumerAssociation": "projects/CONSUMER_PROJECT/locations/ZONE/multicastConsumerAssociations/CONSUMER_ASSOCIATION_NAME",
"multicastGroupRangeActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME",
"logConfig": {
"enabled": "LOGGING_ENABLED"
}
}
מחליפים את הערכים הבאים:
-
GROUP_CONSUMER_ACTIVATION_NAME: שם להפעלה של צרכן בקבוצת מולטיקאסט -
CONSUMER_PROJECT: מזהה הפרויקט. זה יכול להיות פרויקט האדמין של ה-Multicast או פרויקט צרכן נפרד של ה-Multicast, בהתאם לטופולוגיה של דומיין ה-Multicast. -
ZONE: האזור שבו רוצים להפעיל את רשת צרכני ה-multicast. האזור צריך להיות כזה שהאדמין הפעיל בו את טווח קבוצות ה-Multicast. -
CONSUMER_ASSOCIATION_NAME: השם של שיוך צרכן ה-multicast שיצרתם קודם -
ADMIN_PROJECT: המזהה של פרויקט האדמין של ה-Multicast -
GROUP_RANGE_ACTIVATION_NAME: השם של הפעלת טווח הקבוצות שנוצרה על ידי מנהל ההרשאות לשימוש בכתובות מולטיקאסט -
LOGGING_ENABLED: קובע אם רישום ביומן של אירועים לגבי חברות בקבוצה מופעל.- כדי להפעיל את הרישום ביומן, מגדירים את הערך
true. - (ברירת מחדל) כדי להשבית את הרישום ביומן, מגדירים את הערך
false.
- כדי להפעיל את הרישום ביומן, מגדירים את הערך
יצירת מופעים של צרכני multicast
אם עדיין לא עשיתם את זה, אתם צריכים ליצור מכונה אחת או יותר של Compute Engine כדי להריץ את האפליקציה שצורכת תנועת נתונים של Multicast. כדי ליצור מופע צרכן multicast או להגדיר מופע קיים כצרכן multicast, אפשר לעיין במאמר בנושא הגדרת מופעים של צרכני multicast.
המאמרים הבאים
- כדי לראות את ההגדרות של צרכני ה-multicast שיצרתם, אפשר לעיין במאמר בנושא צפייה בהגדרות של צרכני multicast.
- עדכון הגדרות של צרכני multicast
- הגדרת IGMP למופעי צרכן של multicast