個別に・簡単に・動的に経路を変更できるMediaConnect Routerを使ってみた

MediaConnectRouter

AWS Elemental MediaConnectとは

AWS Elemental MediaConnectとは、映像・音声のライブストリームを、AWSのネットワーク上で安定的に受け渡し・分配するための"配管"のようなサービスです。

オンプレのエンコーダーからクラウドへ映像を取り込んだり、クラウドから配信先へ映像を送ったりする際によく使われます。

これまでは、MediaConnectのFlowを使って別リージョンから受けた映像をMediaLiveや別拠点に届けるという構成がおそらく主流だったかと思います。ソースを1つ決めて、そこに紐づくOutputを設定すれば映像が届く、シンプルな仕組みです。

今回、MediaConnectを触るにあたり、「MediaConnect Router」という機能があることに気づきました。2025年末頃に登場していたようでしたので、調査してみます。

Elemental MediaConnect Router

Elemental MediaConnect Routerとは、テレビ局のサブやマスターにあるようなマトリックスルーターの概念を、AWS上に持ち込んだ機能です。
複数の映像ソース(Router Input)と複数の送信先(Router Output)を、あらかじめそれぞれ独立したリソースとして用意しておき、あとから自由にルーティングできます。

従来のMediaConnect Flowと違って以下のような利点があります。

  • InputとOutputが独立したリソース
    Flowは映像ソースと送信先がセットになったリソースですが、RouterはInput・Outputをそれぞれ独立して作成し、あとから自由に組み合わせを変更できます。
  • 経路の切り替えが外部との接続に影響しない
    どのInputをどのOutputに繋ぐかを変更しても、送信元とInput間、Outputと配信先間の接続設定自体はそのまま維持されるため、安心して切り替えが可能です。
  • リージョンをまたぐ経路も切り替えひとつで繋げられる
    リージョンをまたぐ場合もGlobalのスコープで設定しておけば何も意識せずに、異なるリージョンのInput/Output同士に切り替えることができます。
  • 出力先ごとに、個別に入力を切り替えられる:Flowは1つのソースに対して複数Outputがぶら下がる構造のため、Output単位で参照元を切り替えることができませんでした。Routerならそれぞれの出力先にOutputリソースが必要になりますが、想定外の切り替えが生じた際も、個別に・簡単に・動的に切り替えられます。

ということで実際にやってみます。

実際に使ってみた

アーキテクチャ

今回はParisリージョンから映像が1つ、Londonリージョンから映像が1つ送られてきて、東京リージョンのElemental MediaLiveからOVP(今回はYouTube Live)に送ることをやってみます。

その際にMediaConnect周りで必要となるのが以下となります。

  • Router outputs ×1(東京):こちらをMediaLiveに繋げて配信へ
  • Router inputs ×2(Paris, London)
  • Router network interfaces ×2(Paris, London)

入力ソースがMediaConnect flowだったり、MediaLive channelだった場合は必要としないのですが、今回はカメラやエンコーダーのような外部のソースから接続すること(Standard 接続)を想定して、Router Network Interfaceを用意しました。

Router network interfaces

こちらのインターフェイスはカメラやエンコーダーがあるロケーションの近くにあるリージョンで作成します。
そしてパブリックインターフェイスを使う場合は、セキュリティのため許可するIPアドレス(CIDR)を指定する必要があります。

ParisとLondonにそれぞれRouter network interfacesを作りました。

Router inputs

こちらでルーターの前段である入力ソースを設定します。

今回の設定で必要なポイントとなります。

  • Tierなどは必要なビットレートに合わせて設定
  • AWS RegionはRouter network interfacesと同じリージョンを指定
  • Routing scopeはリージョンがまたぐ場合はGlobalにする
  • input typeはnetwork interfaceを使用するのであればStandardを選択
  • Standard router input configurationは先ほど設定したnetwork interfaceを選択

その他のProtocol configurationなどは入力ソースの設定などを確認して入力していきます。

ParisとLondonにそれぞれRouter inputsを作りました。
起動し、(今回は)SRTを送信することで無事、Router inputまで映像が届いたことを確認しました。

Router outputs

こちらではルーターの後段である送信先を設定します。
今回は東京のMediaLiveに届けるので、AWS RegionはTokyoを指定し、Output typeをMediaLive inputにします。

その他のMediaLive input configurationではMediaLiveの設定などを確認して入力します。

これにて全てのリソースが登場しました。
最後にルーティングを行います。

Router control panel / Router matrix

左のOperational viewsには『Router control panel』と『Router matrix』の2種類がありますが、どちらも処理としては同じとなります。

Router matrixではまずこのような画面が出るので、Select resourcesから必要なInputsとOutputsを選択します。

するとラジオボタンが出てくるので、選択し、Apply route matrixを押すだけで簡単にルーティングすることができました!

実際に切り替えてみる

無事つながったところで、今回一番試したかった「配信中に映像ソースを切り替える」をやってみます。

現在はLondonの映像がTokyoのOutputにルーティングされている状態です。ここでParisの入力に切り替えてみます。

やることは、Router matrixの画面では、対象のOutputに対してParisのラジオボタンを選び直し、Apply route matrixを押すだけ。

Router control panelの場合は、Outputsを選択して、そこに繋げるInputsを選択するだけ。
LockedになっているのでReal-time controlを選択すれば、クリックするだけでルーティングが切り替わります。

数秒後、MediaLiveのプレビュー画面を見てみると、映像がParisからLondonのものに切り替わっていました。切り替えの間、MediaLive側の入力設定やYouTube Live側の配信URLには一切手を加えていません。Outputは東京のまま、そこに流れ込むInputだけがすり替わった、という形です。

こちら、Flowであれば、ソースを切り替えるためにはFlow自体の設定を触る必要がありましたが、Routerなら、Outputはそのままに、Inputを選び直すだけで映像の出どころを変えることができました。

さいごに

今回初めてMediaConnect Routerを使ってみて、放送機器のマトリックスを触っているような感覚でリージョンまたぎの映像ソースを切り替えられるのが魅力的だなと思いました。

今回はSingle Pipelineでの検証だったので、次はコストも考えながら、AZを分けた冗長構成など本番運用も見据えた形で取り組んでいきたいと思います。

Previous Post