AWS CLIを利用して、いざAWS内に入ろうとすると下記のエラーが表示されることがあります
The Session Manager plugin was installed successfully. Use the AWS CLI to start a session.
You must specify a region. You can also configure your region by running "aws configure".
このようなエラーが表示された場合は、AWS CLIの設定をまだ完全には終えていない状態です。
- アカウントの紐付け
- 利用するリージョン
- roleの切り替え
などが残っています。
そこで、ここでは設定を完了していきたいと思います
本番・開発環境のロールに切り替える
まずはアカウント情報を紐付けます
aws configure
すると順番に入力を求められるので、それぞれ入力します。
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE // アクセスキー
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: ap-northeast-1
Default output format [None]: json
アクセスキーとシークレットキーの入力
AWS Access Key ID [None]: 自分のアクセスキーを入力
アクセスキーの確認方法ですが、自分のアカウントでセキュリティ認証情報
を開きます
するとCLIに利用するアクセスキーIDが表示されます
シークレットアクセスキーに関しては、アクセスキーの生成時にcsvでダウンロードしています
ファイル名は「ユーザー名_accessKeys.csv」となります。
アクセスキーとシークレットアクセスキーはセットですから、シークレットアクセスキーを忘れた場合は、アクセスキーを再度作り直すと良いでしょう
リージョンの入力
Default region name [None]: ap-northeast-1 // 自分が利用するリージョンを記入
どのリージョンの利用したいのか記述します
出力設定
Default output format [None]: json
json形式にします
さらに設定する
vim ~/.aws/config
上記のコマンドを実行すると、先ほど設定したリージョンなどが表示されます。
[default]
region=ap-northeast-1
output=json
こちらのconfigファイルを更新していきます
source_profile
IAMユーザー認証情報を含む別の名前付きプロファイルです。今回はスイッチロール元のプロファイルであるdefault
を利用します。
[profile test]
region = ap-northeast-1
source_profile = default
MFAに対応する
MFAを設定している場合、mfa_serial
を記述する必要があります
[profile test]
region = ap-northeast-1
mfa_serial = arn:aws:iam::xxxxxxxxxxxx:mfa/hoge
source_profile = default
mfa_serial
の値を確認するためにセキュリティ認証情報を開きます
画面を開くと多要素認証(MFA)
の項目があるので、そこまでスクロールします。
MFAデバイスの割り当てとして、arn:aws:iam::~~が表示されているので、この値をコピーします。
[profile test]
region = ap-northeast-1
mfa_serial = arn:aws:iam::xxxxxxxxxxxx:mfa/アカウント名 // ここに貼り付け
source_profile = default
role_arnの記述
スイッチロールするためにrole_arn
を記述します
[default]
region = ap-northeast-1
output = json
[profile test]
mfa_serial = arn:aws:iam::xxxxxxxxxxxx:mfa/アカウント名
role_arn = arn:aws:iam::アカウントID:role/ロール名
source_profile = default
role_arn
の値は、スイッチロール先のIAMロールの画面から取得します。
実際にコマンドを実施してみる
aws s3 ls --profile test
Enter MFA code for arn:aws:iam:: // MFAの番号を入力する
// 日付+S3の名前の一覧が表示される
あなたが参照したいS3が出て来れば問題ないです
これで実行できない場合は、IP制限をされているはずなので、VPNを接続して許可されたIPアドレスで実行してください。
–profileを省略する
毎回--profile
を入力するのは手間ですよね
そこで、mac内の環境変数に登録しておきます。
export AWS_DEFAULT_PROFILE=test // プロフィール名
これでデフォルトに利用するprofileを登録しました
それでは確認しましょう
aws s3 ls
// 日付+S3の名前の一覧が表示される
profileオプションを入れた状態と同じように、一覧表示されたら成功です
コメント