マルチキャスト ドメインを作成する
このページでは、マルチキャスト ドメインを作成するために必要な手順について説明します。
マルチキャストの構成プロセスの概要については、マルチキャスト構成の概要をご覧ください。
始める前に
マルチキャスト ドメインを作成する前に、次のセクションをご覧ください。
VPC ネットワークを作成または識別する
まだ作成していない場合は、マルチキャスト管理者ネットワークとして使用する Virtual Private Cloud(VPC)ネットワークを作成します。VPC ネットワークの作成の詳細については、VPC ネットワークを作成して管理するをご覧ください。
マルチキャスト管理者ネットワークがマルチキャスト プロデューサーまたはコンシューマーもホストする場合(単一の VPC ネットワーク トポロジを使用する場合など)、マルチキャスト トラフィックを許可する適切なファイアウォール ルールがネットワークに設定されていることを確認してください。以下をご覧ください。
プロジェクトを設定する
プロジェクトを使用するように gcloud CLI を設定します。次の手順で各コマンドに --project=MULTICAST_ADMIN_PROJECT フラグを含めることもできます。
gcloud config set project MULTICAST_ADMIN_PROJECT
MULTICAST_ADMIN_PROJECT は、実際のプロジェクトの ID に置き換えます。
API を有効にする
まだ有効にしていない場合は、次の API を有効にします。
API を有効にするには、serviceusage.services.enable 権限が必要です。この権限がない場合は、Identity and Access Management(IAM)管理者に Service Usage 管理者(roles/serviceusage.serviceUsageAdmin)ロールを付与するよう依頼してください。
マルチキャスト リソースを作成するには、
networkservicesAPI を有効にします。gcloud services enable networkservices.googleapis.comNetwork Connectivity Center VPC スポークを作成するには、
networkconnectivityAPI を有効にします。gcloud services enable networkconnectivity.googleapis.com
必要なロール
マルチキャスト ドメインの作成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
ネットワーク リソースを作成して管理する: プロジェクトに対する Compute ネットワーク管理者(
compute.networkAdmin) -
ファイアウォール ルールを作成して管理する: プロジェクトに対する Compute セキュリティ管理者(
compute.securityAdmin) -
Network Connectivity Center のハブとスポークの作成と管理を行う: プロジェクトでの、ハブとスポークの管理者(
networkconnectivity.hubAdmin) -
マルチキャスト リソースを作成する: プロジェクトに対するマルチキャスト管理者(
networkservices.multicastAdmin)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Network Connectivity Center を構成する
Network Connectivity Center スタートポロジを使用するマルチキャスト ドメインを作成する場合は、このセクションの手順に沿ってハブを構成します。
単一の VPC ネットワーク トポロジを使用するマルチキャスト ドメインを作成する場合は、このセクションをスキップして、マルチキャスト ドメインを作成するに進みます。
このセクションでは、プリセットのスタートポロジを使用して Network Connectivity Center ハブを構成し、次のことを行う方法について説明します。
- 管理者 VPC ネットワークをセンター スポークとしてハブに追加できます。
- マルチキャスト プロデューサーの VPC ネットワークが別にある場合、マルチキャスト プロデューサーの VPC ネットワークはセンター スポークとしてハブに参加できます。
- マルチキャスト コンシューマーの VPC ネットワークは、エッジスポークとしてハブに参加できます。
詳細については、Network Connectivity Center のドキュメントのスタートポロジとハブを構成するをご覧ください。
gcloud
Network Connectivity Center を構成する手順は次のとおりです。
ハブを作成するには、
network-connectivity hubs createコマンドを使用します。gcloud network-connectivity hubs create HUB_NAME \ --policy-mode=PRESET \ --preset-topology=STARHUB_NAMEは、ハブの名前に置き換えます。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_NAME \ --vpc-network=MULTICAST_ADMIN_NETWORK \ --group="center" \ --global次のように置き換えます。
SPOKE_NAME: スポークの名前MULTICAST_ADMIN_PROJECT: マルチキャスト管理者プロジェクトの IDHUB_NAME: 前に作成した Network Connectivity Center ハブの名前MULTICAST_ADMIN_NETWORK: 前に作成したマルチキャスト管理者ネットワークの名前代わりに、
projects/MULTICAST_ADMIN_PROJECT/global/networks/MULTICAST_ADMIN_NETWORKの形式でマルチキャスト管理者ネットワークの URI を指定することもできます。
マルチキャスト コンシューマーの VPC ネットワークがハブに参加できるようにするには、次の操作を行います。また、マルチキャスト ドメインへのアクセスを制御するの説明に従って、マルチキャストの構成を続行し、後でこれらの手順を完了することもできます。
Network Connectivity Center ドキュメントのアクセス権を付与するの説明に従って、ハブに VPC スポークを提案する権限を他のプロジェクトのマルチキャスト コンシューマーのネットワーク管理者に付与します。
VPC ネットワークでマルチキャスト トラフィックを使用できるようにするの説明に従って、作成したハブに VPC ネットワークをスポークとして追加するようマルチキャスト コンシューマーのネットワーク管理者に依頼します。
必要に応じて、提案された VPC スポークを確認して、スポークの提案を受け入れます。
スポークの提案を受け入れたら、手順に沿って VPC スポークを承認します。
マルチキャスト ドメインを作成する
このセクションでは、マルチキャスト ドメインを作成する方法について説明します。
ドメイン グループを作成する
ドメイン グループを作成する場合は、ドメインを作成する前にこの手順を完了しておく必要があります。既存のドメインを後からドメイン グループに追加することはできません。
必要に応じて、ドメイン グループを作成して、関連する 2 つのドメインを明示的にグループ化できます。1 つのドメインまたは 3 つ以上のドメインに対してドメイン グループを作成しないでください。
ドメイン グループは、各ドメインのインフラストラクチャを Google Cloudの個別の高可用性シャードに配置することで、2 つの関連するマルチキャスト ドメイン間での高可用性を実現します。
gcloud
ドメイン グループを作成するには、network-services multicast-domain-groups create コマンドを使用します。
gcloud beta network-services multicast-domain-groups create DOMAIN_GROUP_NAME \ --location=global
DOMAIN_GROUP_NAME は、ドメイン グループの名前に置き換えます。
API
ドメイン グループを作成するには、multicastDomainGroups.create メソッドを使用します。
POST https://networkservices.googleapis.com/v1beta1/projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomainGroups?multicastDomainGroupId=DOMAIN_GROUP_NAME
次のように置き換えます。
DOMAIN_GROUP_NAME: ドメイン グループの名前MULTICAST_ADMIN_PROJECT: マルチキャスト管理者プロジェクトの ID
ドメインを作成する
マルチキャスト管理者の VPC ネットワークに関連付けられた 1 つ以上のマルチキャスト ドメインを作成します。
gcloud
ドメインを作成するには、network-services multicast-domains create コマンドを使用します。
ドメイン グループを使用する場合は、ドメインの作成時にドメイン グループを指定する必要があります。後からドメインをドメイン グループに追加することはできません。ドメイン グループに属するドメインを作成するには、次のコマンドを 2 回実行する必要があります(例: DOMAIN_1 と DOMAIN_2 を作成する場合)。
gcloud beta network-services multicast-domains create DOMAIN_NAME \
--location=global \
--admin-network=projects/MULTICAST_ADMIN_PROJECT/locations/global/networks/MULTICAST_ADMIN_NETWORK \
--connection-type=TOPOLOGY \
[--ncc-hub=projects/MULTICAST_ADMIN_PROJECT/locations/global/hubs/HUB_NAME] \
[--multicast-domain-group=projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomainGroups/DOMAIN_GROUP_NAME]
次の値を置き換えます。
DOMAIN_NAME: ドメインの名前MULTICAST_ADMIN_PROJECT: マルチキャスト管理者プロジェクトの IDMULTICAST_ADMIN_NETWORK: マルチキャスト管理者の VPC ネットワーク。Network Connectivity Center トポロジを使用している場合、このネットワークはセンター スポークとしてハブの一部である必要もあります。そうでない場合、ドメインの作成は失敗します。TOPOLOGY: マルチキャスト用に構成するトポロジ。次のいずれかを指定します。SAME_VPC: 単一 VPC ネットワーク トポロジ。NCC: Network Connectivity Center のスタートポロジ。
HUB_NAME: Network Connectivity Center のスタートポロジを構成する場合は、ハブの名前を指定します。DOMAIN_GROUP_NAME: ドメイン グループを作成した場合は、ドメイン グループの名前を入力します。
API
ドメインを作成するには、multicastDomains.create メソッドを使用します。
ドメイン グループを使用する場合は、ドメインの作成時にドメイン グループを指定する必要があります。後からドメインをドメイン グループに追加することはできません。ドメイン グループに属するドメインを作成するには、次の API リクエストを 2 回送信する必要があります。たとえば、次のリクエストを 1 回送信して DOMAIN_1 を作成し、もう一度リクエストを送信して DOMAIN_2 を作成します。
POST https://networkservices.googleapis.com/v1beta1/projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomains?multicastDomainId=DOMAIN_NAME
{
"adminNetwork": "projects/MULTICAST_ADMIN_PROJECT/locations/global/networks/MULTICAST_ADMIN_NETWORK",
"connection": {
"connectionType": "TOPOLOGY",
"nccHub": "projects/MULTICAST_ADMIN_PROJECT/locations/global/hubs/HUB_NAME"
},
"multicastDomainGroup": "projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomainGroups/DOMAIN_GROUP_NAME"
}
次の値を置き換えます。
DOMAIN_NAME: ドメインの名前MULTICAST_ADMIN_PROJECT: マルチキャスト管理者プロジェクトの IDMULTICAST_ADMIN_NETWORK: マルチキャスト管理者の VPC ネットワーク。Network Connectivity Center トポロジを使用している場合、このネットワークはセンター スポークとしてハブの一部である必要もあります。そうでない場合、ドメインの作成は失敗します。TOPOLOGY: マルチキャスト用に構成するトポロジ。次のいずれかを指定します。SAME_VPC: 単一 VPC ネットワーク トポロジ。NCC: Network Connectivity Center のスタートポロジ。
HUB_NAME: Network Connectivity Center のスタートポロジを構成する場合は、nccHubフィールドを使用してハブの名前を指定します。DOMAIN_GROUP_NAME: ドメイン グループを作成した場合は、multicastDomainGroupフィールドを使用してドメイン グループの名前を入力します。
ドメインを有効にする
マルチキャスト プロデューサーまたはコンシューマーがマルチキャスト トラフィックの送受信を行う必要がある各ゾーンでドメインを有効にします。ゾーンでドメインを有効にすると、Google Cloud はそのゾーンのドメインにマルチキャスト インフラストラクチャをプロビジョニングします。
特定のゾーンでドメインを有効にしないと、そのゾーンでマルチキャスト トラフィックを送受信できません。
gcloud
ドメインを有効にするには、network-services multicast-domain-activations create コマンドを使用します。
次のコマンドが完了するまでに 10~30 分ほどかかります。
gcloud beta network-services multicast-domain-activations create DOMAIN_ACTIVATION_NAME \
--multicast-domain="projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME" \
--location=ZONE \
[--aggr-egress-pps=AGGR_EGRESS_PPS] \
[--aggr-ingress-pps=AGGR_INGRESS_PPS] \
[--avg-packet-size=AVG_PACKET_SIZE] \
[--max-per-group-ingress-pps=MAX_PER_GROUP_INGRESS_PPS] \
[--max-per-group-subscribers=MAX_PER_GROUP_SUBSCRIBERS]
次の値を置き換えます。
DOMAIN_ACTIVATION_NAME: ドメインの有効化の名前MULTICAST_ADMIN_PROJECT: マルチキャスト管理者プロジェクトの IDDOMAIN_NAME: 有効にするドメインの名前ZONE: ドメインを有効にするゾーンこのゾーンのマルチキャスト トラフィックのニーズに応じて、次のプロパティを指定します。 Google Cloud は、これらのプロパティを使用してマルチキャスト インフラストラクチャの規模を決定します。
これらのプロパティを指定する前に、以下をご覧ください。
- 対応するマルチキャスト トラフィックの制限事項を確認します(マルチキャストの概要を参照)。
- これらのフラグを指定しない場合、 Google Cloudはテストに使用できる最小限の構成を生成します。
- これらのフラグの構成は後で更新できません。
- これらのフラグは省略可能ですが、いずれかのフラグを含める場合は、
--aggr-egress-ppsが必須フラグになります。
各フラグの詳細については、以下をご覧ください。
AGGR_EGRESS_PPS: 指定されたゾーンのドメイン内のすべてのマルチキャスト グループの下り(外向き)パケット/秒(pps)の合計。下り(外向き)のバケットとは、マルチキャスト インフラストラクチャからマルチキャスト コンシューマーに配信されるパケットを指します。0~500,000,000(5 億)の値を入力できます。デフォルト値は 1,000,000(100 万)です。他のフィールドのデフォルト値は、このフラグに入力した値に基づいて動的に設定されます。
AGGR_INGRESS_PPS: 指定されたゾーンのドメインのすべてのマルチキャスト グループの入力 pps を集計します。上り(内向き)バケットとは、マルチキャスト プロデューサーからマルチキャスト インフラストラクチャに送信されるパケットを指します。0~2,000,000(200 万)の値を入力できます。
--aggr-ingress-ppsに入力する値は、--aggr-egress-ppsの値より大きくすることはできません。AVG_PACKET_SIZE: パケットの平均サイズ(バイト単位)。64~1,500 までの値を入力できます。MAX_PER_GROUP_INGRESS_PPS: 指定されたゾーンのドメイン内の単一のマルチキャスト グループの上り(内向き)pps の最大値。このフラグを使用して、ドメイン内で最もアクティブなマルチキャスト グループを指定します。これにより、 Google Cloud はマルチキャスト インフラストラクチャに必要なスケールをより正確に判断できます。0~2,000,000(200 万)の値を入力できます。
--max-per-group-ingress-ppsに入力する値は、--aggr-ingress-ppsの値より大きくすることはできません。MAX_PER_GROUP_SUBSCRIBERS: 指定されたゾーンのドメイン内の 1 つのマルチキャスト グループに存在するマルチキャスト コンシューマーの最大数。このフラグを使用して、マルチキャスト コンシューマーが最も多いグループを指定します。これにより、 Google Cloud はマルチキャスト インフラストラクチャに必要な規模をより正確に判断できます。このフラグを指定しても、グループのマルチキャスト コンシューマーの数に上限は適用されません。1~500 までの値を入力できます。
API
ドメインを有効にするには、multicastDomainActivations.create メソッドを使用します。
次のリクエストの完了には 10~30 分ほどかかります。
POST https://networkservices.googleapis.com/v1beta1/projects/MULTICAST_ADMIN_PROJECT/locations/ZONE/multicastDomainActivations?multicastDomainActivationId=DOMAIN_ACTIVATION_NAME
{
"multicastDomain": "projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME",
"trafficSpec": {
"aggrEgressPps": "AGGR_EGRESS_PPS",
"aggrIngressPps": "AGGR_INGRESS_PPS",
"avgPacketSize": "AVG_PACKET_SIZE",
"maxPerGroupIngressPps": "MAX_PER_GROUP_INGRESS_PPS",
"maxPerGroupSubscribers": "MAX_PER_GROUP_SUBSCRIBERS"
}
}
次の値を置き換えます。
DOMAIN_ACTIVATION_NAME: ドメインの有効化の名前MULTICAST_ADMIN_PROJECT: マルチキャスト管理者プロジェクトの IDDOMAIN_NAME: 有効にするドメインの名前ZONE: ドメインを有効にするゾーンこのゾーンのマルチキャスト トラフィックのニーズに応じて、
trafficSpecオブジェクトの値を指定します。 Google Cloud は、これらのプロパティを使用してマルチキャスト インフラストラクチャの規模を決定します。これらのプロパティを指定する前に、以下をご覧ください。
- 対応するマルチキャスト トラフィックの制限事項を確認します(マルチキャストの概要を参照)。
- リクエスト本文に
trafficSpecオブジェクトを含めない場合、 Google Cloudはテストに使用できる最小限の構成を生成します。 - 後で
trafficSpecの構成を更新することはできません。 trafficSpecのフィールドは省略できますが、いずれかのフィールドを含める場合、aggrEgressPpsは必須フィールドになります。いくつかのフィールドを持つtrafficSpecオブジェクトを含める場合は、aggrEgressPpsを含める必要があります。
各フィールドの詳細については、以下をご覧ください。
AGGR_EGRESS_PPS: 指定されたゾーンのドメイン内のすべてのマルチキャスト グループの下り(外向き)パケット/秒(pps)の合計。下り(外向き)のバケットとは、マルチキャスト インフラストラクチャからマルチキャスト コンシューマーに配信されるパケットを指します。0~500,000,000(5 億)の値を入力できます。デフォルト値は 1,000,000(100 万)です。他のフィールドのデフォルト値は、このフィールドに入力した値に基づいて動的に設定されます。
AGGR_INGRESS_PPS: 指定されたゾーンのドメインのすべてのマルチキャスト グループの入力 pps を集計します。上り(内向き)バケットとは、マルチキャスト プロデューサーからマルチキャスト インフラストラクチャに送信されるパケットを指します。0~2,000,000(200 万)の値を入力できます。
aggrIngressPpsに入力する値は、aggrEgressPpsの値より大きくすることはできません。AVG_PACKET_SIZE: パケットの平均サイズ(バイト単位)。64~1,500 までの値を入力できます。MAX_PER_GROUP_INGRESS_PPS: 指定されたゾーンのドメイン内の単一のマルチキャスト グループの上り(内向き)pps の最大値。このフラグを使用して、ドメイン内で最もアクティブなマルチキャスト グループを指定します。これにより、 Google Cloud はマルチキャスト インフラストラクチャに必要なスケールをより正確に判断できます。0~2,000,000(200 万)の値を入力できます。
maxPerGroupIngressPpsに入力する値は、aggrIngressPpsの値より大きくすることはできません。MAX_PER_GROUP_SUBSCRIBERS: 指定されたゾーンのドメイン内の 1 つのマルチキャスト グループに存在するマルチキャスト コンシューマーの最大数。このフラグを使用して、マルチキャスト コンシューマーが最も多いグループを指定します。これにより、 Google Cloud はマルチキャスト インフラストラクチャに必要な規模をより正確に判断できます。このフラグを指定しても、グループのマルチキャスト コンシューマーの数に上限は適用されません。1~500 までの値を入力できます。
次のステップ
- 作成したマルチキャスト ドメイン構成を表示する。マルチキャスト ドメイン構成を表示するをご覧ください。
- マルチキャスト グループ範囲を作成する