הפעלת האפשרות לצריכת תעבורת Multicast ברשת VPC
בדף הזה מוסבר איך להגדיר משאבים ב-Google Cloud כדי שצרכני מולטיקאסט ברשת VPC יוכלו לקבל תעבורת מולטיקאסט מדומיין מולטיקאסט נתון ומטווח אחד או יותר של קבוצות.
לפני שמתחילים
לפני שמתחילים בתהליכים שמתוארים בדף הזה, צריך לוודא שמתקיימים התנאים המוקדמים שמתוארים בקטע הזה.
מוודאים שההגדרות של הדומיין של שידור מרובה משתתפים, טווח הקבוצות וההגדרות של המפיק הושלמו
מוודאים שההגדרות של דומיין ה-multicast, טווח קבוצות ה-multicast והגדרות יצירת ה-multicast שרוצים להשתמש בהן לתעבורת ה-multicast הושלמו כמו שמתואר בסקירה הכללית של הגדרת Cloud 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 (
compute.networkAdmin) בפרויקט -
כדי ליצור ולנהל כללי חומת אש: התפקיד 'אדמין אבטחה ב-Compute' (
compute.securityAdmin) בפרויקט. -
כדי ליצור רשתות Spoke ב-NCC:
Spoke Admin (
networkconnectivity.spokeAdmin) בפרויקט -
כדי להציע רשתות מסוג Spoke ב-NCC ל-Hub שמשויך לדומיין Multicast:
Group User (
networkconnectivity.groupUser) on the multicast administrator project -
כדי ליצור משאבי Multicast:
אדמין Multicast (
networkservices.multicastAdmin) בפרויקט
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת רשת VPC והוספה שלה ל-hub
אם דומיין ה-Multicast משתמש בטופולוגיית כוכב של NCC שבה יש רשתות VPC נפרדות של צרכני Multicast, צריך לבצע את השלבים שבקטע הזה.
אם דומיין ה-Multicast משתמש בטופולוגיה של רשת VPC יחידה, אפשר לדלג על הקטע הזה ולעבור ישירות לשלבים של הפעלת האפשרות לרשת ה-VPC לצרוך תנועת Multicast.
יצירת רשת 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לתנועת מולטיקאסט. אפשר לציין יציאה או טווח יציאות אחרי הפרוטוקול שאליו חל כלל חומת האש על תעבורת נתונים דרך יציאות ספציפיות. אם לא מציינים יציאה או טווח יציאות, ההגבלה חלה על חיבורים בכל הטווחים.לדוגמה, מציינים
--rules=udp:1234כדי לאפשר תנועת מולטיקאסט דרך יציאה 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.
התרת תעבורת נתונים יוצאת של 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 שנוצר על ידי האדמין של שידור מרובה כתובות. כדי להוסיף את הרשת, יוצרים רשת VPC מסוג Spoke בקבוצת הקצה.
מידע נוסף זמין במאמרים בנושא טופולוגיית כוכב ויצירת רשת VPC מסוג Spoke במסמכי NCC.
gcloud
כדי להוסיף את רשת ה-VPC שלכם כרשת משנית קצה לרשת מרכזית, משתמשים בפקודה
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 שנוצר על ידי מנהל ה-Multicast. רשת ה-VPC של צרכן ה-multicast צריכה להיות מצורפת לאותו מרכז כמו רשתות ה-VPC של מנהל ה-multicast ושל מקור ה-multicast. במקרה הצורך, פנו לאדמין של ה-Multicast כדי לקבל את שם הרכזת.
MULTICAST_CONSUMER_NETWORK: השם של רשת הצרכנים של שידור מרובה משתתפים שיצרתם קודםאפשר גם לספק את ה-URI של רשת הצרכנים של שידור מרובה כתובות באמצעות הפורמט הבא:
projects/MULTICAST_CONSUMER_PROJECT/global/networks/MULTICAST_CONSUMER_NETWORK.
INCLUDE_RANGES: רשימה מופרדת בפסיקים של טווחי כתובות IP לייצוא אל המרכז.כברירת מחדל, הרשת המקומית מייצאת את כל טווחי רשתות המשנה. כדי למנוע חפיפה עם רשתות משנה אחרות במרכז, אפשר לציין אילו טווחי רשתות משנה לייצא. אם מציינים טווחי רשתות משנה, צריך לוודא שכוללים את הטווחים שמארחים צרכני Multicast ואת כל הטווחים האחרים שנדרשים לתקשורת עם הרשתות המשנה בקבוצה המרכזית, למשל לתנועת unicast.
Google Cloud prohibits subnet overlaps across VPC spokes as described in Subnet route uniqueness. מידע נוסף על שימוש במסנני ייצוא כדי למנוע חפיפה זמין במאמר קישוריות VPC עם מסנני ייצוא.
-
פונים לאדמין של ה-Multicast כדי להודיע לו שהצעתם רשת מסוג Spoke ב-VPC ל-Hub.
אם ה-hub נמצא בפרויקט אחר, האדמין של ה-multicast צריך לאשר באופן מפורש את ה-spoke לפני שהוא הופך לפעיל, אלא אם האדמין של ה-multicast הוסיף את הפרויקט שלכם כפרויקט עם אישור אוטומטי.
כדי לבדוק את הסטטוס של רשת spoke אחרי שיוצרים אותה, אפשר לעיין במאמר בדיקת הסטטוס של רשת spoke ב-VPC.
הפעלת האפשרות לצריכת תעבורת Multicast ברשת VPC
בקטע הזה מוסבר איך מאפשרים לצרכני multicast ברשת VPC לקבל תעבורת multicast מדומיין נתון ומטווח אחד או יותר של קבוצות.
הוספת רשת VPC של צרכן multicast לדומיין
בקטע הזה מוסבר איך להוסיף רשת VPC של צרכן מולטיקאסט לדומיין על ידי יצירת שיוך צרכן 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 של צרכן מ-multicast לטווח קבוצות
בקטע הזה מוסבר איך להפעיל רשת 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 של צרכן מ-multicast לטווח של קבוצת multicast, משתמשים בשיטה 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: השם של הפעלת טווח הקבוצות שנוצרה על ידי אדמין ה-Multicast -
LOGGING_ENABLED: קובע אם רישום ביומן של אירועים לגבי חברות בקבוצה מופעל.- כדי להפעיל את הרישום ביומן, מגדירים את הערך
true. - (ברירת מחדל) כדי להשבית את הרישום ביומן, מגדירים את הערך
false.
- כדי להפעיל את הרישום ביומן, מגדירים את הערך
יצירת מופעים של צרכני multicast
אם עדיין לא עשיתם זאת, צרו מכונה אחת או יותר של Compute Engine כדי להריץ את האפליקציה שצורכת תעבורת Multicast. כדי ליצור מופע צרכן multicast או להגדיר מופע קיים כצרכן multicast, אפשר לעיין במאמר הגדרת מופעים של צרכני multicast.
המאמרים הבאים
- כדי לראות את ההגדרות של צרכני ה-multicast שיצרתם, אפשר לעיין במאמר בנושא הצגת ההגדרות של צרכני ה-multicast.
- עדכון הגדרות של צרכני multicast
- הגדרת IGMP למופעי צרכן של multicast