

# IVS 私有擷取
<a name="private-ingest-ll"></a>

對於需要安全即時視訊擷取的工作負載，您可以使用界面 VPC (虛擬私有雲) 端點，在 Amazon VPC 和 IVS 之間建立安全的私有連線。這會將 IVS 擷取流量保留在 AWS 網路內，不經由公有網際網路。界面 VPC 端點由 AWS PrivateLink 提供，這是一種允許 AWS 服務間使用 Amazon VPC 中具有私有 IP 的彈性網路界面進行私有通訊的 AWS 技術。如需詳細資訊，請參閱 [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) 和[使用介面 VPC 端點存取 AWS 服務](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) (AWS PrivateLink)。

![使用介面 VPC (虛擬私有雲) 端點，在 Amazon VPC 和 IVS 之間建立安全的私有連線。](http://docs.aws.amazon.com/zh_tw/ivs/latest/LowLatencyUserGuide/images/VPC_endpoint.png)


您可以從 Amazon VPC 或透過 AWS Direct Connect 將 RTMP(S) 串流擷取至 IVS，然後私下將視訊傳送至 IVS 低延遲通道或 IVS 即時階段。您需要支付標準介面 VPC 端點每小時用量和資料處理費用；如需詳細資訊，請參閱[介面端點定價](https://aws.amazon.com/privatelink/pricing/)。啟用此功能無需支付 Amazon IVS 的額外費用。

請確保您的 Amazon VPC 位於支援的區域：
+ ap-northeast-1
+ ap-northeast-2
+ ap-south-1
+ ap-southeast-1
+ ap-southeast-2
+ eu-central-1
+ eu-north-1
+ eu-west-1
+ eu-west-3
+ sa-east-1
+ us-east-1
+ us-east-2
+ us-west-2

**注意：**雖然 Amazon VPC 必須位於上述支援的區域之一，但 IVS 控制平面資源無需與 Amazon VPC 位於相同的區域或 AWS 帳戶。如需詳細資訊，請參閱[全球解決方案、區域控制](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/what-is.html#what-is-aws)。

若要透過介面 VPC 端點擷取串流，請使用由 VPC 端點的 DNS 名稱和 IVS 資源 (頻道或階段擷取組態) 的串流金鑰組成的私有擷取 URL，格式如下：

`rtmps://<VPC_ENDPOINT_DNS_NAME>/app/<STREAM_KEY>`

若要將串流傳送至頻道，請如[設定串流軟體](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/getting-started-set-up-streaming.html)中所述建立頻道並檢索其串流金鑰。若要使用 RTMP(S) 或 E-RTMP(S) 將串流傳送至階段，請建立 [RTMP 擷取組態](https://docs.aws.amazon.com//ivs/latest/RealTimeUserGuide/rt-rtmp-publishing.html)並使用其相關聯的串流金鑰。

以下是使用界面 VPC 端點從 EC2 執行個體串流到 IVS 頻道或階段的快速演練：

1. [建立介面 VPC 端點](#private-ingest-create-interface-vpc-endpoint)。

1. [啟動 EC2 執行個體](#private-ingest-launch-ec2-instance)。

1. [在執行個體上安裝 FFmpeg](#private-ingest-install-ffmpeg)。

1. [將串流傳送至 IVS 頻道或階段](#private-ingest-stream-to-channel-or-stage)。

## 步驟 1：建立介面 VPC 端點
<a name="private-ingest-create-interface-vpc-endpoint"></a>

每個 VPC 端點需要與您帳戶中的 VPC 關聯。如果您的帳戶已存在預設 VPC，可直接使用；否則，請建立新的 VPC。若要在 VPC 端點中使用 IPv6 或雙堆疊，請確保您的 VPC 已為子網路指派 IPv6 CIDR。

若要建立 VPC 端點，請參閱[建立 VPC 端點](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws) (Amazon VPC 文件） 中的指示。進入**建立端點**頁面後：

1. 選取 **AWS 服務**。然後在**服務**區段中，搜尋 **IVS**。您應該會看到 **com.amazonaws.<region>.ivs.contribute** 等服務。

1. 在**網路設定**區段中，選取您要建立端點的 VPC。在**子網路**區段中，選取要為端點設定的子網路及其他網路設定。

1. 在**安全群組**區段中，選取允許從串流來源傳入流量至 TCP 連接埠 443 和 1935 的安全群組。稍後，可在建立端點之後編輯此設定，因此，若暫不確定使用哪個安全群組，可先保留未選取狀態。

選取**建立端點**後，您將回到 VPC **端點**概觀頁面，其中將顯示您剛建立的 VPC 端點：
+ 新端點的**狀態**會先顯示為**待定**約 30 秒，然後會自動接受，且其狀態會變更為綠色的**可用**狀態。
+ 在 VPC 端點資訊面板的右側，您會看到與 VPC 端點關聯的多個 **DNS 名稱**。複製並儲存列出的第一個 DNS 名稱；後續步驟中您需要將其指定為串流擷取伺服器 URL。

## 步驟 2：啟動 EC2 執行個體
<a name="private-ingest-launch-ec2-instance"></a>

客戶可以使用多個選項從 AWS 廣播串流。此處範例使用安裝了 FFmpeg 的 Ubuntu EC2 執行個體。

首先，建立 EC2 執行個體 (t2.micro 即可)。請務必在建立 VPC 端點的相同 VPC 內建立此執行個體。

您指派給此執行個體的安全群組將需要輸出至 TCP 連接埠 443 和 1935 的 VPC 端點。如果使用 SSH 存取執行個體，還需在 TCP 連接埠 22 上啟用輸入，並在 TCP 連接埠 80 上針對下述步驟 3 中的封裝管理器操作啟用輸出。

啟動執行個體 初始化完成後，請使用 SSH 或 AWS Session Manager 連線到該執行個體。

## 步驟 3：在執行個體上安裝 FFmpeg
<a name="private-ingest-install-ffmpeg"></a>

連線至執行個體後，請在機器上執行下列命令 (假設您使用 Ubuntu 建立執行個體) 以安裝 FFmpeg：

```
sudo add-apt-repository ppa:savoury1/ffmpeg4
sudo apt-get update
sudo apt-get install ffmpeg
```

## 步驟 4：將串流傳送至 IVS 頻道或階段
<a name="private-ingest-stream-to-channel-or-stage"></a>

私有擷取 URL 格式為：

`rtmps://<VPC_ENDPOINT_DNS_NAME>/app/<STREAM_KEY>`

例如：

`rtmps://vpce-0a8dfb0b7a4611439-xyzabc12.contribute.ivs.us-west-2.vpce.amazonaws.com/app/sk-usw2-abc123example456`

執行以下範例 FFmpeg 命令，以步驟 1 中的 DNS 名稱取代 `<VPC_ENDPOINT_DNS_NAME>`，並以適當的串流金鑰取代 `<STREAM_KEY>` (適用於頻道或擷取組態)：

```
ffmpeg -re -f lavfi -i "testsrc=duration=360:size=1024x768:rate=30" -f lavfi -i "sine=frequency=1000" -pix_fmt yuv420p -profile:v baseline -level 3.0 -r 30 -g 60 -shortest -vcodec libx264 -acodec aac -f flv "rtmps://<VPC_ENDPOINT_DNS_NAME>/app/<STREAM_KEY>"
```

若上述操作均成功，串流應已啟動。透過 VPC 端點擷取的串流處理方式與透過公共 IVS 端點擷取的串流相同，唯一差異在於擷取路徑。

使用完畢後，請務必刪除已建立的 EC2 執行個體和 VPC 端點，以避免產生不必要的費用。