環境
macOS
AWS CLI インストール
$ brew install awscli --upgrade --user
hostname doesn't match
というエラーが出た場合は?
=> 確認: Python のバージョンは 2.7.9 以上か
アクセスキーの作成
AWS CLIには
使用している環境でAWS認証情報が設定されている必要がある。
AWSの認証情報を設定するには、使用するIAMユーザーにてアクセスキーを作成する必要がある。
ダッシュボードのここ。
AWS Access Key ID
とAWS Secret Access Key
が発行されるので保存する。
プロファイル設定方法
① コマンドで自動設定する方法
② ローカルの~/.aws
ディレクトリに手動で設定する方法
以上、2通りの設定方法があります。
コマンドでの設定は一発で終わりますが、既に設定してある場合に情報が上書きされてしまいます。
複数のプロファイル管理を行う場合は手動で設定します。
①コマンド一発設定
$ aws configure
を実行するとAWS CLI によって
- アクセスキーID
- シークレットアクセスキー
- AWSリージョン
- 出力形式
以上、4つの情報の入力が求められます。
- これらは自動的に
default
という名前のプロファイル設定群に保存されます。 - 👆既に設定してある場合は上書きされるので注意してください⚠
- よくわからない場合は、手動設定が無難です。
$ aws configure
AWS Access Key ID [None]: 🆔*****
AWS Secret Access Key [None]: 🔑*****
Default region name [None]: ap-northeast-1
Default output format [None]: json
②手動設定 (複数プロファイル管理可能)
AWS認証プロファイルの設定を行います。
-
~/.aws
以下のconfigとcredentialsファイルで確認可能。 - 手動修正するなどして、複数プロファイル管理も可能。
$ cd ~/.aws
$ ls
config credentials
config
設定項目
- プロファイル名
- 出力形式
- AWSリージョン
$ cat config
[profile don.suwa3.me]
output = json
region = ap-northeast-1
credentials
設定項目
- アクセスキーID
- シークレットアクセスキー
$ cat credentials
[don.suwa3.me]
aws_access_key_id = 🆔*****
aws_secret_access_key = 🔑*****
AWS認証プロファイルの設定を有効化
$ export AWS_PROFILE=${プロファイル名}
で、現在のセッションに指定したプロファイルの設定が効きます。
$ export AWS_PROFILE=don.suwa3.me
現在のセッションにのみ適用されます。
$ env
AWS_PROFILE=don.suwa3.me
わたしはセッションごとに忘れずexportする運用をしています
理由
- 仕事用と個人用でAWS CLIを複数アカウント運用しているため(本当はダメかも)
- 環境変数を
bash_profile
に固定してしまうと、あとでそのことを忘れそう
ツールでディレクトリごとAWS認証プロファイル設定ができるものもあるらしいです。