マルチキャスト ドメインを作成する

このページでは、マルチキャスト ドメインを作成するために必要な手順について説明します。

マルチキャストの構成プロセスの概要については、マルチキャスト構成の概要をご覧ください。

始める前に

マルチキャスト ドメインを作成する前に、次のセクションをご覧ください。

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)ロールを付与するよう依頼してください。

  1. マルチキャスト リソースを作成するには、networkservices API を有効にします。

        gcloud services enable networkservices.googleapis.com
    
  2. Network Connectivity Center VPC スポークを作成するには、networkconnectivity API を有効にします。

        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 を構成する手順は次のとおりです。

  1. ハブを作成するには、network-connectivity hubs create コマンドを使用します。

      gcloud network-connectivity hubs create HUB_NAME \
        --policy-mode=PRESET \
        --preset-topology=STAR
    

    HUB_NAME は、ハブの名前に置き換えます。

  2. 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: マルチキャスト管理者プロジェクトの ID
    • HUB_NAME: 前に作成した Network Connectivity Center ハブの名前
    • MULTICAST_ADMIN_NETWORK: 前に作成したマルチキャスト管理者ネットワークの名前

      代わりに、projects/MULTICAST_ADMIN_PROJECT/global/networks/MULTICAST_ADMIN_NETWORK の形式でマルチキャスト管理者ネットワークの URI を指定することもできます。

  3. マルチキャスト コンシューマーの VPC ネットワークがハブに参加できるようにするには、次の操作を行います。また、マルチキャスト ドメインへのアクセスを制御するの説明に従って、マルチキャストの構成を続行し、後でこれらの手順を完了することもできます。

    1. Network Connectivity Center ドキュメントのアクセス権を付与するの説明に従って、ハブに VPC スポークを提案する権限を他のプロジェクトのマルチキャスト コンシューマーのネットワーク管理者に付与します。

    2. VPC ネットワークでマルチキャスト トラフィックを使用できるようにするの説明に従って、作成したハブに VPC ネットワークをスポークとして追加するようマルチキャスト コンシューマーのネットワーク管理者に依頼します。

    3. 必要に応じて、提案された VPC スポークを確認して、スポークの提案を受け入れます。

    4. スポークの提案を受け入れたら、手順に沿って 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_1DOMAIN_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: マルチキャスト管理者プロジェクトの ID
  • MULTICAST_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: マルチキャスト管理者プロジェクトの ID
  • MULTICAST_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: マルチキャスト管理者プロジェクトの ID
  • DOMAIN_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: マルチキャスト管理者プロジェクトの ID
  • DOMAIN_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 までの値を入力できます。

次のステップ