AWS ロング ID の雑なまとめ
- 期限: 2016/12/16
- でもアカウント毎にちょいちょい違うっぽいので以下で確認
- EC2 Dashboard の Resource ID length management
- でもアカウント毎にちょいちょい違うっぽいので以下で確認
【目次】
変更対象と変更内容
ロング ID 変更対象
- Reservation (各リザベーションは単一のインスタンス起動リクエストの結果を意味しますが、複数のインスタンスを起動した際には複数のインスタンスと関連付けられます。 )
- Instance ID
- Volume ID
- Snapshot ID
reservationはインスタンスを起動するアクションのこと。run-instancesを使って一度に複数のインスタンスを起動すると、(普通は)1個のreservationが作られ、複数のインスタンスがそこに属する(ただし場合によっては複数のreservationが作られることもあるらしい)。
変更内容
- それぞれ 8 桁から 17 桁になる.
変更設定 URL
- EC2 Dashboard の Resource ID length management をクリック
既存リソースの変更
- できないっぽい.ショートだろうがロングだろうが,1 度割当たった ID は変更不可っぽい.
設定対象の単位
- IAM ユーザー,または IAM ロール単位
- リージョン単位 (マルチリージョン運用であれば,それぞれのリージョンで設定が必要)
- すべてのリージョンで一気にオプトインするためのツールがある.
- awslabs/ec2-migrate-longer-id: The code opts the entire account in to the longer id format for ec2 resources in each region with a single request. It will also print status and revert to shorter ids in case of problems. https://github.com/awslabs/ec2-migrate-longer-id
- すべてのリージョンで一気にオプトインするためのツールがある.
オプトイン・オプトアウト
- 現在の設定の確認
- EC2 インスタンス ID のロング ID 設定を調べたいとき (ARN には調べたい対象 IAM ユーザーの ARN を指定.PROFILE は場合によっては指定)
$ aws ec2 describe-identity-id-format --resource instance --principal-arn [ARN] --profile [PROFILE] { "Statuses": [ { "Deadline": "2016-12-12T18:00:00Z", "UseLongIds": true, "Resource": "instance" } ] }
- オプトイン
$ aws ec2 modify-identity-id-format \ --resource [instance | reservation | snapshot | volume] # どれをオプトインしたいか選ぶ --principal-arn [ARN] --use-long-id
- オプトアウト
$ aws ec2 modify-identity-id-format \ --resource [instance | reservation | snapshot | volume] # どれをオプトアウトしたいか選ぶ --principal-arn [ARN] --no-use-long-id
ARN にルートアカウントを指定すれば,そのアカウント配下の IAM ユーザーの設定を一気に変更できる.
その他
運用スクリプトなどで桁数バリデーションチェックしている場合は修正しましょう.
開発環境でのテスト
- ある IAM ユーザーのロング ID を有効化する.
- 開発環境をその IAM ユーザーで作り直す.
可能な限りの E2E テストを流して異常が起こらないかチェック
面倒くさかったらルートアカウントの ARN 指定してバーン!ってやってまずそうならバーン!と戻すという手もあり.自己責任でよろしくお願いします.
詳細は以下!
よくある質問 - Amazon EC2 | AWS https://aws.amazon.com/jp/ec2/faqs/#longer-ids
こんなブログ書いててなんですが「より長い EC2、EBS、および Storage Gateway リソース ID」セクションを全部読んでおいた方がいいと思います.
以上