[update] AWS Elemental LinkでデバイスのAvailability Zoneが制御ができるようになりました!

Linkデバイスの割り当てられているAZの確認ならびに変更ができるようになりました。シングルパイプライン構成で複数LinkデバイスをInputとして使う場合や、標準構成のChannelの場合など、用途によって適切なAZ構成を採るようにしましょう。
2023.08.31

はじめに

清水です。本エントリでお届けするAWSアップデート情報はこちら!AWS Elemental MediaLive用のセットアップ済みライブエンコーダデバイスとして動作するAWS Elemental Linkで、デバイスを特定のAvailability Zoneに関連付けられるようになりました!こちらのアップデートは本日2023/08/31時点でAWS What's Newでの記載がありませんが、AWS Elemental MediaLive User GuideDocument historyから確認することができます。(2023/08/01付で更新されたようです。)

Document history for user guide - MediaLive

AWS API Changesのサイトでも、2023/08/01付で以下のようにアップデートが紹介されています。

AWS Elemental Link devices now report their Availability Zone. Link devices now support the ability to change their Availability Zone.

AWS API Changes - 2023/08/01 - AWS Elemental MediaLive - 3 updated api methods

AWS CLIではv1.29.17ならびにv2.13.6で今回の更新がされていることが確認できます。

本エントリでは、このAWS Elemental Linkでデバイスを特定のAvailability Zone (AZ)に関連付けられるようになったアップデートについて、実際に確認してみたのでまとめてみます。

マネジメントコンソールからLinkデバイスのAZを確認して変更してみる

まずはAWSマネジメントコンソールからLinkデバイスのAZを確認してみましょう。MediaLiveのマネジメントコンソールにすすみ、左側メニューからLink input devicesを選択します。デバイス一覧画面にズバリ!AZが記載されていますね。以下のLinkデバイスはOregon (us-west-2)リージョンに紐づけている状態なのですが、それぞれAZがus-west-2bus-west-2cであることが確認できます。

Linkデバイスの詳細画面に進んでみましょう。画面上部のAggregate statusならびにNetwork settingsの項目にAZの情報はありませんが、もう少し下にスクロールさせてみます。

AZ情報がありました!MetadataのAvailability Zoneの項目にus-west-2cの記載がありますね!

このLinkデバイスのAZは確認のほか、変更も可能です。Linkデバイス詳細ページ上部の[Edit]ボタンを押下してみましょう。

Edit input deviceの最後にAvailability Zoneの項目がありますね。us-west-2cからus-west-2aに変更して[Update]ボタンを押下します。

AZが変更できました!

AWS CLIからLinkデバイスのAZを確認して変更してみる

AWSマネジメントコンソールからLinkデバイスのAZの確認ならびに変更ができました。続いて、AWS CLIで同様にLinkデバイスのAZの確認、変更を行ってみましょう。

今回AWS CLIはAWS CloudShellから実行しました。Linkデバイスと同じくOregon (us-west-2)のCloudShellからの実行となります。AWS CLIの環境は下記でした。

$ aws --version
aws-cli/2.13.13 Python/3.11.4 Linux/4.14.255-314-253.539.amzn2.x86_64 exec-env/CloudShell exe/x86_64.amzn.2 prompt/off

medialive list-input-devicesもしくはmedialive describe-input-deviceコマンドでLinkデバイスのAZが確認できます。

