VPC ネットワークでマルチキャスト トラフィックを生成できるようにする
このページでは、Google Cloud でリソースを構成して、VPC ネットワーク内のマルチキャスト プロデューサーが特定のマルチキャスト ドメインと 1 つ以上のグループ範囲のマルチキャスト トラフィックを送信できるようにする方法について説明します。
始める前に
このページの手順を始める前に、次のセクションで説明する前提条件を満たしている必要があります。
マルチキャスト ドメインとグループ範囲の構成が完了していることを確認する
マルチキャスト構成の概要の説明に従って、マルチキャスト トラフィックを生成するマルチキャスト ドメインとマルチキャスト グループの範囲の構成が完了していることを確認します。必要に応じて、ドメインのマルチキャスト管理者に連絡します。
プロジェクトを設定する
このページの手順では、マルチキャスト管理者のプロジェクトにマルチキャスト プロデューサー リソースを作成する必要があります。このプロジェクトには、マルチキャスト ドメインとグループ範囲のリソースが含まれています。
マルチキャスト管理者のプロジェクトを使用するように 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.spokeAdmin) -
マルチキャスト リソースを作成する: マルチキャスト管理者プロジェクトに対するマルチキャスト管理者(
networkservices.multicastAdmin)。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
VPC ネットワークを作成してハブに追加する
マルチキャスト ドメインが、1 つ以上の個別のマルチキャスト プロデューサー VPC ネットワークが存在する Network Connectivity Center スタートポロジを使用している場合は、このセクションの手順を完了する必要があります。
マルチキャスト ドメインが単一 VPC ネットワーク トポロジを使用している場合、またはマルチキャスト管理者ネットワークがマルチキャスト プロデューサー ネットワークとしても機能する Network Connectivity Center スタートポロジを使用している場合は、この手順をスキップして、VPC ネットワークでマルチキャスト トラフィックを生成できるようにするに直接進むことができます。
VPC ネットワークの作成
このセクションでは、マルチキャスト トラフィックを生成するために Virtual Private Cloud(VPC)ネットワークを作成する方法について説明します。
VPC ネットワークの作成の詳細については、VPC ネットワークを作成して管理するをご覧ください。
gcloud
compute networks createコマンドを使用して VPC ネットワークを作成します。gcloud compute networks create MULTICAST_PRODUCER_NETWORK --subnet-mode=custom
MULTICAST_PRODUCER_NETWORKは、マルチキャスト プロデューサー VPC ネットワークの名前に置き換えます。compute networks subnets createコマンドを使用して、マルチキャスト プロデューサーをホストするサブネットを 1 つ以上追加します。gcloud compute networks subnets create SUBNET \ --network=MULTICAST_PRODUCER_NETWORK \ --range=PRIMARY_RANGE \ --region=REGION
次の値を置き換えます。
SUBNET: サブネットの名前MULTICAST_PRODUCER_NETWORK: 前に作成したマルチキャスト プロデューサー ネットワークの名前PRIMARY_RANGE: サブネットのプライマリ IPv4 範囲(CIDR 表記)。詳細については、IPv4 サブネットの範囲をご覧ください。REGION: 新しいサブネットが作成される Google Cloud リージョン。us-east5など、マルチキャストをサポートするリージョンである必要があります。
ファイアウォール ルールを追加する
このセクションでは、マルチキャスト トラフィック用にマルチキャスト プロデューサー VPC ネットワークにファイアウォール ルールを作成する方法について説明します。
SSH などの追加のファイアウォール ルールを作成するには、VPC ファイアウォール ルールを作成するをご覧ください。
下り(外向き)マルチキャスト トラフィックを許可する
このセクションでは、VPC ネットワークからの下り(外向き)マルチキャスト トラフィックを許可するファイアウォール ルールの作成方法について説明します。
すべての VPC ネットワークには、優先度が最も低い(65535)デフォルトの IPv4 下り(外向き)許可ルールがあります。下り(外向き)トラフィックを明示的にブロックする優先度の高いルールがない場合は、この手順を完了する必要はありません。詳細については、暗黙のルールをご覧ください。
このコマンドには、ファイアウォール ルールの名前の例が事前に入力されています。ファイアウォール ルールの名前はプロジェクト内で一意にする必要があります。
gcloud
VPC ネットワークからの下り(外向き)マルチキャスト トラフィックを許可するファイアウォール ルールを作成するには、compute firewall-rules create コマンドを使用します。
gcloud compute firewall-rules create allow-multicast-egress --direction=EGRESS \ --priority=1000 \ --network=MULTICAST_PRODUCER_NETWORK \ --action=ALLOW \ --rules=udp[:PORT[-PORT]] \ --destination-ranges=MULTICAST_GROUP_IP_RANGES
次の値を置き換えます。
MULTICAST_PRODUCER_NETWORK: 前に作成したマルチキャスト プロデューサー ネットワークの名前PORT: ファイアウォール ルールが適用されるポートのリスト。 Google Cloud は、マルチキャスト トラフィックにudpを使用します。特定のポートを通過するトラフィックにファイアウォール ルールが適用されるプロトコルの後に、ポートまたはポート範囲を指定できます。ポートまたはポート範囲が指定されていない場合、すべての範囲の接続が適用されます。たとえば、ポート
1234経由のマルチキャスト トラフィックを許可するには、--rules=udp:1234を指定します。必要に応じて、
--rules=allを使用してすべてのプロトコルとポートを許可できます。MULTICAST_GROUP_IP_RANGES: マルチキャスト プロデューサーがトラフィックを送信するマルチキャスト グループの IP アドレス範囲。マルチキャスト IP アドレス範囲はクラス D アドレス範囲である必要があります。たとえば、224.0.0.0/4を使用すると、すべてのマルチキャスト トラフィックを許可できます。
VPC ネットワークを Network Connectivity Center ハブに追加する
このセクションでは、マルチキャスト管理者が作成した Network Connectivity Center ハブに VPC ネットワークを追加する方法について説明します。ネットワークを追加するには、センター グループに VPC スポークを作成します。
詳細については、Network Connectivity Center のドキュメントのスタートポロジと VPC スポークを作成するをご覧ください。
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_NAME \
--vpc-network=MULTICAST_PRODUCER_NETWORK \
--group="center" \
--global \
--include-export-ranges=INCLUDE_RANGES
次の値を置き換えます。
SPOKE_NAME: スポークの名前MULTICAST_ADMIN_PROJECT: マルチキャスト管理者プロジェクトの IDHUB_NAME: マルチキャスト管理者が作成した Network Connectivity Center ハブの名前MULTICAST_PRODUCER_NETWORK: 前に作成したマルチキャスト プロデューサー ネットワークの名前代わりに、
projects/MULTICAST_ADMIN_PROJECT/global/networks/MULTICAST_PRODUCER_NETWORKの形式でマルチキャスト管理者ネットワークの URI を指定することもできます。INCLUDE_RANGES: ハブにエクスポートする IP アドレス範囲のカンマ区切りリスト。デフォルトでは、スポークはすべてのサブネット範囲をエクスポートします。ハブ上の他のスポークとの重複を避けるため、エクスポートするサブネット範囲を指定できます。サブネット範囲を指定する場合は、マルチキャスト プロデューサーをホストする範囲と、ユニキャスト トラフィックなど、他のスポークとの通信に必要なその他の範囲を含めるようにしてください。
Google Cloud は、サブネット ルートの一意性で説明されているように、VPC スポーク間のサブネットの重複を禁止します。エクスポート フィルタを使用して重複を回避する方法については、エクスポート フィルタを使用した VPC 接続をご覧ください。
VPC ネットワークでマルチキャスト トラフィックを生成できるようにする
このセクションでは、VPC ネットワークでマルチキャスト プロデューサーを有効にして、特定のドメインと 1 つ以上のグループ範囲のマルチキャスト トラフィックを送信するために必要な手順について説明します。
マルチキャスト プロデューサー VPC ネットワークをドメインに追加する
このセクションでは、ネットワークとドメインの間にマルチキャスト プロデューサーの関連付けを作成して、マルチキャスト プロデューサー VPC ネットワークをドメインに追加する方法について説明します。
マルチキャスト プロデューサーをホストする各ゾーンで、次の手順を完了します。
gcloud
マルチキャスト プロデューサー VPC ネットワークをドメインに追加するには、network-services multicast-producer-associations create コマンドを使用します。
gcloud beta network-services multicast-producer-associations create PRODUCER_ASSOCIATION_NAME \
--multicast-domain-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME" \
--network=projects/ADMIN_PROJECT/locations/global/networks/MULTICAST_PRODUCER_NETWORK \
--location=ZONE
次の値を置き換えます。
PRODUCER_ASSOCIATION_NAME: マルチキャスト プロデューサーの関連付けの一意の名前。ADMIN_PROJECT: マルチキャスト管理者プロジェクトの IDZONE: 管理者がマルチキャスト ドメインを有効にし、マルチキャスト プロデューサーをホストするゾーン。DOMAIN_ACTIVATION_NAME: マルチキャスト管理者が作成したドメインの有効化の名前MULTICAST_PRODUCER_NETWORK: マルチキャスト トラフィックを生成する VPC ネットワーク。ドメインのマルチキャスト トポロジに応じて、マルチキャスト管理者ネットワークか、個別のマルチキャスト プロデューサー ネットワークにします。
API
マルチキャスト プロデューサー VPC ネットワークをドメインに追加するには、multicastProducerAssociations.create メソッドを使用します。
POST https://networkservices.googleapis.com/v1beta1/projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations?multicastProducerAssociationId=PRODUCER_ASSOCIATION_NAME
{
"multicastDomainActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME",
"network": "projects/ADMIN_PROJECT/locations/global/networks/MULTICAST_PRODUCER_NETWORK"
}
次の値を置き換えます。
PRODUCER_ASSOCIATION_NAME: マルチキャスト プロデューサーの関連付けの一意の名前。ADMIN_PROJECT: マルチキャスト管理者プロジェクトの IDZONE: 管理者がマルチキャスト ドメインを有効にし、マルチキャスト プロデューサーをホストするゾーン。DOMAIN_ACTIVATION_NAME: マルチキャスト管理者が作成したドメインの有効化の名前MULTICAST_PRODUCER_NETWORK: マルチキャスト トラフィックを生成する VPC ネットワーク。ドメインのマルチキャスト トポロジに応じて、マルチキャスト管理者ネットワークか、個別のマルチキャスト プロデューサー ネットワークにします。
グループ範囲のマルチキャスト プロデューサー VPC ネットワークを有効にする
このセクションでは、グループ範囲のマルチキャスト プロデューサー VPC ネットワークを有効にする方法について説明します。
マルチキャスト トラフィックを生成するマルチキャスト グループ範囲とゾーンごとに、次の手順を完了します。
gcloud
グループ範囲のマルチキャスト プロデューサー VPC ネットワークを有効にするには、network-services multicast-group-producer-activations create コマンドを使用します。
gcloud beta network-services multicast-group-producer-activations create GROUP_PRODUCER_ACTIVATION_NAME \
--multicast-producer-association="projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations/PRODUCER_ASSOCIATION_NAME" \
--multicast-group-range-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME" \
--location=ZONE
次の値を置き換えます。
GROUP_PRODUCER_ACTIVATION_NAME: マルチキャスト グループ プロデューサーの有効化の一意の名前ADMIN_PROJECT: マルチキャスト管理者のプロジェクト IDZONE: マルチキャスト プロデューサー ネットワークを有効にするゾーン。対応するマルチキャスト プロデューサーの関連付けとマルチキャスト グループ範囲の有効化もこのゾーンに存在する必要があります。PRODUCER_ASSOCIATION_NAME: 前に作成したマルチキャスト プロデューサーの関連付けの名前GROUP_RANGE_ACTIVATION_NAME: マルチキャスト管理者が作成したマルチキャスト グループ範囲の有効化の名前
API
グループ範囲のマルチキャスト プロデューサー VPC ネットワークを有効にするには、multicastGroupProducerActivations.create メソッドを使用します。
POST https://networkservices.googleapis.com/v1beta1/projects/ADMIN_PROJECT/locations/ZONE/multicastGroupProducerActivations?multicastGroupProducerActivationId=GROUP_PRODUCER_ACTIVATION_NAME
{
"multicastProducerAssociation": "projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations/PRODUCER_ASSOCIATION_NAME",
"multicastGroupRangeActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME"
}
次の値を置き換えます。
GROUP_PRODUCER_ACTIVATION_NAME: マルチキャスト グループ プロデューサーの有効化の一意の名前ADMIN_PROJECT: マルチキャスト管理者のプロジェクト IDZONE: マルチキャスト プロデューサー ネットワークを有効にするゾーン。対応するマルチキャスト プロデューサーの関連付けとマルチキャスト グループ範囲の有効化もこのゾーンに存在する必要があります。PRODUCER_ASSOCIATION_NAME: 前に作成したマルチキャスト プロデューサーの関連付けの名前GROUP_RANGE_ACTIVATION_NAME: マルチキャスト管理者が作成したマルチキャスト グループ範囲の有効化の名前
マルチキャスト プロデューサー インスタンスを作成する
まだ作成していない場合は、マルチキャスト トラフィックを生成するアプリケーションを実行する 1 つ以上の VM インスタンスを作成します。インスタンスの作成の詳細については、Compute Engine インスタンスの作成と開始をご覧ください。
次のステップ
- 作成したマルチキャスト プロデューサーの構成を表示する。マルチキャスト プロデューサーの構成を表示するをご覧ください。
- VPC ネットワークでマルチキャスト トラフィックを使用できるようにする