[update] AWS Elemental Linkでデバイスごとに名前を割り当てられるようになりました!

AWS Elemental LinkでデバイスごとにMetadataとしてName情報を持てるようになりました。物理デバイスとして管理が非常にしやすくなるアップデートだと思います。マネジメントコンソールとAWS CLIでName情報を書き換えて確認してみました。
2020.11.26

はじめに

清水です。本エントリでお届けするアップデートはこちら!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情報として持っているわけではないのでご注意ください。)

本エントリではこのアップデートについて、実際に試してみたのでまとめてみます。

まずはマネジメントコンソールから確認してみます。Devices一覧だと以下のような表示になります。この段階で2台のLinkデバイスを区別する方法としては、やはりデバイスIDしかありません。(入力している映像なども活用できなくはないですが。)

Device詳細画面に移動し、右上の[Edit]ボタンを押下しましょう。

Input deviceの編集ダイアログが現れます。Nameの項目を編集し、わかりやすい名称をつけましょう。

Elemental LinkからCM-ElementalLink-1にしてみました。[Update]ボタンを押下して反映させます。

変更後、デバイス一覧画面では以下のように表示され、デバイスIDとあわせてName情報によりデバイスの区別が可能となります。

デバイスの詳細画面ではMetadataの欄にName情報がありますね。

続いて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デバイスを社外などに持ち出す際にその番号で管理する、など。)機能的には小さなアップデートかもしれませんが、とっても重要なアップデートだなと思いました。

脚注

  1. ちなみに、まだName情報が割り当てられない頃にAWS CLIで確認した結果をみてみたところ、NameというKey自体は存在していたようでした。ただし値は空("")、変更するAPIも提供されていなかったようです。AWS Elemental LinkをAWS CLIから操作してみた | Developers.IO