翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Transit Gateway でのマルチキャスト
マルチキャストは、単一のデータストリームを複数の受信コンピュータに同時に配信するために使用される通信プロトコルです。Transit Gateway は、接続された VPC のサブネット間のマルチキャストトラフィックのルーティングをサポートし、複数の受信インスタンス宛てのトラフィックを送信するインスタンスのマルチキャストルーターとして機能します。
マルチキャストの概念
マルチキャストの主な概念は次のとおりです。
-
マルチキャストドメイン — 異なるドメインへのマルチキャストネットワークのセグメント化が可能になり、Transit Gateway が複数のマルチキャストルーターとして機能するようになります。サブネットレベルでマルチキャストドメインのメンバーシップを定義します。
-
マルチキャストグループ — 同じマルチキャストトラフィックを送受信するホストセットを識別します。マルチキャストグループは、グループ IP アドレスによって識別されます。マルチキャストグループのメンバーシップは、EC2 インスタンスにアタッチされた個々の 弾性ネットワークインタフェース によって定義されます。
-
インターネットグループ管理プロトコル (IGMP) — ホストとルーターがマルチキャストグループメンバーシップを動的に管理できるようにするインターネットプロトコル。IGMP マルチキャストドメインには、IGMP プロトコルを使用してメッセージの参加、退出、および送信を行うホストが含まれています。 は、IGMPv2 プロトコルと IGMP および静的 (API ベース) グループメンバーシップマルチキャストドメインの両方 AWS をサポートします。
-
マルチキャスト送信元 — マルチキャストトラフィックを送信するよう静的に設定された、サポートされている EC2 インスタンスに関連付けられた elastic network interface。マルチキャスト送信元は、静的な送信元の設定のみに適用されます。
静的な送信元のマルチキャストドメインには、メッセージの参加、脱退、および送信を行うために IGMP プロトコルを使用しないホストが含まれます。を使用して AWS CLI 、ソースメンバーとグループメンバーを追加します。静的に追加された送信元は、マルチキャストトラフィックを送信し、メンバーはマルチキャストトラフィックを受信します。
-
マルチキャストグループメンバー — マルチキャストトラフィックを受信する、サポートされている EC2 インスタンスに関連付けられた elastic network interface。マルチキャストグループには複数のグループメンバーがあります。静的な送信元のグループメンバーシップの設定では、マルチキャストグループメンバーはトラフィックだけを受信できます。IGMP グループ設定では、メンバーはトラフィックを送受信できます。
考慮事項
-
サポートされるリージョンについては、 AWS Transit Gateway よくある質問
を参照してください。 -
マルチキャストをサポートするには、新しいTransit Gateway を作成する必要があります。
-
マルチキャストグループのメンバーシップは、、 AWS CLI、または IGMP を使用して管理 Amazon Virtual Private Cloud Console されます。
-
マルチキャストドメインに存在するサブネットは 1 つだけです。
-
Nitro 以外のインスタンスを使用する場合は、[送信元/送信先チェック] を無効にする必要があります。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「送信元または送信先チェックの変更」を参照してください。
-
ニトロ以外のインスタンスをマルチキャスト送信元にすることはできません。
-
マルチキャストルーティングは、 AWS Direct Connect、Site-to-Site VPN、ピアリングアタッチメント、または Transit Gateway Connect アタッチメントではサポートされていません。
-
Transit Gateway は、マルチキャストパケットのフラグメント化をサポートしていません。フラグメント化されたマルチキャストパケットはドロップされます。詳細については、「最大送信単位 (MTU)」を参照してください。
-
起動時に、IGMP ホストは複数の IGMP JOIN メッセージを送信してマルチキャストグループに参加します (通常は 2 ~ 3 回の再試行)。万一、すべての IGMP JOIN メッセージが失われた場合、ホストはトランジットゲートウェイマルチキャストグループの一部になりません。このようなシナリオでは、アプリケーション固有の方法を使用して、ホストから IGMP JOIN メッセージを再トリガーする必要があります。
-
グループメンバーシップは Transit Gateway からの IGMPv2 JOIN メッセージの受信から始まり、IGMPv2 LEAVE メッセージ の受信で終わります。Transit Gateway は、グループに正常に参加したホストを追跡します。クラウドマルチキャストルーターとして、Transit Gateway は 2 分ごとにメンバー全員に IGMPv2 QUERY メッセージを発行します。各メンバーは 応答中に IGMPv2 JOIN メッセージを送信します。これはメンバーがメンバーシップを更新する方法です。メンバーが 3 つの連続するクエリに応答できない場合、Transit Gateway は、参加したすべてのグループからこのメンバーシップを削除します。ただし、 to-be-queried リストからメンバーを完全に削除する前に、このメンバーに 12 時間クエリを送信し続けます。明示的な igMPv2 LEAVE メッセージは、それ以降のマルチキャスト処理からホストを即座かつ永続的に削除します。
-
Transit Gateway は、グループに正常に参加したホストを追跡します。Transit Gateway が停止した場合、Transit Gateway は、IGMP JOIN メッセージが最後に正常に終了してから 7 分 (420 秒) 間、マルチキャストデータをホストに送信し続けます。Transit Gateway は、最長 12 時間、またはホストから IGMP LEAVE メッセージを受信するまで、メンバーシップクエリをホストに送信し続けます。
-
Transit Gateway は、マルチキャストグループメンバーシップを追跡できるように、メンバーシップクエリパケットをすべての IGMP メンバーに送信します。これらの IGMP クエリパケットの送信元 IP は 0.0.0.0/32、送信先 IP は 224.0.0.1/32、プロトコルは 2 です。IGMP ホスト (インスタンス) 上のセキュリティグループ設定、およびホストサブネット上の任意の ACL 設定で、これらの IGMP プロトコルメッセージを許可する必要があります。
-
マルチキャストの送信元と送信先が同じ VPC 内にある場合、セキュリティグループ参照を使用して、送信元のセキュリティグループからのトラフィックを受け入れるように送信先セキュリティグループを設定することはできません。
-
静的なマルチキャストグループとソースの場合、Amazon VPC Transit Gateways は、もう存在しない ENI の静的グループとソースを自動的に削除します。これは、アカウント内の ENI を説明する Transit Gateway サービスにリンクされた役割を定期的に引き受けることによって行われます。
-
静的マルチキャストのみが IPv6 をサポートします。動的マルチキャストは行いません。
Windows Server でマルチキャストする
Windows Server 2019 または 2022 上の Transit Gateway と連携するようにマルチキャストを設定する場合は、追加の手順を実行する必要があります。を使用して PowerShell、次のコマンドを実行します。
-
TCP/IP スタックに IGMPv3 ではなく IGMPv2 を使用するように Windows サーバーを変更します。
PS C:\> New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name IGMPVersion -PropertyType DWord -Value 3
注記
New-ItemProperty
は、IGMP バージョンを指定するプロパティインデックスです。IGMP v2 はマルチキャストでサポートされているバージョンであるため、 プロパティはValue
である必要があります3
。Windows レジストリを編集する代わりに、次のコマンドを実行して IGMP バージョンを 2 に設定できます。Set-NetIPv4Protocol -IGMPVersion Version2
-
Windows ファイアウォールでは、ほとんどの UDP トラフィックがデフォルトでドロップされます。まず、どの接続プロファイルがマルチキャストに使用されているかを確認する必要があります。
PS C:\> Get-NetConnectionProfile | Select-Object NetworkCategory NetworkCategory --------------- Public
-
前のステップで確認した接続プロファイルを更新して、必要な UDP ポートへのアクセスを許可します。
PS C:\> Set-NetFirewallProfile -Profile Public -Enabled False
-
EC2 インスタンスを再起動します。
-
マルチキャストアプリケーションをテストして、トラフィックのフローが予期したとおりのものであることを確認します。