昨年の12月に「AWS Account Numberを取得するN個の方法」という発表を行った。
この時の発表内容を元に、実際にAWS Account Numberを取得するツールを作った。 https://github.com/muramasa64/aws-account-number
gemでインストールすれば使える。
% gem install aws_account_number
使い方
単に実行すれば、APIを実行したAWSアカウントのAWS Account Numberが取得できる。
% aws_account_number 012345678901
例によって、thor-aws
を使っているので、Credentialsは、環境変数や、–profileオプション(~/.aws/credentials
の情報を参照する)、-kと-sオプションでの直接指定も可能である。
デフォルトでは、defaultセキュリティグループの情報を使って取得している。権限の問題で、セキュリティグループへのアクセス件がない場合に、IAM Userの情報から取得することもできる。サブコマンド iamuser
を指定する。
% aws_account_number iamuser 012345678901
また、CloudFormationを使う場合は、cfn
を指定する。
% aws_account_number cfn 012345678901
当たり前だけど、どれも結果は同じ。
速度比較
% time aws_account_number cfn 012345678901 aws_account_number cfn 1.15s user 0.20s system 51% cpu 2.617 total
% time aws_account_number iamuser 012345678901 aws_account_number iamuser 1.21s user 0.21s system 65% cpu 2.175 total
% time aws_account_number security_group 012345678901 aws_account_number security_group 1.19s user 0.21s system 25% cpu 5.403 total
何回か実行してみたけど、だいたい上記と同じぐらいの時間がかかった。SecurityGroupが一番遅いのは意外。