AWS Elemental MediaLiveの「入力」と、
MediaConnectを繋げようとした際に発生したエラー対処についての備忘です。
概要
次世代映像転送プロトコルであるSRTを利用し、
MediaLiveに対して映像を送出したいのですが、
残念ながら、2023年07月現在対応をしていません。
その為、前段に別サービスを噛ませる必要があります。
MediaConect作成後に、MediaLiveでエラーが出たのでその対策の備忘を記載します。
ポイント
MediaConnectのStandard設定で、MediaLiveに送出すると、
1〜2秒程度遅延することを確認しています。
発生エラーと原因
MediaConect作成後、MediaLiveの「入力」と連携させようとする際に以下エラー
入力の作成中にエラーが発生しました
ForbiddenException: arn:aws:iam::xxxxxxxxx:role/hoge_role doesn't have the rights to ManagedRemoveOutput on your MediaConnect flows.
利用するロールには、
MediaLiveとMediaConectのフル権限のマネージドポリシーを付与していましたが、
それではダメみたいですね。
ManagedRemoveOutputで検索したら、以下公式ドキュメントがヒット。
AWS エレメンタル MediaConnect> ポリシーに「Managed」で始まるこれらのアクションを含めるには、 [JSON] タブでポリシーを表示し、アクションの名前を入力する必要があります。 [visual editor] (ビジュアルエディタ) を使用してこれらのアクションを選択することはできません。
AWSドキュメントより
なぜそんな制約が・・・?
対応
MediaLiveでデフォルトに「MediaLiveAccessRole」だと本エラーは発生しません。
なので、内包されているIAMポリシー:「MediaLiveCustomPolicy」内の、
MediaConect関連のものを抜粋すれば回避できました。
利用中のIAMロールに上記IAMポリシーを追加するか、
作成したIAMロール内に、IAMポリシーを作成して追加すればOKですね。
{
MediaLiveCustomPolicyより抜粋
"Effect": "Allow",
"Action": [
"mediaconnect:ManagedDescribeFlow",
"mediaconnect:ManagedAddOutput",
"mediaconnect:ManagedRemoveOutput"
],
"Resource": "*" }
これで正常にMediaLiveの入力が正常に作成されます。
最後に
MediaConectはAWS事例にもでるのに、
コンソールの日本語化がされてなかったりとっつきづらいですね。。。
出来れたら、MediaLiveのみで完結できるようにアプデされることを祈ります。
以上、どなたかの役に立てば幸いです。