aws cliでアカウントを切り替えるし、AWS SDK for JavaScriptでも切り替える

@iwasaki 42views 更新:2017年4月6日

デフォルト設定

aws configure

デフォルト以外の設定を作る

aws configure --profile developer
aws configure --profile test

呼び出し方

aws sdb  list-domains --profile developer | grep creator

参考

http://qiita.com/ryuzee/items/e3ce493f132f1981f57a

http://dev.classmethod.jp/cloud/aws/aws_credential_file_difference/

http://dev.classmethod.jp/cloud/aws/how-to-configure-aws-cli/

AWS SDK for JavaScriptで切り替える方法

以下のようにするようです。

$ AWS_PROFILE=developer node script.js

複数のアカウントにまたがって切り替えたい場合には

var AWS = require('aws-sdk');
var developer = new AWS.SharedIniFileCredentials({profile: 'developer'});
var test = new AWS.SharedIniFileCredentials({profile: 'test'});
AWS.config.credentials = developer;

// 変更する際には refresh が必要なようです。
AWS.config.credentials = test;
AWS.config.credentials.refresh(function(err, data) {
//ここに処理を書く
)}

http://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html

http://qiita.com/NewGyu/items/c183ff8c8d9406292967

2017/04/07 訂正

AWS SDK for JavaScriptで複数のアカウントを切り替える場合、正しくは以下のようにする必要があるようです。

var AWS = require('aws-sdk');
var developer = new AWS.SharedIniFileCredentials({profile: 'developer'});
var test = new AWS.SharedIniFileCredentials({profile: 'test'});
AWS.config.credentials = developer;
var client = new AWS.EC2({ credentials: developer });
var client2 = new AWS.EC2({ credentials: test });

https://aws.amazon.com/jp/blogs/security/a-new-and-standardized-way-to-manage-credentials-in-the-aws-sdks/

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません