

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 通过 VPC 传送输出
<a name="delivery-out-vpc"></a>

您可以设置一个 MediaLive 通道，以便在亚马逊虚拟私有云（亚马逊 VPC）中拥有输出终端节点。如果通道的重要输出目标是 VPC 中的地址，此传送模式会非常有用。

VPC 中的输出目标通常是 Amazon EC2 中的一个地址。如果您已为 Amazon Simple Storage Service（Amazon S3）设置了 VPC 端点，它也可以是 Amazon S3 中的桶。您可能需要将输出发送到 VPC，以便可以执行后处理，或通过 AWS Direct Connect传送视频。

如果您没有 VPC，则可以停止阅读本节内容。您将始终以常规方式设置频道，并在其中设置端点 MediaLive。您无需执行任何特殊设置即可按常规方式设置通道。

## 规则和约束
<a name="vpc-out-rules"></a>

以下规则适用于设置为通过 VPC 进行传送的通道：
+ 您不能将现有通道更改为开始向 VPC 传送或通过 VPC 停止传送。
+ [通道类](plan-redundancy-mode.md)可以是标准类，也可以是单管道类。
+ 您不能更改现有通道的通道类。
+ 通道中不能包含多路复用输出组。
+ 该频道可以有输出组，目标位于您的 VPC 中，目标位于其他位置（例如 AWS Elemental MediaPackage），目标位于公共 Internet 上。

**注意**  
本节中的信息假设您非常熟悉 Amazon Virtual Private Cloud，熟悉 AWS PrivateLink AWS Direct Connect、使用和熟悉一般的网络实践。

