マルチキャスト グループ範囲を作成する

このページでは、マルチキャスト管理者がマルチキャスト グループ範囲を作成するために必要な手順について説明します。

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

始める前に

マルチキャスト グループ範囲は、特定のマルチキャスト ドメインに関連付ける必要があります。マルチキャスト グループ範囲を作成する前に、マルチキャスト ドメインを作成するの手順に沿って操作します。

マルチキャスト グループ範囲を作成する

このセクションでは、ドメインにマルチキャスト グループ範囲を作成する方法について説明します。これらの手順を繰り返して、特定のドメインに複数のグループ範囲を作成できます。

グループ範囲を作成する

マルチキャスト グループの IP アドレス範囲をマルチキャスト ドメインに関連付けます。

gcloud

  1. 使用するマルチキャスト グループ IP アドレスを含むマルチキャスト管理者 VPC ネットワークに内部範囲を予約します。内部範囲を予約するには、network-connectivity internal-ranges create コマンドを使用します。

    gcloud network-connectivity internal-ranges create INTERNAL_RANGE_NAME \
       --network=ADMIN_NETWORK \
       --ip-cidr-range=CIDR_RANGE
    

    次の値を置き換えます。

    • INTERNAL_RANGE_NAME: 予約する内部範囲の名前
    • ADMIN_NETWORK: マルチキャスト管理者ネットワークの名前
    • CIDR_RANGE: 予約する CIDR 範囲

      指定する CIDR 範囲はクラス D アドレス(224.0.0.0239.255.255.255 など)で、/23 以上のプレフィックスが必要です。たとえば、224.1.60.0/24 は有効な範囲です。プレフィックス長が /22 以下の範囲は無効です。

    内部範囲の作成の詳細については、内部範囲を作成して使用するをご覧ください。

  2. 予約した内部範囲を使用して、マルチキャスト グループ範囲を作成します。マルチキャスト グループ範囲を作成するには、network-services multicast-group-ranges create コマンドを使用します。

    gcloud beta network-services multicast-group-ranges create GROUP_RANGE_NAME \
       --multicast-domain="projects/ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME" \
       --reserved-internal-range="projects/ADMIN_PROJECT/locations/global/internalRanges/INTERNAL_RANGE_NAME" \
       --location=global \
       [--require-explicit-accept ] \
       [--consumer-accept-list=CONSUMER_ACCEPT_LIST] \
       [--distribution-scope=DISTRIBUTION_SCOPE] \
       [--enable-logging | --no-enable-logging]
    

    次の値を置き換えます。

    • GROUP_RANGE_NAME: マルチキャスト グループ範囲の一意の名前
    • DOMAIN_NAME: 前に作成したマルチキャスト ドメインの名前
    • ADMIN_PROJECT: マルチキャスト管理者プロジェクトの ID
    • INTERNAL_RANGE_NAME: 以前に予約した内部範囲の名前
    • マルチキャスト トラフィック、グループ メンバーシップ、ロギングに次のプロパティを指定します。

      トラフィック分散スコープを除き、必要に応じて各プロパティを後で更新できます。

      • --require-explicit-accept: マルチキャスト コンシューマーの許可リストが空の場合に、マルチキャスト グループ範囲を使用できるプロジェクトを指定します。
        • すべてのプロジェクトを拒否するには、このフラグを含めます。プロジェクトでグループ範囲を使用できるのは、マルチキャスト コンシューマーの承認リストに追加した場合のみです。
        • (デフォルト)すべてのプロジェクトを許可するには、このフラグを除外します。マルチキャスト ドメインにアクセスできるプロジェクトは、グループ範囲を使用できます。Network Connectivity Center のスタートポロジでは、ハブにドメインを承認することで、プロジェクトにドメインへのアクセス権を付与します。
      • CONSUMER_ACCEPT_LIST: --require-explicit-accept を指定した場合は、このマルチキャスト グループ範囲を使用できるマルチキャスト コンシューマー プロジェクトのリストを入力できます。

        プロジェクト ID または名前で最大 100 個のプロジェクトを指定できます。

      • DISTRIBUTION_SCOPE: マルチキャスト トラフィックのロケーション スコープを指定します。このプロパティは後で更新できません。

        • この範囲においてゾーン内でのみマルチキャスト トラフィックを送信できるようにするには、このフラグを intra-zone に設定します。
        • (デフォルト)この範囲でゾーン間のマルチキャスト トラフィックを送信できるようにするには、このフラグを intra-region に設定します。
      • --[no-]enable-logging: グループ メンバーシップのイベント ロギングが有効かどうかを指定します。

        • ロギングを有効にするには、--enable-logging を使用します。
        • (デフォルト)ロギングを無効にするには、--no-enable-logging を使用します。

