הפעלת רשת VPC לצריכת תנועת multicast
בדף הזה מוסבר איך להגדיר משאבים ב-Google Cloud כדי שצרכני multicast ברשת VPC יוכלו לקבל תנועת multicast מדומיין multicast נתון ומטווח קבוצות אחד או יותר.
לפני שמתחילים
לפני שמתחילים את התהליכים שמתוארים בדף הזה, צריך להשלים את הדרישות המוקדמות שמתוארות בקטע הזה.
מוודאים שההגדרות של דומיין ה-multicast, טווח הקבוצות והיצרן הושלמו.
מוודאים שההגדרות של דומיין ה-multicast, טווח קבוצת ה-multicast ויצרן ה-multicast שמהם רוצים לצרוך תנועת multicast הושלמו, כמו שמתואר בסקירה הכללית על הגדרת Cloud Multicast. במקרה הצורך, פנו לאדמין של ה-multicast בדומיין.
הגדרת הפרויקט
מגדירים את ה-CLI של gcloud כך שישתמש בפרויקט של רשת ה-VPC של צרכן ה-multicast. לחלופין, אפשר להעביר את הדגל --project=PROJECT לכל פקודה בתהליכים הבאים.
gcloud config set project PROJECT
מחליפים את PROJECT במזהה הפרויקט.
הפעלת ממשקי ה-API
אם עדיין לא עשיתם את זה, הפעילו את ממשקי ה-API הבאים.
כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable.
אם אין לכם את ההרשאה הזו, בקשו מהאדמין של ניהול הזהויות והרשאות הגישה (IAM) להקצות לכם את התפקיד "אדמין של שימוש בשירות" (roles/serviceusage.serviceUsageAdmin).
כדי ליצור משאבי multicast, צריך להפעיל את ה-API של
networkservices:gcloud services enable networkservices.googleapis.comכדי ליצור VPC spoke ב-Network Connectivity Center (NCC), צריך להפעיל את ה-API של
networkconnectivity:gcloud services enable networkconnectivity.googleapis.com
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרת משאבי צרכן של multicast, צריך לבקש מהאדמין להקצות לכם את התפקידים הבאים ב-IAM:
-
כדי ליצור ולנהל משאבי רשת: אדמין של רשת Compute (
compute.networkAdmin) בפרויקט -
כדי ליצור ולנהל כללים של חומת אש: אדמין אבטחה ב-Compute (
compute.securityAdmin) בפרויקט -
כדי ליצור רכיבי Spoke של NCC:
אדמין של Spoke (
networkconnectivity.spokeAdmin) בפרויקט -
כדי להציע חיבור של רשתות Spoke ב-NCC ל-Hub שמשויך לדומיין Multicast:
משתמש בקבוצה (
networkconnectivity.groupUser) בפרויקט של האדמין של ה-Multicast -
כדי ליצור משאבי 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בשם של רשת הצרכן של ה-multicast.מוסיפים תת-רשת אחת או יותר לאירוח צרכני multicast באמצעות הפקודה
compute networks subnets create.gcloud compute networks subnets create SUBNET \ --network=MULTICAST_CONSUMER_NETWORK \ --range=PRIMARY_RANGE \ --region=REGION
מחליפים את הערכים הבאים:
-
SUBNET: השם של תת-הרשת -
MULTICAST_CONSUMER_NETWORK: השם של רשת הצרכן של ה-multicast שיצרתם קודם -
PRIMARY_RANGE: טווח ה-IPv4 הראשי של רשת המשנה, בסימון CIDR. מידע נוסף זמין במאמר טווחי רשתות משנה של IPv4. -
REGION: האזור ( Google Cloud ) שבו נוצרת תת-הרשת החדשה. האזור חייב לתמוך ב-multicast, כמוus-east5.
-
הוספת כללים לחומת האש
בקטע הזה מוסבר איך ליצור כללי חומת אש ברשת ה-VPC של הצרכן של ה-multicast, בשביל תעבורת הנתונים של ה-multicast.
כדי ליצור כללים נוספים של חומת האש, כמו ל-SSH, קראו את המאמר יצירת כללים של חומת האש ב-VPC.
הפקודות מאוכלסות מראש בשמות של כללי חומת אש לדוגמה. חשוב לזכור שהשם של כלל חומת האש חייב להיות ייחודי בפרויקט.
אישור תנועת multicast נכנסת
gcloud
כדי ליצור כלל חומת אש שמאפשר תעבורת נתונים נכנסת (ingress) ב-multicast לרשת ה-VPC מרשת ה-multicast של היצרן, משתמשים בפקודה 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: השם של רשת הצרכן של ה-multicast שיצרתם קודם
PORT: רשימת היציאות שכלל חומת האש חל עליהן. Google Cloud משתמש ב-udpלתנועת multicast. אפשר לציין יציאה או טווח יציאות אחרי הפרוטוקול שעליו חל כלל חומת האש, כדי להחיל את הכלל על תנועה דרך יציאות ספציפיות. אם לא מציינים יציאה או טווח יציאות, החיבורים מתבצעים דרך כל הטווחים.לדוגמה, מציינים את הערך
--rules=udp:1234כדי לאפשר תנועת multicast דרך יציאה 1234.
MULTICAST_PRODUCER_RANGE: טווח ה-CIDR של רשת ה-VPC של מפיק ה-multicast, שמשמש להקצאת כתובות IP למפיקי multicast. אפשר גם להשמיט את הדגל--source-ranges, ואז מקור תעבורת הנתונים הנכנסת מוגדר לכל כתובת IPv4 (0.0.0.0/0).
MULTICAST_GROUP_IP_RANGES: טווחי ה-CIDR של קבוצות ה-multicast שאליהן יצרני ה-multicast שולחים תנועה. הטווח הזה חייב להיות כתובת מסוג Class D. לדוגמה, אפשר להשתמש ב-224.0.0.0/4כדי לאפשר את כל תנועת ה-multicast.
אישור שאילתת 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 שיצרתם קודם -
MULTICAST_CONSUMER_RANGE: טווח ה-CIDR של רשת הצרכנים של ה-multicast, שמשמש להקצאת כתובות IP לצרכני ה-multicast.
הרשאה ל-IGMP יוצא
בקטע הזה מוסבר איך ליצור כלל של חומת אש שמאפשר תעבורת נתונים יוצאת של IGMP, כדי שתוכלו לשלוח הודעות IGMP JOIN ו-LEAVE מצרכני multicast.
לכל רשתות ה-VPC יש כלל ברירת מחדל שמאפשר תעבורה יוצאת ב-IPv4, עם העדיפות הנמוכה ביותר (65535). אם אין כלל בעדיפות גבוהה יותר שחוסם במפורש תעבורת נתונים יוצאת, אתם לא צריכים לבצע את השלב הזה. מידע נוסף זמין במאמר כללים משתמעים.
gcloud
כדי ליצור כלל חומת אש שמאפשר תעבורת IGMP יוצאת של multicast מרשת ה-VPC של צרכן ה-multicast, משתמשים בפקודה 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: השם של רשת הצרכן של ה-multicast שיצרתם קודם
RANGES_FOR_JOIN_AND_LEAVE: רשימה מופרדת בפסיקים של:- טווחי ה-CIDR של קבוצות ה-multicast שצרכני ה-multicast צריכים להצטרף אליהן. אתם צריכים להשתמש בטווחי כתובות מסוג Class D.
- כתובת ה-IP של כל הנתבים:
224.0.0.2/32. הטווח הזה נדרש כדי לשלוח הודעות עזיבה של IGMP.
לחלופין, אפשר לציין
224.0.0.0/4כדי לאפשר את כל תנועת ה-multicast.
הוספת רשת ה-VPC ל-NCC hub
בקטע הזה מוסבר איך להוסיף את רשת ה-VPC למרכז ה-NCC שיצר האדמין של ה-multicast. כדי להוסיף את הרשת, יוצרים VPC spoke בקבוצת edge.
מידע נוסף זמין במאמרים טופולוגיית כוכב ויצירת VPC spoke במסמכי התיעוד של NCC.
gcloud
כדי להוסיף את רשת ה-VPC כ-edge spoke לרכזת, משתמשים בפקודה
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: שם ל-edge spoke -
MULTICAST_ADMIN_PROJECT: מזהה הפרויקט של האדמין של ה-multicast
HUB: השם של מרכז ה-NCC שנוצר על ידי האדמין של ה-multicast. רשת ה-VPC של צרכן ה-multicast צריכה להיות מקושרת לאותו Hub כמו רשתות ה-VPC של מנהל ה-multicast ושל יצרן ה-multicast. במקרה הצורך, פנו לאדמין של ה-multicast כדי לקבל את שם הרכזת.
MULTICAST_CONSUMER_NETWORK: השם של רשת הצרכן של ה-multicast שיצרתם קודםאפשר גם לציין את ה-URI של רשת הצרכן של ה-multicast בפורמט הבא:
projects/MULTICAST_CONSUMER_PROJECT/global/networks/MULTICAST_CONSUMER_NETWORK.
INCLUDE_RANGES: רשימה מופרדת בפסיקים של טווחי כתובות IP לייצוא ל-hub.כברירת מחדל, ה-spoke מייצא את כל טווחי רשתות המשנה. כדי למנוע חפיפה עם רשתות Spoke אחרות ב-Hub, אפשר לציין אילו טווחי רשתות משנה לייצא. אם אתם מציינים טווחי תת-רשתות, ודאו שאתם כוללים את הטווחים שמארחים את צרכני ה-multicast וכל טווח אחר שנדרש לתקשורת עם ה-spokes בקבוצה המרכזית, כמו לתעבורת unicast.
Google Cloud אוסר על חפיפה בין תת-רשתות ב-VPC spokes, כמו שמתואר בקטע ייחודיות של מסלולים בתת-רשתות. מידע נוסף על שימוש במסנני ייצוא כדי למנוע חפיפה זמין במאמר קישוריות VPC עם מסנני ייצוא.
-
פונים לאדמין של ה-multicast כדי להודיע לו שהצעתם VPC spoke ל-hub.
אם ה-hub נמצא בפרויקט אחר, מנהל ה-multicast צריך לאשר באופן מפורש את ה-spoke לפני שהוא הופך לפעיל, אלא אם מנהל ה-multicast הוסיף את הפרויקט שלכם כפרויקט לאישור אוטומטי.
כדי לבדוק את הסטטוס של ה-spoke אחרי שיוצרים אותו, קראו את המאמר בדיקת הסטטוס של VPC spoke.
הפעלת רשת VPC לצריכת תנועת multicast
בקטע הזה מוסבר איך מאפשרים לצרכני multicast ברשת VPC לקבל תנועת multicast מדומיין נתון ומטווח קבוצות אחד או יותר.
הוספת רשת ה-VPC של צרכן ה-multicast לדומיין
בקטע הזה מוסבר איך מוסיפים לדומיין רשת VPC של צרכן multicast, על ידי יצירת שיוך צרכן multicast בין הרשת לדומיין.
מבצעים את השלבים הבאים בכל אזור שבו רוצים לארח צרכני multicast.
gcloud
כדי להוסיף לדומיין רשת VPC של צרכן multicast, משתמשים בפקודה 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 של צרכן multicast לטווח קבוצות.
מבצעים את השלבים הבאים לכל טווח של קבוצת multicast ואזור שבהם רוצים לצרוך תנועת multicast.
אחרי שתשלימו את השלב הזה, צרכני ה-multicast ברשת יוכלו להצטרף לכתובות ה-IP של קבוצת ה-multicast בטווח הקבוצה שצוין, בתנאי שהגדרתם את IGMP.
gcloud
כדי להפעיל רשת VPC של צרכן multicast לטווח של קבוצת multicast, משתמשים בפקודה 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: שם להפעלת הצרכן של קבוצת ה-multicast
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: שם להפעלת הצרכן של קבוצת ה-multicast -
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