**Topics**
+ [规则和约束](#vpc-out-rules)
+ [VPC 传送的工作原理](vpc-out-how-it-works.md)
+ [准备就绪](vpc-out-get-ready-subnets.md)
+ [设置 VPC 传送](vpc-out-setup-steps.md)
+ [更改设置](vpc-out-change.md)
+ [确定子网和可用区要求](vpc-out-AZ-subnet-reqs.md)

# VPC 传送的工作原理
<a name="vpc-out-how-it-works"></a>

VPC 交付适用于每个 MediaLive 渠道。您可以让一些通道通过您的 VPC 传送，让其它通道以常规方式传送。

通过 VPC 传输，通道的终端节点位于您的 VPC 中，而不是位于 MediaLive 拥有的 VPC 中。这种设置的好处是提高了安全性，因为输出不必经过公共互联网的边界即可到达您 VPC 中的输出目标。

下图说明了 VPC 传送的工作原理。蓝色方框是一个具有两条管道的通道。橙色方框是您的 VPC。请注意，这两个管道的端点位于您的 VPC 中。在此示例中，您只有一个输出组，其目标位于您 VPC 中的 EC2 中。此输出组可能是发送到您 EC2 实例上 HTTP 服务器的 HLS 输出组。

![\[MediaLive channel diagram showing two pipelines with endpoints connecting to output destinations in a VPC.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images\vpc-delivery-overview.png)


下图显示了一个包含三个输出组的通道：
+ 一个输出组的目标位于您的 EC2 实例上。
+ 顶部显示的输出目标已打开 MediaPackage。输出离开管道端点，到达边界 AWS （灰色方框），然后返回到目的地 AWS Elemental MediaPackage。
+ 底部显示的输出目标位于公共互联网上。输出离开管道，然后离开 AWS 并进入公共互联网。

![\[MediaLive channel diagram showing pipelines, endpoints, and destinations for EC2, MediaPackage, and public internet.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images\vpc-delivery-overview-multi-outputs.png)


按如下方式设置 VPC 传送：
+ 在您的 VPC 中为通道端点确定子网和安全组。
+ 确定输出目标以及目标位于您的 VPC 中的输出组确定子网和安全组。
+ 确定您是否需要确定与通道关联的弹性 IP 地址。
+ 检查您的可信实体角色所需的权限 MediaLive。如果您的频道使用自定义的可信实体角色，而不是通过控制台提供的内置 MediaLiveAccessRole 角色，则必须更新该角色。有关更多信息，请参阅 [可信实体的访问要求](trusted-entity-requirements.md)。
+ 更新用户的 IAM 策略。有关更多信息，请参阅 [参考：非管理员用户访问要求摘要](setup-users-step-1-summary.md)。
+ 创建通道时，必须在通道配置中包含此子网、安全组和弹性 IP 地址信息。

以下部分详细介绍了此设置。

# 准备就绪
<a name="vpc-out-get-ready-subnets"></a>

Amazon VPC 用户必须设置 VPC 并识别 MediaLive 通道的子网和安全组。

**设置 VPC**

1. 向您的 Amazon VPC 用户提供以下指南：
   + 子网和可用区指南 – 请参阅[确定子网和可用区要求](vpc-out-AZ-subnet-reqs.md)
   + 通道端点子网安全组指南 – 一个或多个安全组必须遵循以下规则：
     + 安全组的组合规则必须允许从端点到所有输出目标的出站流量。这些目的地可能位于您的 VPC 上、 AWS 服务上的目标和公共互联网上的目的地。
   + 目标子网安全组指南 – 一个或多个安全组必须遵循以下规则：
     + 安全组的组合规则必须允许来自通道端点的入站流量。

1. 确定您是否需要识别 EIPs 才能与该频道建立关联。如果通道的输出组目标位于您的 VPC 之外，则必须提供一种机制让内容离开 VPC。实现此目的的一种方法是 EIPs 与频道端点关联。这些端点显示在 [VPC 传送的工作原理](vpc-out-how-it-works.md) 中的图表中。请向 Amazon VPC 用户说明您的要求。

   如果您决定 EIPs 与频道终端节点关联，请确定这些终端节点 EIPs。

1. 在 Amazon VPC 用户执行设置后，获取以下信息：
   + VPC 的 ID 或 VPCs。
   + 频道终端节点 IDs 的子网和可用区。
   + 目的地 IDs 的子网和可用区。
   + 子网的安全组的。 IDs 
   + 与通道端点的弹性网络接口关联的弹性 IP 地址。

1. 通过 VPC 的传送取决于 VPC 网络中路由和 DNS 的适当设置。向 Amazon VPC 用户提供以下指南：
   + 如果您希望带域名的地址能够到达 VPC，或者您希望 VPC 到达带有域名的地址，则必须设置 DNS 来解析这些域名。此要求同样适用于可能具有域名的 AWS 服务。
   + 如果希望与公共互联网进行任何通信，则 VPC 中需要具有 NAT 或互联网网关。
   + 在 VPC 内部，您必须配置路由表，以允许在您打算使用的子网之间进行通信。
   + 所有 IP 地址都必须是 IPV4。

# 设置 VPC 传送
<a name="vpc-out-setup-steps"></a>

**注意**  
此部分中的信息假定您熟悉[创建通道](creating-channel-scratch.md)的常规步骤。它还假设您已经阅读[规划工作 MediaLive 流程](container-planning-workflow.md)并计划了该 MediaLive 频道的工作流程。

**设置 VPC 传送**

在创建通道时，请按以下步骤操作。

1. 在**创建通道**页面的导航窗格中，选择**通道和输入详细信息**。

1. 完成**输出传送**部分：
   + **传送方式** –选择 **VPC**。
   + **VPC 设置** –选择**选择子网和安全组**。
   + **子网** – 从您获取的子网中选择一个。下拉列表显示了所有子网 VPCs，标识如下：

     `<subnet ID> <Availability Zone of subnet> <IPv4 CIDR block of subnet> <VPC ID> <Subnet tag called "Name", if it exists>`

     例如：

     **VPC 端点的 subnet-1122aabb us-west-2a 10.1.128.0/24 vpc-3f139646 子网**

     如果子网列表为空，请选择 **Specify custom VPC (指定自定义 VPC)**，然后在此字段中输入子网 ID。（您需要仅输入子网 ID，例如 **subnet-1122aabb**。） 

     MediaLive 将此子网与管道 0 关联起来。
   + 如果您的通道是标准通道，请添加另一个子网。再次进入**子网**，选择第二个子网。第二次，该下拉列表仅显示第一个子网所在的 VPC 中的子网。

     MediaLive 将此子网与管道 1 相关联。
   + **安全组** – 按照与子网相同的过程，选择您获取的一个或多个安全组。下拉列表显示属于所选 VPC 的安全组，如下所示：

     `<security group ID> <description attached to this security group> <VPC ID>`
   + **EIPs 对于终端节点** — 如果适用，请输入您获得的弹性 IP 地址。 MediaLive 获取您指定的第一个弹性 IP 地址并将其与管道 0 关联。它将第二个弹性 IP 地址（如果适用）与管道 1 关联。

1. 在通道中创建输出组时，请遵循以下准则：
   + 对于目标位于您的 VPC 或 Amazon S3 上的通道输出组，请获取 URL 或桶路径。您不必修改目标语法。如果 Amazon VPC 用户正确设置了路由，则输出将会成功地找到这些 VPC 中的输出。
   + 对于目标不在您的 VPC 中的通道输出组，请按照常规步骤操作。您不必修改目标语法。如果 Amazon VPC 用户正确设置了路由，则输出将会成功找到 VPC 之外的输出。

**结果**

当您设置通过 VPC 进行交付时， MediaLive 会在您的 VPC 中创建一个或两个弹性网络接口。它为单管道通道创建一个弹性网络接口，为标准通道创建两个弹性网络接口。

如果您选择使用弹性 IP 地址， MediaLive 还要将这些弹性 IP 地址与弹性网络接口相关联。

您可以在[通道的详细信息](monitoring-console-general.md#monitoring-console)中查看传送点的设置。

# 更改设置
<a name="vpc-out-change"></a>

如果您已为 VPC 交付设置了 MediaLive 渠道，请注意以下几点：
+ 您不能将现有通道更改为通过您的 VPC 开始传送或通过您的 VPC 停止传送。
+ 您无法更改已设置为通过您的 VPC 传送的现有通道上的[通道类别](plan-redundancy-mode.md)。
+ 如果您添加其他使用您的 VPC 的输入，请确保它遵循子网和可用区域的[ VPCs既定规则](vpc-out-AZ-subnet-reqs.md)。
+ 如果您删除频道或删除所有输出组，则 MediaLive 会删除它在您的 Amazon EC2 实例中创建的弹性接口点。

# 确定子网和可用区要求
<a name="vpc-out-AZ-subnet-reqs"></a>

子网和可用区的应用如下所示：
+ **输入**-某些 MediaLive 输入类型位于您的 VPC 中，这意味着它们位于特定的子网中。例如，RTMP 输入可以位于您的 VPC 中。有关更多信息，请参阅 [输入类型、协议和上游系统](inputs-supported-formats.md)。
+ **端点** – 通道端点位于子网中。
+ **目标** – VPC 中输出的 IP 地址位于子网中。

您必须标 VPCs 识 MediaLive 终端节点和作为您的 VPC 地址的输出目的地的和子网。您必须考虑以下各项：
+ 您必须确保设置遵循跨子网和跨可用区的分配规则。参见 [用例 A – 没有 VPC 输入](vpc-out-caseA.md) 及其后面的部分。
+ 每个子网都必须有一个私有 CIDR 块（一系列 IP 地址）。
+ 每个子网在该私有 CIDR 块中必须具有至少两个未使用的地址。

**Topics**
+ [用例 A – 没有 VPC 输入](vpc-out-caseA.md)
+ [用例 B – 通道包含 VPC 输入](vpc-out-caseB.md)

# 用例 A – 没有 VPC 输入
<a name="vpc-out-caseA"></a>

如果 MediaLive 频道没有使用 VPC 的输入，则此用例适用：
+ 没有 MediaConnect 输入
+ 没有 MediaConnect 路由器输入
+ 没有 CDI 输入
+ 没有 RTMP VPC 输入
+ 没有 RTP VPC 输入 

这是通道为标准通道时的设置图。在本示例中，通道具有两个输出组。假设两个输出组的目标都位于您 VPC 上的 EC2 上。

![\[MediaLive channel diagram showing two pipelines with endpoints and destinations for HLS and Microsoft Smooth.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images\vpc-delivery-1.png)


**单管道通道**

您必须确定以下位置的子网：
+ 管道 0 的通道端点（位于蓝色框中）。
+ 管道 0 的目标（位于橙色框中）。

您的设置必须遵守 VPCs 和子网的以下规则：
+ 您可以在任意数量的位置上设置位置 VPCs。
+  VPCs 或的任何子网都不要求相同或不同。

对于您确定的子网的可用区，您的设置必须遵守以下规则：
+ 通道端点可以与一个目标（或多个目标）位于同一可用区内，也可以位于不同的可用区内。如果位于不同的可用区，则会产生传出数据传输费。有关定价的更多信息，请参阅[https://aws.amazon.com/medialive/pricing/](https://aws.amazon.com/medialive/pricing/)。

**标准通道**

您必须为以下各项确定子网：
+ 两个通道端点（位于蓝色框中）。
+ 所有目标（位于橙色框中）。

您的设置必须遵守 VPCs 和子网的以下规则：
+ 您可以在任意数量的位置上设置位置 VPCs。
+ 通道端点的子网必须彼此不同，但两个子网必须位于同一 VPC 上。
+ 在您确定的任何子网中，对子网的唯一性没有其它要求。

对于您确定的子网的可用区，您的设置必须遵守以下规则：
+ 两个通道端点的可用区必须不同。
+ 每个通道端点可以与一个目标（或多个目标）位于同一可用区内。也可以位于不同的可用区内。如果您选择设置不同的可用区，则会产生传出数据传输费。有关定价的更多信息，请参阅[https://aws.amazon.com/medialive/pricing/](https://aws.amazon.com/medialive/pricing/)。

# 用例 B – 通道包含 VPC 输入
<a name="vpc-out-caseB"></a>

如果 MediaLive 频道包含使用 VPC 的输入，则此用例适用：
+ MediaConnect 输入
+ MediaConnect 路由器输入
+ CDI 输入
+ RTMP VPC 输入
+ RTP VPC 输入 

这是通道为标准通道时的设置图。在本示例中，通道至少具有一个 VPC 输入。它还有两个输出组。假设两个输出组的目标都位于您 VPC 上的 EC2 上。

![\[MediaLive channel diagram showing input, pipelines, and output destinations for HLS and Microsoft Smooth streaming.\]](http://docs.aws.amazon.com/zh_cn/medialive/latest/ug/images\vpc-delivery-2.png)


**单管道通道**

您必须确定以下位置的子网：
+ 管道 0 的 VPC 输入端点（位于绿色框中）。
+ 管道 0 的通道端点（位于蓝色框中）。
+ 管道 0 的目标（位于橙色框中）。

您的设置必须遵守 VPCs 和子网的以下规则：
+ 您可以在任意数量的位置上设置位置 VPCs。
+  VPCs 或的任何子网都不要求相同或不同。

对于您确定的子网的可用区，您的设置必须遵守以下规则：
+ VPC 输入的端点和通道端点必须位于同一个可用区内。之所以存在此规则，是因为这两个端点都在通道管道内，而且管道不能在一个可用区内开始而在另一个可用区内结束。

  如果已在 VPC 中设置 VPC 输入，则最简单的方法可能是将该子网的可用区确定为共享可用区。

  如果 VPC 输入尚未设置，请确保这两个子网位于同一个可用区内。
+ 通道端点可以与一个目标（或多个目标）位于同一可用区内，也可以位于不同的可用区内。如果位于不同的可用区，则会产生传出数据传输费。有关定价的更多信息，请参阅[https://aws.amazon.com/medialive/pricing/](https://aws.amazon.com/medialive/pricing/)。

**标准通道**

您必须为以下各项确定子网：
+ VPC 输入的端点（位于绿色框中）。
+ 通道端点（位于蓝色框中）。
+ 目标（位于橙色框中）。

您的设置必须遵守 VPCs 和子网的以下规则：
+ 您可以在任意数量的位置上设置位置 VPCs。
+ 管道 0 中的 VPC 输入和管道 1 中的 VPC 输入的子网必须位于同一 VPC 上。它们可位于同一子网中，也可以位于不同的子网中。
+ 管道 0 中的通道端点和管道 1 中的通道端点的子网彼此必须不同，但这两个子网必须位于同一 VPC 上。
+ 对于您识别的任何 VPCs 或子网中的子网唯一性，都没有其他要求。

您的设置必须遵循可用区的以下规则：
+ 两个通道端点的可用区必须不同。
+ 在每个管道中，VPC 输入端点和通道端点必须位于同一可用区内。之所以存在此规则，是因为这两个端点都在通道管道内，而且管道不能在一个可用区内开始而在另一个可用区内结束。

  如果已在 VPC 中设置 VPC 输入，则最简单的方法可能是将该子网的可用区确定为共享可用区。

  如果 VPC 输入尚未设置，请确保子网位于同一个可用区内。
+ 在每个管道中，每个通道端点可以与一个目标（或多个目标）位于同一可用区内。也可以位于不同的可用区内。如果您选择设置不同的可用区，则会产生传出数据传输费。有关定价的更多信息，请参阅[https://aws.amazon.com/medialive/pricing/](https://aws.amazon.com/medialive/pricing/)。