API

  1. 使用するマルチキャスト グループ IP アドレスを含むマルチキャスト管理者 VPC ネットワークに内部範囲を予約します。内部範囲を予約するには、internalRanges.create メソッドを使用します。

    POST https://networkconnectivity.googleapis.com/v1/projects/ADMIN_PROJECT/locations/global/internalRanges?internalRangeId=INTERNAL_RANGE_NAME
    {
      "network": "projects/ADMIN_PROJECT/global/networks/ADMIN_NETWORK",
      "ipCidrRange": "CIDR_RANGE"
    }
    

    次の値を置き換えます。

    • INTERNAL_RANGE_NAME: 予約する内部範囲の名前
    • ADMIN_PROJECT: マルチキャスト管理者プロジェクトの ID
    • ADMIN_NETWORK: マルチキャスト管理者ネットワークの名前
    • CIDR_RANGE: 予約する CIDR 範囲

      指定する CIDR 範囲はクラス D アドレス(224.0.0.0239.255.255.255 など)で、/23 以上のプレフィックスが必要です。たとえば、224.1.60.0/24 は有効な範囲です。プレフィックス長が /22 以下の範囲は無効です。

    内部範囲の作成の詳細については、内部範囲を作成して使用するをご覧ください。

  2. 予約した内部範囲を使用して、マルチキャスト グループ範囲を作成します。マルチキャスト グループ範囲を作成するには、multicastGroupRanges.create メソッドを使用します。

    POST https://networkservices.googleapis.com/v1beta1/projects/ADMIN_PROJECT/locations/global/multicastGroupRanges?multicastGroupRangeId=GROUP_RANGE_NAME
    {
      "multicastDomain": "projects/ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME",
      "reservedInternalRange": "projects/ADMIN_PROJECT/locations/global/internalRanges/INTERNAL_RANGE_NAME",
      "requireExplicitAccept": "REQUIRE_EXPLICIT_ACCEPT",
      "consumerAcceptList": [
          "CONSUMER_ACCEPT_LIST"
      ],
      "distributionScope": "DISTRIBUTION_SCOPE",
      "logConfig": {
          "enabled": "LOGGING_ENABLED"
     }
    }
    

    次の値を置き換えます。

    • GROUP_RANGE_NAME: マルチキャスト グループ範囲の一意の名前
    • ADMIN_PROJECT: マルチキャスト管理者プロジェクトの ID
    • DOMAIN_NAME: 前に作成したマルチキャスト ドメインの名前
    • INTERNAL_RANGE_NAME: 以前に予約した内部範囲の名前

    マルチキャスト トラフィック、グループ メンバーシップ、ロギングのプロパティを指定するには、リクエスト本文に次のフィールドを含めます。distributionScope を除き、必要に応じて各プロパティを後で更新できます。

    • REQUIRE_EXPLICIT_ACCEPT: consumerAcceptList が空の場合に、マルチキャスト グループ範囲を使用できるプロジェクトを指定します。
      • すべてのプロジェクトを拒否するには、true に設定します。プロジェクトでグループ範囲を使用できるのは、consumerAcceptList に追加した場合のみです。
      • (デフォルト)すべてのプロジェクトを許可するには、false に設定します。マルチキャスト ドメインにアクセスできるプロジェクトは、グループ範囲を使用できます。Network Connectivity Center のスタートポロジでは、ハブにドメインを承認することで、プロジェクトにドメインへのアクセス権を付与します。
    • CONSUMER_ACCEPT_LIST: requireExplicitAccepttrue に設定した場合は、このマルチキャスト グループ範囲を使用できるマルチキャスト コンシューマー プロジェクトのリストを入力できます。プロジェクト ID または名前で最大 100 個のプロジェクトを指定できます。 形式は "consumerAcceptList": ["project-1", "project-2"] のようにします。
    • DISTRIBUTION_SCOPE: マルチキャスト トラフィックのロケーション スコープを指定します。このプロパティは後で更新できません。
      • この範囲においてゾーン内でのみマルチキャスト トラフィックを送信できるようにするには、INTRA_ZONE に設定します。
      • (デフォルト)この範囲でゾーン間のマルチキャスト トラフィックを送信できるようにするには、INTRA_REGION に設定します。
    • LOGGING_ENABLED: グループ メンバーシップのイベント ロギングが有効かどうかを指定します。
      • ロギングを有効にするには、true に設定します。
      • (デフォルト)ロギングを無効にするには、false に設定します。