$ aws medialive list-input-devices
{
    "InputDevices": [
        {
            "Arn": "arn:aws:medialive:us-west-2:123456789012:inputDevice:hd-004axxxxxxxxxxxxxxxxxxxx",
            "ConnectionState": "DISCONNECTED",
            "DeviceSettingsSyncState": "SYNCED",
            "DeviceUpdateStatus": "NOT_UP_TO_DATE",
            "HdDeviceSettings": {
                "ConfiguredInput": "AUTO",
                "MaxBitrate": 9000000,
                "LatencyMs": 1000
            },
            "Id": "hd-004axxxxxxxxxxxxxxxxxxxx",
            "MacAddress": "00:XX:XX:XX:XX:30",
            "Name": "Elemental Link",
            "NetworkSettings": {},
            "Name": "Elemental Link",
            "NetworkSettings": {},
            "SerialNumber": "47xxxxxxxxxx",
            "Type": "HD",
            "Tags": {},
            "AvailabilityZone": "us-west-2b"
        },
        {
            "Arn": "arn:aws:medialive:us-west-2:123456789012:inputDevice:hd-004vxxxxxxxxxxxxxxxxxxxx",
            "ConnectionState": "CONNECTED",
            "DeviceSettingsSyncState": "SYNCED",
            "DeviceUpdateStatus": "UP_TO_DATE",
            "HdDeviceSettings": {
                "ActiveInput": "HDMI",
                "ConfiguredInput": "AUTO",
                "DeviceState": "IDLE",
                "Framerate": 59.94,
                "Height": 1080,
                "MaxBitrate": 9000000,
                "ScanType": "PROGRESSIVE",
                "Width": 1920,
                "LatencyMs": 1000
            },
            "Id": "hd-004vxxxxxxxxxxxxxxxxxxxx",
            "MacAddress": "00:XX:XX:XX:XX:2D",
            "Name": "Elemental Link",
            "NetworkSettings": {
                "DnsAddresses": [
                    "192.168.xxx.1"
                ],
                "Gateway": "192.168.xxx.1",
                "IpAddress": "192.168.xxx.21",
                "IpScheme": "DHCP",
                "SubnetMask": "255.255.255.0"
            },
            "SerialNumber": "47xxxxxxxxxx",
            "Type": "HD",
            "Tags": {},
            "AvailabilityZone": "us-west-2a"
        }
    ]
}
$ aws medialive describe-input-device \
    --input-device-id hd-004vxxxxxxxxxxxxxxxxxxxx
{
    "Arn": "arn:aws:medialive:us-west-2:123456789012:inputDevice:hd-004vxxxxxxxxxxxxxxxxxxxx",
    "ConnectionState": "CONNECTED",
    "DeviceSettingsSyncState": "SYNCED",
    "DeviceUpdateStatus": "UP_TO_DATE",
    "HdDeviceSettings": {
        "ActiveInput": "HDMI",
        "ConfiguredInput": "AUTO",
        "DeviceState": "IDLE",
        "Framerate": 59.94,
        "Height": 1080,
        "MaxBitrate": 9000000,
        "ScanType": "PROGRESSIVE",
        "Width": 1920,
        "LatencyMs": 1000
    },
    "Id": "hd-004vxxxxxxxxxxxxxxxxxxxx",
    "MacAddress": "00:XX:XX:XX:XX:2D",
    "Name": "Elemental Link",
    "NetworkSettings": {
        "DnsAddresses": [
            "192.168.xxx.1"
        ],
        "Gateway": "192.168.xxx.1",
        "IpAddress": "192.168.xxx.21",
        "IpScheme": "DHCP",
        "SubnetMask": "255.255.255.0"
    },
    "SerialNumber": "47xxxxxxxxxx",
    "Type": "HD",
    "Tags": {},
    "AvailabilityZone": "us-west-2a"
}

AZの変更はmedialive update-input-deviceコマンドで行います。--input-device-idオプションでLinkデバイスのIDを指定するのに加え、--availability-zoneオプションで変更後のAZを指定します。実行時の出力でAZが変更されていることが確認できますね!

$ aws medialive update-input-device \
    --input-device-id hd-004vxxxxxxxxxxxxxxxxxxxx \
    --availability-zone us-west-2b
{
    "Arn": "arn:aws:medialive:us-west-2:123456789012:inputDevice:hd-004vxxxxxxxxxxxxxxxxxxxx",
    "ConnectionState": "CONNECTED",
    "DeviceSettingsSyncState": "SYNCED",
    "DeviceUpdateStatus": "UP_TO_DATE",
    "HdDeviceSettings": {
        "ActiveInput": "HDMI",
        "ConfiguredInput": "AUTO",
        "DeviceState": "IDLE",
        "Framerate": 59.94,
        "Height": 1080,
        "MaxBitrate": 9000000,
        "ScanType": "PROGRESSIVE",
        "Width": 1920,
        "LatencyMs": 1000
    },
    "Id": "hd-004vxxxxxxxxxxxxxxxxxxxx",
    "MacAddress": "00:XX:XX:XX:XX:2D",
    "Name": "Elemental Link",
    "NetworkSettings": {
        "DnsAddresses": [
            "192.168.xxx.1"
        ],
        "Gateway": "192.168.xxx.1",
        "IpAddress": "192.168.xxx.21",
        "IpScheme": "DHCP",
        "SubnetMask": "255.255.255.0"
    },
    "SerialNumber": "47xxxxxxxxxx",
    "Type": "HD",
    "Tags": {},
    "AvailabilityZone": "us-west-2b"
}

まとめ

AWS Elemental Linkでデバイスに割り当てられているAvailability Zone (AZ)の確認ならびに変更ができるアップデートについてお届けしました。AWSマネジメントコンソールやAPI経由でAZの確認と変更が可能です。MediaLive User GuideのConfiguring the deviceのページにはAZ変更のユースケースとして、シングルパイプライン構成のChannelで複数のLinkデバイスをInputとして使用する場合は単一のAZとすること、また標準構成のChannelでLinkデバイスを使う場合は異なるAZで使用することなどを挙げています。MediaLiveの構成、用途に合わせてLinkデバイスを適切なAZに割り当てるようにしましょう。