使用多播 - Amazon Virtual Private Cloud
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用多播

您可以使用 Amazon VPC 控制台或 AWS CLI 在中转网关上配置多播。

在创建多播域之前,您需要知道主机是否为多播流量使用 Internet 组管理协议 (IGMP) 协议。

下表详细介绍了多播域属性。

属性 说明
Igmpv2Support (AWS CLI)

IGMPv2 支持(Amazon VPC 控制台)

此属性决定组成员如何加入或退出多播组。

当此属性设置为禁用时,您必须使用 Amazon VPC 控制台或 AWS CLI 将组成员添加到域中。

在至少有一个成员使用 IGMP 协议时将此值设置为启用。成员通过以下方式之一加入多播组:

  • 支持 IGMP 的成员使用 JOINLEAVE 消息。

  • 必须使用 Amazon VPC 控制台或 AWS CLI 在组中添加或删除不支持 IGMP 的成员。

注意

如果您使用 Amazon VPC 控制台或 AWS CLI 手动注册多播组成员,则必须将其取消注册。中转网关将忽略手动添加的组成员发送的 IGMP LEAVE 消息。

StaticSourcesSupport (AWS CLI)

静态源支持(Amazon VPC 控制台)

此属性确定该组是否有静态多播源。

当此属性设置为启用时,您需要使用 register-transit-gateway-multicast-group-sources 静态添加多播域的源。只有多播源才能发送多播流量。

注意

Igmpv2Support 属性设置为启用时,您不能将 staticSourcesEnable 设置为启用

如果将此属性设置为禁用,则没有指定的多播源。位于与多播域关联的子网中的任何实例都可以发送多播流量,组成员将接收多播流量。

管理 IGMP 配置

当您至少有一台主机将 IGMP 协议用于多播流量时,AWS 会在收到来自实例的 IGMP JOIN 消息时自动创建多播组,然后将该实例添加为该组中的成员。您还可以使用 AWS CLI 静态将非 IGMP 主机作为成员添加到组中。位于与多播域关联的子网中的任何实例都可以发送流量,组成员将接收多播流量。

使用以下步骤完成配置:

  1. 创建 VPC。有关创建 VPC 的更多信息,请参阅 Amazon VPC 用户指南中的创建 VPC

  2. 在 VPC 中创建子网。有关创建子网的更多信息,请参阅 Amazon VPC 用户指南中的在 VPC 中创建子网

  3. 创建为多播流量配置的中转网关。有关更多信息,请参阅 创建中转网关

  4. 创建 VPC 挂载。有关更多信息,请参阅 创建 VPC 的 Transit Gateway 挂载

  5. 创建为 IGMP 支持配置的多播域。有关更多信息,请参阅 创建 IGMP 多播域

    使用以下设置:

    • IGMPv2 支持属性设置为启用

    • 静态源支持属性设置为禁用

  6. 在中转网关 VPC 挂载中的子网和多播域之间创建关联。有关更多信息,请参阅 将 VPC 挂载和子网与多播域关联

  7. EC2 的默认 IGMP 版本是 IGMPv3。您需要更改所有 IGMP 组成员的版本。您可以运行以下命令:

    sudo sysctl net.ipv4.conf.eth0.force_igmp_version=2

    然后,您可以运行以下命令,将多播 IP 地址添加到网络接口的 eth0:

    sudo ip addr add multicast-ip-address dev eth0 autojoin

    示例

    sudo ip addr add 239.255.0.1/32 dev eth0 autojoin
  8. 将不使用 IGMP 协议的成员添加到多播组。有关更多信息,请参阅 将成员注册到多播组

管理静态源配置

在此配置中,您需要在组中静态添加多播源。主机不使用 IGMP 协议加入或退出多播组。您需要静态添加接收多播流量的组成员。

使用以下步骤完成配置:

  1. 创建 VPC。有关创建 VPC 的更多信息,请参阅 Amazon VPC 用户指南中的创建 VPC

  2. 在 VPC 中创建子网。有关创建子网的更多信息,请参阅 Amazon VPC 用户指南中的在 VPC 中创建子网

  3. 创建为多播流量配置的中转网关。有关更多信息,请参阅 创建中转网关

  4. 创建 VPC 挂载。有关更多信息,请参阅 创建 VPC 的 Transit Gateway 挂载

  5. 创建配置为不支持 IGMP 的多播域,并支持静态添加源。有关更多信息,请参阅 创建静态源多播域

    使用以下设置:

    • IGMPv2 支持属性设置为禁用

    • 要手动添加源,请将静态源支持属性设置为启用

      当属性被设置为启用时,源是唯一可以发送多播流量的资源。否则,位于与多播域关联的子网中的任何实例都可以发送多播流量,组成员将接收多播流量。

  6. 在中转网关 VPC 挂载中的子网和多播域之间创建关联。有关更多信息,请参阅 将 VPC 挂载和子网与多播域关联

  7. 如果将静态源支持属性设置为启用,请将源添加到多播组。有关更多信息,请参阅将源注册到多播组

  8. 将成员添加到多播组。有关更多信息,请参阅 将成员注册到多播组

管理静态组成员配置

在此配置中,您需要静态地将多播成员添加到组中。主机不能使用 IGMP 协议加入或退出多播组。位于与多播域关联的子网中的任何实例都可以发送多播流量,组成员将接收多播流量。

使用以下步骤完成配置:

  1. 创建 VPC。有关创建 VPC 的更多信息,请参阅 Amazon VPC 用户指南中的创建 VPC

  2. 在 VPC 中创建子网。有关创建子网的更多信息,请参阅 Amazon VPC 用户指南中的在 VPC 中创建子网

  3. 创建为多播流量配置的中转网关。有关更多信息,请参阅 创建中转网关

  4. 创建 VPC 挂载。有关更多信息,请参阅 创建 VPC 的 Transit Gateway 挂载

  5. 创建配置为不支持 IGMP 的多播域,并支持静态添加源。有关更多信息,请参阅 创建静态源多播域

    使用以下设置:

    • IGMPv2 支持属性设置为禁用

    • 静态源支持属性设置为禁用

  6. 在中转网关 VPC 挂载中的子网和多播域之间创建关联。有关更多信息,请参阅 将 VPC 挂载和子网与多播域关联

  7. 将成员添加到多播组。有关更多信息,请参阅 将成员注册到多播组