2018年7月から始まる長いリソースIDのオプトイン機能が提供されました

2018.02.13

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

2018年7月からEC2/EBS/VPC全般の新規リソースIDが8桁から17桁に増えることが数ヶ月前に告知されました。

EC2系リソースIDが2018年7月から長くなります

2年前に4リソースのみ17桁IDに移行したのに続き、残りのEC2系リソースもまとめて17桁IDに移行するというものです。

VPC ID を例にとると、これまでは “vpc-1234abc0” のようにID部分が8桁だったのが2018年7月からは “vpc-1234567890abcdef0” というように17桁になります。

この度

  • ボタン一つで全リージョンでオプトイン
  • リージョン x リソース x {オプトイン操作を行うユーザー・ロール単位, 全ユーザー・ロール}

の粒度で選択(オプトイン)出来るようになったため、早速試してみました。

オプトインを有効にする方法

オプトインは管理コンソール EC2 サービスのトップページの「リソース ID の長さの管理(Resource ID length management)」リンクから遷移します。

すべてのリージョン・リソースで有効化

「長い ID への切り替え(Switch to longer IDs)」ボタンをクリックすると、全てのリージョンのすべてのリソースで長いID(17文字)に切り替わります。

特定のリージョン・リソースで有効化

リージョン x リソース x {オプトイン操作を行うユーザー・ロール単位, 全ユーザー・ロール} の粒度でコントロールすることも出来ます。

「 詳細リソース ID 管理( Advanced Resource ID Management)」のテキストをクリックすると、詳細テーブルが展開されるため、有効にした項目にチェックを入れると有効になります。

操作はチェックするだけです。うっかり「長い ID への切り替え(Switch to longer IDs)」ボタンを押すと、全リージョン・全リソースで有効になります。お気をつけ下さい。

API で長いリソースIDの切り替え状況を確認する

長いリソース ID への切り替え状況は管理コンソールだけでなく、API からも確認可能です。

長いIDを有効にしていないダブリンリージョン(eu-west-1)で実行した結果が以下です。

UseLongIds属性から、有効になっている場合は true、無効の場合は false となっています。

$ aws ec2 describe-id-format --region eu-west-1
{
    "Statuses": [
        {
            "Resource": "reservation",
            "Deadline": "2016-12-16T00:00:00.000Z",
            "UseLongIds": true
        },
        …
        {
            "UseLongIds": false,
            "Resource": "network-interface-attachment"
        },
        ...
}

API の詳細は次の URL をご確認下さい

オプトインを試したほうが良いケース

以下のようなケースでは、オプトインを活用し、事前に影響範囲を検証することをお勧めします

  • ツール・システムがリソース ID のバリデーションをチェックしている(2016年のID桁増加時は一部のSDKがこの影響を受けました)
  • データベースにリソース ID を保存している

また、影響範囲が不明瞭で、リスクを最小にしながら長いIDをためしたいケースでは、特定のIAMユーザー(ロール)かつ特定のリソースから始めるのがおすすめです。

最後に

一度作成されたリソース ID は変わりません。 オプトイン前に作成済みのリソース ID もそうですし、オプトインにより作成された長いリソース ID も同じです。

リスクを最小にしながら、2018年7月の新フォーマット変更に備えましょう。

参照