グループ範囲を有効にする

マルチキャスト プロデューサーまたはコンシューマーが関連付けられたグループ IP アドレスを使用する必要がある各ゾーンで、グループ範囲を有効にします。

特定のゾーンでグループ範囲を有効にしないと、関連付けられたグループ IP アドレスを使用して、そのゾーンでマルチキャスト トラフィックを送受信できません。

gcloud

マルチキャスト グループ範囲の説明を取得するには、network-services multicast-group-range-activations create コマンドを使用します。

  gcloud beta network-services multicast-group-range-activations create GROUP_RANGE_ACTIVATION_NAME \
     --multicast-domain-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME" \
     --multicast-group-range="projects/ADMIN_PROJECT/locations/global/multicastGroupRanges/GROUP_RANGE_NAME" \
     --location=ZONE \
     [--enable-logging | --no-enable-logging]

次の値を置き換えます。

  • GROUP_RANGE_ACTIVATION_NAME: マルチキャスト グループ範囲の有効化の名前
  • ADMIN_PROJECT: マルチキャスト管理者のプロジェクト ID
  • ZONE: グループ範囲を有効にするゾーン。これは、以前にドメインを有効にしたゾーンである必要があります。
  • DOMAIN_ACTIVATION_NAME: このゾーンで以前に作成したドメインの有効化の名前
  • GROUP_RANGE_NAME: 以前に作成したグループ範囲の名前
  • --[no-]enable-logging: 省略可。グループ メンバーシップのイベント ロギングを有効にするかどうかを指定します。このフラグをゾーングループ範囲の有効化で構成すると、グローバル グループ範囲の設定がオーバーライドされます。
    • ロギングを有効にするには、--enable-logging を使用します。
    • (デフォルト)ロギングを無効にするには、--no-enable-logging を使用します。

API

マルチキャスト グループ範囲の説明を取得するには、multicastGroupRangeActivations.create メソッドを使用します。

POST https://networkservices.googleapis.com/v1beta1/projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations?multicastGroupRangeActivationId=GROUP_RANGE_ACTIVATION_NAME
{
    "multicastDomainActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME",
    "multicastGroupRange": "projects/ADMIN_PROJECT/locations/global/multicastGroupRanges/GROUP_RANGE_NAME",
    "logConfig": {
          "enabled": "LOGGING_ENABLED"
    }
}

次の値を置き換えます。

  • GROUP_RANGE_ACTIVATION_NAME: マルチキャスト グループ範囲の有効化の名前
  • ADMIN_PROJECT: マルチキャスト管理者のプロジェクト ID
  • ZONE: グループ範囲を有効にするゾーン。これは、以前にドメインを有効にしたゾーンである必要があります。
  • DOMAIN_ACTIVATION_NAME: このゾーンで以前に作成したドメインの有効化の名前
  • GROUP_RANGE_NAME: 以前に作成したグループ範囲の名前
  • LOGGING_ENABLED: グループ メンバーシップのイベント ロギングが有効かどうかを指定します。ゾーングループ範囲の有効化でロギングを構成すると、グローバル グループ範囲の設定がオーバーライドされます。
    • ロギングを有効にするには、true に設定します。
    • (デフォルト)ロギングを無効にするには、false に設定します。

次のステップ