LoginSignup
3
2

More than 5 years have passed since last update.

direnv で AWSのアカウントを自動的に切り替える

Posted at

複数のAWS IAMアカウント(例えば会社用と自分用)を使っているときに、間違って他のアカウントを使わないようにしたい。「--profile」オプションで環境を切り替える事もできるが、付け忘れたりするリスクがある。

試行錯誤・運用した結果、ホームディレクトリに「~/.aws/credentials」を置かず、 direnv を使って環境変数で設定する方法に落ち着いた。

direnvのインストール方法とかはこちらを参考に。

.envrcをどこに配置するか

大抵、該当のリポジトリに移動してから作業を行うため、リポジトリに配置してもよい。しかし、複数のリポジトリで同じAWSアカウントを使いたいこともあるので、Organizationのレベルに .envrc を配置している。

~
├── github.com
│  ├── .envrc
│  ├── bar
│  └── foo
└── github.office.example.com
   ├── .envrc
   ├── baz
   └── qux

.envrc の中身については以下の通り。

export AWS_ACCESS_KEY_ID='xxxxxxxxxxxxx'
export AWS_SECRET_ACCESS_KEY='xxxxxxxxxxxxxxx'

必要であれば source_env .. などで上の階層を読み込むとよい。

References

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2