昨年の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が一番遅いのは意外。

元記事はこちら

[AWS] AWS Account Numberを取得するツールを作った