cloudpack磯辺です。

aws-rbとは、AWS SDK for Rubyに付属しているコマンドで、irbまたはpryを使ってAWS SDK for Rubyをインタラクティブに簡単に扱えるツールである*1

このツールが、先日書いた記事「AWS SDK for Rubyで新標準となったCredentials管理方法を使ってみる」の仕組みをつかって、–profileオプションに対応しました。本日リリースされた1.48.0から利用できるようになっていた*2

ためしに実行してみる。

現在のcredentialsファイルが下記のようになっている。

$ cat ~/.aws/credentials
[default]
aws_access_key_id = AKxxxxxxxxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

[account1]
aws_access_key_id = AKyyyyyyyyyyyyyyyyyy
aws_secret_access_key = yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

この状態で何も指定せずに実行すると、defaultが自動的に適用される。

% aws-rb
AWS> AWS.config.credentials
{
        :access_key_id => "AKxxxxxxxxxxxxxxxxxx",
    :secret_access_key => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
--profileをつけると、下記のようになる。
% aws-rb --profile account1
AWS> AWS.config.credentials
{
        :access_key_id => "AKyyyyyyyyyyyyyyyyyy",
    :secret_access_key => "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
}

これまでは、起動してから一々アクセスキーIDとシークレットアクセスキーを指定してたので、とても楽になった。

*1 AWS Development blogの記事 http://ruby.awsblog.com/post/Tx37CB1ZX8AGBQ5/Using-the-AWS-SDK-for-Ruby-from-Your-REPL が参考になる

*2 すでに1.48.1がリリースされてた

元記事は、こちら