長いEC2リソースIDが利用可能になりました
はじめに
昨年11月、大きな仕様変更の注意喚起がAWSより出されました。
これは、2016年中に、EC2の
- インスタンス
- レザベーション(インスタンス起動リクエスト毎に発行されるID)
- ボリューム
- スナップショット
を示すリソースIDが、長いフォーマットに変更されるというものです。詳細はAWSのFAQに記載された「より長い EC2 および EBS のリソース ID」をご覧下さい。
今回、移行期間中の検証を目的に、長いフォーマットでの利用を選択することが可能になりました!
- They’re Here – Longer EC2 Resource IDs Now Available | AWS Official Blog
- Amazon Web Services ブログ: 本日より – 長いEC2リソースIDが利用可能に
幾つか注意事項をまとめます。
- 今回長いフォーマットが選択できるようになったのは、インスタンスIDとレザベーションID。EBSボリュームIDとスナップショットIDの対応は4月頃を予定しているとのこと。
- 長いフォーマットの利用選択はIAMユーザー毎及びリージョン毎に設定できる。
- 再度旧来のフォーマットに戻すことも可能。
- 利用選択する前に作られたリソースは旧来のフォーマットのまま。
- 2016年3月7日以降に作成されたAWSアカウントは、デフォルトで長いインスタンスIDとリザベーションIDになる。旧来のフォーマットに戻すことは可能。
やってみた
まずは普通にEC2インスタンスを起動した状態です。短いインスタンスIDになっています。
レザベーションIDも、以下のように短いIDとなっています。
それでは長いフォーマットを選択してみましょう。EC2 Dashboard画面から[Resource ID length management]をクリックします。
[Resource ID length management]が表示されます。[Use Longer IDs]にチェックが入っていないことがわかります。
[Use Longer IDs]にチェックを入れます。なお、反映には数分かかります。
チェック後にEC2インスタンスを起動すると...以下のように長いフォーマットのインスタンスIDになっています!
レザベーションIDも同様に長いフォーマットになっています。
前述の通り、この設定はIAMアカウント毎及びリージョン毎に有効となります。Longer IDsを有効にしたのは東京リージョンなので、オレゴンリージョンで設定を確認すると...
以下のように、[Use Longer IDs]にチェックがついていない状態になっています。
この設定は、チェックを外すだけですぐ解除でき、短いIDの利用に戻すことができます。
なお、今回はAWS管理コンソール上から行いましたが、もちろんCLIやSDKからも可能です。
さいごに
リソースIDに依存したシステムやスクリプトがある場合には、桁溢れや正規表現のアンマッチなどに注意する必要があります。今後は長いフォーマットがデフォルトになりますので、2016年中にしっかりとテストしておきましょう!