AWS CLIを使うと、AWSにPowershellなどでアクセスできるようになります。
AWS CLIのインストール
下記のページからインストールできます。
https://aws.amazon.com/jp/cli/
インストール後にPowerShellにより以下のコマンドを実行します。
$ aws --version
するとAWS CLIのバージョンが表示されます。
AWS CLIでの接続初期設定
初期に以下の命令を行いして、指定したIAMユーザーにログインします。
$ aws configure
実行すると以下の4つを聞かれます。
- AWS Access Key ID:IAMユーザーのアクセスキーIDです。マネージメントコンソールのIAMユーザーの認証より取得します。
- AWS Secret Access Key:IAMユーザーのアクセスキーです。マネージメントコンソールのIAMユーザーの認証より取得します。
- Default region name:デフォルトのリージョンです。日本の場合は、「ap-northeast-1」になるかと思います。
- Default output format:出力フォーマットです。「text」、「json」、「table」から選択します。jsonが見やすいのでおすすめです。
上記の「AWS Access Key ID」と「AWS Secret Access Key」はユーザーフォルダの「./aws/credentials」に保存されています。「Default *」に関しては、「./aws/config」に保存されています。内容を変更する際はこれらのファイルを更新します。
実行例
例えば、以下の命令でS3の情報を取得できます。
$ aws s3 ls
以下の命令をすると、現在のAWSアカウント情報を表示できます。
$ aws sts get-caller-identity
スイッチロール
AWSアカウントを複数持っている場合は、別のアカウントに変更する必要が出てきます。その際の手順は以下のようにして行います。
「.aws/config」にスイッチロール先のプロファイルを追記します。
[profile role-a]
role_arn = arn:aws:iam::yyyyyyyyyyyy:role/bbbbbb
mfa_serial = arn:aws:iam::xxxxxxxxxxxx:mfa/aaaaaa
source_profile = default
role-aはロール名です。好きな名前をつけてください。
role_arnはスイッチ先のarnを設定します。yyyyyyyyyyyyはスイッチ先のアカウントidです。bbbbbbはロール名です。
mfa_serialは初期接続のアカウントがMFAを使用している場合に設定します。xxxxxxxxxxxxは初期に接続するIAMユーザーのアカウントidです。arnはマネージメントコンソールで確認できます。
スイッチロールしてみる
下記の命令でスイッチロール先でコマンドを実行できます。
$ aws sts get-caller-identity --profile role-a
実行すると、MFAの番号を聞かれるので入力します(2回目以降は聞かれません)。接続に成功すると、スイッチ先の情報が表示されます。