[UPDATE] MediaConnectとMediaLiveが1秒間隔のCloudWatchメトリクスを発行するようになりました!!
はじめに
清水です。本エントリではAWS Elemental MediaConnectとAWS Elemental MediaLiveで発行されるCloudWatchメトリクスの解像度がこれまでの1分間隔から1秒間隔に短縮されたアップデートについてお届けします。
AWS What's Newではまず、AWS Elemental MediaConnectが1秒間隔のCloudWatchメトリクス発行に対応したアップデートについての投稿がありました。これが2023/06/30のポストです。
これとタイミングをあわせたかどうかはわかりませんが、先日2023/07/10にはAWS Elemental MediaLiveでも同様に1秒間隔のCloudWatchメトリクス発行に対応したアップデートが投稿されました。
AWS What's Newへのアップデート投稿は別ものとなりますが、似た内容のアップデートであり確認のための検証もいちどに済ませられたことから、本エントにてMediaConnectとMediaLive、両方のアップデートについてまとめてお届けしたいと思います。
CloudWatchの1秒間隔のメトリクスについて
まずはAmazon CloudWatchのメトリクス間隔について振り返っておきましょう。
2009年にAuto Scaling、Elastic Load Balancingと同時にリリースされたCloudWatchですが、当時のメトリクスの保存間隔は5分でした。これが1分間隔となったのが2010年です。(私はこのころの「CloudWatchはデフォルトで5分、詳細モニタリングで1分」という印象が強いです。)
そんなCloudWatchのメトリクス発行の間隔、1秒毎の高解像度で利用できるようになったのが今からおよそ6年前、2017年7月末のできごとです。
- Amazon CloudWatch における高解像度メトリクスとアラーム | Amazon Web Services ブログ
- 【新機能】カスタムメトリクスとCloudWatchアラームが秒間隔で利用可能になりました! | DevelopersIO
なお、メトリクスの解像度により保存期間が異なる点には注意しましょう。1秒のメトリクスは3時間、60秒のメトリクスは15日間、5分は63日間、1時間は455日間という保存期間となります。(そういえば、2016年11月までは一律14日間だったんですよね。これを書きながら思い出しました。[CloudWatch] メトリックの保持期間が14日→15ヶ月に延長されて、グラフ機能も強化されました | DevelopersIO、CloudWatch Metrics の保存期間延長と新ユーザーインターフェイス)
MediaConnectとMediaLiveの1秒間隔のCloudWatchメトリクスを確認してみた
CloudWatchの1秒間隔のメトリクスについて簡単に振り返ったところで、本エントリの本題である、AWS Elemental MediaConnectとAWS Elemental MediaLiveでのメトリクス間隔の短縮アップデートについて確認していきましょう。
検証用リソースの準備
MediaConnectの検証用リソースの準備
まずはMediaConnectリソースを作成します。[Create flow]ボタンから進み、Flow Name、Source Nameを入力します。ProtocolはSRT listener
、Inbound portは5083
としました。
作成したFlowが以下になります。
MediaLiveの検証用リソースの準備
続いてMediaLiveリソースの作成です。まずはInputから作成します。先ほど作成したMediaConnect Flowを入力ソースとし、Single Pipeline用で作成します。
Inputが作成できました。
MediaLive Channelについて、出力先はMediaPackage v2環境とし、以下ブログエントリと同様の設定としました。
そのため本エントリではMediaLive側の、特に差分となる箇所などの記載にとどめます。設定の詳細は上記エントリを参照ください。
「Live event HLS」のChannel templateをベースにします。
Input attachmentsでは先ほど作成したInputを選択します。[Confirm]ボタンを忘れずに押下しましょう。
出力先となるHLS group destinationがMediaPackage v2 ChannelのHLS ingest endpointとなります。
Channelの作成ができました。
FlowとChannelをStartして映像の打ち上げ
MediaConnectのFlowならびにMediaLiveのChannelをStartさせ、MediaConnect宛に映像を打ち上げます。今回はiPhone上のLarix BroadcasterをSRT Callerとして使用しました。
1秒間隔のCloudWatchメトリクスの確認
検証用リソースを作成、Startさせ映像を打ち上げたら、各リソースのCloudWatchメトリクスを確認していきます。
MediaConnectマネジメントコンソールから1秒間隔のCloudWatchメトリクスの確認
まずはMediaConnectのマネジメントコンソールから確認してみます。
Flowの詳細画面、Sourceタブを表示して下にスクロールさせましょう。Sourcesの項目の下に「Source health metrics」の項目があり、3つのメトリクスを確認できます。動きがあるメトリクスの一つ、Source bitrateで1秒間隔のメトリクスが発行されていることが確認できました。右上にも「Last 5 minitutes (with 1-second periods)」の項目がありますね。(なおこの箇所から1秒以外、1分や5分、30分間隔のメトリクスの確認も可能です。)
MediaLiveマネジメントコンソールから1秒間隔のCloudWatchメトリクスの確認
続いてMediaLiveのマネジメントコンソールからの確認です。
Channelの詳細ページでHealthのタブを表示しましょう。右上のPeriod指定の箇所で「1 second period」を選択します。Network inで1秒間隔のメトリクスを確認してみました。
CloudWatchマネジメントコンソールから1秒間隔のメトリクスの確認
もちろんCloudWatchマネジメントコンソールからもMediaConnect、MediaLiveの1秒間隔のメトリクスの確認ができます。それぞれのマネジメントコンソールの[View in CloudWatch]や[Open in CloudWatch]ボタンからもCloudWatchマネジメントコンソールに進めますが、今回はCloudWatchマネジメントコンソールの「All metrics」からメトリクスを選択してみました。Graphed metricsのタブでPeriodを1 secondに設定します。1秒間隔のメトリクスが確認できますね!
まとめ
AWS Elemental MediaConnectとAWS Elemental MediaLiveで発行するCloudWatchメトリクスの間隔がこれまでの1分から1秒に短縮されたアップデートについてお届けしました。1秒間隔のメトリクスを利用することで、それぞれのリソースのパフォーマンスをリアルタイムでより正確に把握できるようになります。1分間隔では気付くことができなかった潜在的な問題の発見や、問題が発生した際のより迅速な診断やトラブル対応も期待できますね。1秒間隔のメトリクスの保存期間が3時間であることに注意しつつ、上手に活用していきたいなと思いました。