[新機能] AWS Elemental MediaLiveでチャンネル設定を変更できるようになりました!
はじめに
清水です。先日待望の東京リージョンでも利用可能となったAWS Elemental MediaLive、機能アップデートの発表も続いているのですが、さらにもうひとつ、チャンネル設定の変更といううれしいアップデートがありました。
AWS Elemental MediaLiveの出力先や出力動画設定を行っているチャンネルですが、実はこれまで一度作成したら変更することができませんでした。そのため作成後に変更する必要があればチャンネルごと作り直し、というちょっと大変な作業になっていました。今回のアップデートでこの点も改善され、変更しやすい構成となりました。本エントリではこの新機能を使い、実際にチャンネル設定を変更してみたのでまとめてみます。
AWS Elementa MediaLiveのチャンネル設定を変更してみる
AWS マネージメントコンソールからの変更
まずはAWS マネージメントコンソールからChannelの項目を確認してみます。以下の通り[Edit]ボタンが追加されており、チャンネルを選択すると[Edit]ボタンが押下できるようになります。
Editボタンを押下するとEdit channelのページに遷移します。今回はHLS出力のABR設定を変更して、ビットレート/解像度の一番低いOutput 3(_240p30)を削除してみます。
「X」ボタンで削除後に、[Update channel]ボタンを押下、その後チャンネル設定を確認してみると以下のように、Output 3が削除されています。
AWS CLIからの変更
AWS CLIについては以下のmedialive update-channelコマンドが追加されています。
こちらを使ってチャンネルの変更をしてみます。作業の前にAWS CLIを最新バージョンにアップデートしておきましょう。
$ sudo pip install awscli -U
本エントリでは以下の環境で検証を行いました。
$ aws --version aws-cli/1.14.35 Python/2.7.10 Darwin/16.7.0 botocore/1.8.39
チャンネルについて、以下のようにチャンネル名が「MediaLiveChannel0208 - clone」となってしまいました。(既存のチャンネルからClone機能で複製して作成した場合、またJSONからImportした場合のデフォルトがこのようになりますね。)
$ aws medialive describe-channel --channel-id XXXXXXX --query "Name" "MediaLiveChannel0208 - clone"
チャンネル名を別の「MediaLiveChannel0209」とする場合、update-channelコマンドに--nameオプションを付けて以下のように実行します。
$ aws medialive update-channel --channel-id XXXXXXX --name "MediaLiveChannel0209"
コマンド実行後、JSONが返されます。(長いので割愛します。)
その後、チャンネル名を確認します。無事に意図したチャンネル名に変更されていますね。
$ aws medialive describe-channel --channel-id XXXXXXX --query "Name" "MediaLiveChannel0209"
チャンネル設定が変更できないタイミング
チャンネル設定の変更ですが、チャンネルのStateがIdleの状態では実行できましたが、Start後のRunnnig状態では下記の通り、[Edit]ボタンがグレーアウトして設定変更ができませんでした。
AWS CLIでも以下のように、Stateが"RUNNING"の状態ではエラーが発生し、updateできない旨が返りました。
$ aws medialive describe-channel --channel-id 5165779 --query "[Name,State]" [ "MediaLiveChannel0209", "RUNNING" ]
$ aws medialive update-channel --channel-id 5165779 --name "MediaLiveChannel0210" An error occurred (ConflictException) when calling the UpdateChannel operation: Cannot update a channel that is in RUNNING
まとめ
AWS Elemental MediaLiveの機能アップデート、チャンネル設定の変更機能を試してみました。これまでチャンネル作成後の設定変更ができず、既存チャンネルをCloneするなどしての対応が必要でしたが、今回のアップデートでこれまでよりも容易に設定変更ができるようになりました。チャンネル状態がRunnigの場合などには設定変更ができませんので、その点には注意しましょう。
おまけ: チャンネル設定が変更できなかったときのMediaLiveを振り返る
おまけとして、チャンネル設定ができなかったころのMediaLiveを振り返っておきましょう。以下はAWS Elemental MediaLiveリリース直後の12月上旬に書いたエントリからのスクリーンショットのキャプチャです。たしかに[Start]/[Stop]/[Clone]/[Delete]のメニューはあっても[Edit]のメニューはありませんね。
AWS CLIについてもAWS Media Servicesリリース当日に公開された中山(順)のエントリを確認すると、medialive update-channelコマンドがないことがわかります。
また、AWS CLIのバージョンが古いと、下記のように「medialive update-channelコマンドがない」とエラーとなってしまい、チャンネル更新機能がなかったことがわかります。
$ aws --version aws-cli/1.14.17 Python/2.7.10 Darwin/16.7.0 botocore/1.8.21 $ aws medialive update-channel usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument operation: Invalid choice, valid choices are: create-channel | create-input create-input-security-group | delete-channel delete-input | delete-input-security-group describe-channel | describe-input describe-input-security-group | list-channels list-input-security-groups | list-inputs start-channel | stop-channel help