«前の日記(2014-07-15 (Tue)) 最新 次の日記(2014-07-23 (Wed))» 編集

雑記帳


2014-07-17 (Thu) [長年日記]

[AWS] AWS SDK for Ruby付属のaws-rbが--profileオプションに対応

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がリリースされてた