この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
清水です。本エントリでお届けするアップデートはこちら!AWS Elemental Linkでデバイスごとに名前を割り当てられるようになりました!(2020/11/11にポストされたアップデート情報のうちの1つを本エントリにて取り上げます。)
これまでAWSアカウント、リージョン内に複数のLinkデバイスが存在していた場合、それらを区別するためにはデバイスIDを確認する必要がありました。このデバイスID、hd-
から始まり24文字のランダムな英数字から構成されているようです。イメージとしてはEC2のインスタンスIDが近いかと思います。昔々の8文字のインスタンスIDの時代ならまだしも?、24文字の文字列で区別するのは難しいですよね。特にLinkデバイスが標準で冗長化構成に対応したことからも、1つのAWSアカウント内に複数のデバイスが並ぶことが予想されます。(もちろん、区別しやすいようにAWSアカウントを分けることも可能になりましたが。)そんな中、小さいながらも強力なアップデートです、Linkデバイスごとに名前の割り当てができるようになりました!IDと同様にEC2で例えればNameタグに該当するイメージでしょうか。(ただし、EC2インスタンスのようにTag情報として持っているわけではないのでご注意ください。)
本エントリではこのアップデートについて、実際に試してみたのでまとめてみます。
マネジメントコンソールからLinkデバイスに名前を割り当てる
まずはマネジメントコンソールから確認してみます。Devices一覧だと以下のような表示になります。この段階で2台のLinkデバイスを区別する方法としては、やはりデバイスIDしかありません。(入力している映像なども活用できなくはないですが。)
Device詳細画面に移動し、右上の[Edit]ボタンを押下しましょう。
Input deviceの編集ダイアログが現れます。Name
の項目を編集し、わかりやすい名称をつけましょう。
Elemental Link
からCM-ElementalLink-1
にしてみました。[Update]ボタンを押下して反映させます。
変更後、デバイス一覧画面では以下のように表示され、デバイスIDとあわせてName情報によりデバイスの区別が可能となります。
デバイスの詳細画面ではMetadataの欄にName情報がありますね。
AWS CLIからLinkデバイスに名前を割り当てる
続いてAWS CLIでもLinkデバイスへの名前の割り当て機能を確認してみたいと思います。AWS CLI v2の現時点での最新版を使って確認しています。具体的には以下の環境となります。
% aws --version
aws-cli/2.1.4 Python/3.7.4 Darwin/19.6.0 exe/x86_64
まずはaws medialive describe-input-device
コマンドでデバイスの情報を確認してみましょう。引数として--input-device-id
でデバイスIDを指定します。
% aws medialive describe-input-device \
--input-device-id hd-XXXXXXXXXXXXXXXXXXXXc0z8 \
--region us-west-2
{
"Arn": "arn:aws:medialive:us-west-2:123456789012:inputDevice:hd-XXXXXXXXXXXXXXXXXXXXc0z8",
"ConnectionState": "CONNECTED",
"DeviceSettingsSyncState": "SYNCED",
"DeviceUpdateStatus": "UP_TO_DATE",
"HdDeviceSettings": {
"ActiveInput": "HDMI",
"ConfiguredInput": "AUTO",
"DeviceState": "IDLE",
"Framerate": "60.0",
"Height": 1080,
"MaxBitrate": 9000000,
"ScanType": "PROGRESSIVE",
"Width": 1920
},
"Id": "hd-XXXXXXXXXXXXXXXXXXXXc0z8",
"MacAddress": "XX:XX:XX:XX:XX:2D",
"Name": "CM-ElementalLink-1",
"NetworkSettings": {
"DnsAddresses": [
"0.0.0.0"
],
"Gateway": "192.168.1.1",
"IpAddress": "192.168.1.28",
"IpScheme": "DHCP",
"SubnetMask": "255.255.255.0"
},
"SerialNumber": "XXXXXXXXXXXX",
"Type": "HD"
}
Name
に対応する値として、先ほど指定したCM-ElementalLink-1
が格納されていますね。 *1
続いて、aws medialive update-input-device
コマンドを使ってName情報を更新してみましょう。引数として指定する--name
オプションでName情報の書き換えが行えます。実行時には--input-devide-id
でデバイスIDの情報も必要です。
% aws medialive update-input-device \
--input-device-id hd-XXXXXXXXXXXXXXXXXXXXc0z8 \
--name classmethod-elemental-link-001 \
--region us-west-2
{
"Arn": "arn:aws:medialive:us-west-2:123456789012:inputDevice:hd-XXXXXXXXXXXXXXXXXXXXc0z8",
"ConnectionState": "CONNECTED",
"DeviceSettingsSyncState": "SYNCED",
"DeviceUpdateStatus": "UP_TO_DATE",
"HdDeviceSettings": {
"ActiveInput": "HDMI",
"ConfiguredInput": "AUTO",
"DeviceState": "IDLE",
"Framerate": "60.0",
"Height": 1080,
"MaxBitrate": 9000000,
"ScanType": "PROGRESSIVE",
"Width": 1920
},
"Id": "hd-XXXXXXXXXXXXXXXXXXXXc0z8",
"MacAddress": "XX:XX:XX:XX:XX:2D",
"Name": "classmethod-elemental-link-001",
"NetworkSettings": {
"DnsAddresses": [
"0.0.0.0"
],
"Gateway": "192.168.1.1",
"IpAddress": "192.168.1.28",
"IpScheme": "DHCP",
"SubnetMask": "255.255.255.0"
},
"SerialNumber": "XXXXXXXXXXXX",
"Type": "HD"
}
返り値となるJSONデータから、Name情報が書き換えられていることがわかりますね。マネジメントコンソールでも以下のように書き換わっていました。
まとめ
AWS Elemental MediaLive用のセットアップ済みライブエンコーダデバイスとして動作するAWS Elemental Linkの機能アップデートの1つ、デバイスに対する名前の割り当てについて確認してみました。実際のLinkデバイスの動作には直結はしないアップデートではありますが、LinkデバイスをそのデバイスIDではなく、1号機、2号機といったようにナンバリングして管理したい、という需要はあるのではないでしょうか。(物理的にテプラで作ったシールをデバイスに貼る、Linkデバイスを社外などに持ち出す際にその番号で管理する、など。)機能的には小さなアップデートかもしれませんが、とっても重要なアップデートだなと思いました。
脚注
- ちなみに、まだName情報が割り当てられない頃にAWS CLIで確認した結果をみてみたところ、NameというKey自体は存在していたようでした。ただし値は空("")、変更するAPIも提供されていなかったようです。AWS Elemental LinkをAWS CLIから操作してみた | Developers.IO ↩