4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Windows10でWSL2をインストールしAWS CLIを実行する

Last updated at Posted at 2022-03-07

1.前提条件

今回WSL2をインストールしてAWS CLIを実行する環境は以下の通り。

  • Windows10 Pro バージョン21H2(OSビルド19044.1526)
  • WSL未インストール

image.png

2.WSL2インストール

「WSL のインストール」を参考に、WSLをインストールしていく。
管理者権限のPowerShellで以下コマンドを実行し、WSL2をインストールする。1

wsl --install

このコマンドでは以下が実行される。

  • 必要なオプション コンポーネントの有効化
  • 最新 Linux カーネルのダウンロード
  • WSL 2 の既定としての設定
  • Linux ディストリビューション(既定では Ubuntu)のインストール

以下のように再起動を求められるので、端末を再起動する。
image.png
再起動すると以下のようにデフォルトのUNIXユーザアカウントを作成するよう求められる。Windowsのユーザ名と一致する必要はない。自由にユーザ名を入力する。
image.png
image.png
パスワードを求められるので2回入力する。
image.png
これでWSL2のセットアップが完了した。

3.AWS CLI v2インストール

「Installing or updating the latest version of the AWS CLI」のLinux OSへのインストール手順を参照し、AWS CLIの最新バージョンであるv2をインストールする。

3-1.unzipコマンドをインストールする

WSL2で実行するUbuntuで作業する。
AWS CLIのパッケージをインストールした後unzipする必要があるので、unzipをインストールしておく。

sudo apt install unzip

image.png

3-2.AWS CLI v2のパッケージをダウンロード

curlコマンドでAWS CLI v2のパッケージをダウンロードする。

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

image.png

unzipコマンドで展開する。

unzip awscliv2.zip

image.png

3-3.AWS CLI v2のインストール

以下コマンドでインストールする。

sudo ./aws/install

image.png

以下バージョン確認コマンドが実行できるか試し、AWS CLI v2がインストールできたか確認する。

aws --version

image.png
バージョン確認コマンドが実行でき、バージョンが表示され、AWS CLI v2がインストールされたことが確認できた。

4.CLIを使用するIAMユーザのアクセスキー・シークレットアクセスキーを作成

CLIを使用するのにIAMユーザのアクセスキーとシークレットアクセスキーが必要なので作成する。
AWSマネジメントコンソールのIAMから、CLIを使用する権限のあるユーザを選択し「アクセスキーの作成」をclickする。
image.png
アクセスキーとシークレットアクセスキーが生成される。シークレットアクセスキーは二度と表示できないのでここで必ずコピーしておく。.csvファイルをダウンロードしておいてもよい。
image.png

アクセスキーとシークレットアクセスキーのセットが漏洩するとそのユーザの権限で何でも操作ができてしまうので、絶対に外部に漏らさないようにする。

5.WSLで認証情報の登録

手順4で作成したアクセスキーとシークレットアクセスキー情報をWSLで登録する。
今回は「クイックセットアップ」を参考に実施する。

以下コマンドを実行する。

aws configure

対話形式で以下情報を入力していく。

  • アクセスキー
  • シークレットアクセスキー
  • リージョン
  • デフォルトフォーマット
AWS Access Key ID [None]: AKIAxxxxxxxxxxxV2CL
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Default region name [None]: ap-northeast-1
Default output format [None]: json

WSLに認証情報登録.png

登録した情報は~/.aws配下のconfigcredentialsに保存されている。
WSLに認証情報登録2.png

以下AWS CLIコマンドを実行し、EC2情報を取得する。

aws ec2 describe-instances

WSLでCLI実行結果.png

6.CLIを実行するIAMユーザを切り替える

「Named profiles for the AWS CLI」を参考に、認証情報を追加で登録し、CLIコマンドを実行するIAMユーザを切り替える。(プロファイルの切り替え)

6-1.CLI用のIAMユーザを作っておく

プロファイル切り替え用のIAMユーザを作っておく。
今回は以下のユーザを作成し、アクセスキーとシークレットアクセスキーを生成しておく。

  • IAMユーザ名:cli-test-user
  • 権限:IAMReadOnlyAccessだけアタッチ
    image.png

6-2.認証情報の追加登録

WSLを開き、~/.aws配下のconfig(構成プロファイル)を編集する。
viエディタで~/.aws配下のconfigを開く。

vi .aws/config

viエディタで開くと、configは以下のように設定されている。

[default]
region = ap-northeast-1
output = json

iで編集モードに移行し、新しく作成したCLI用IAMユーザの情報を以下のように追記し、escで編集モードを抜け、:wqで保存する。

[profile cli-test-user]
region=ap-northeast-1
output=text

config修正.png

続いて~/.aws配下のcredentials(クレデンシャルプロファイル)を編集する。
viエディタで~/.aws配下のcredentialsを開く。

vi .aws/credentials

viエディタで開くと、credentialsは以下のように設定されている。

[default]
aws_access_key_id = AKIxxxxxxxxxxxxxV2CL
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxx

iで編集モードに移行し、新しく作成したCLI用IAMユーザの認証情報を以下のように追記し、escで編集モードを抜け、:wqで保存する。

[cli-test-user]
aws_access_key_id = AKIxxxxxxxxxxxxxV2CL
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxx

image.png

6-3.名前付きプロファイルの使用

CLIコマンドにオプションを追加することで、CLIコマンドを実行するIAMユーザを切り替えることができる。
次の例では、手順6-2のプロファイルで定義されたクレデンシャルと設定を使用して、アカウント内すべてのIAMユーザ一覧をテキスト形式で表示する。

aws iam list-users --profile cli-test-user

CLI用ユーザでIAM表示OK.png

cli-test-userIAMReadOnlyAccessしか権限がないため、EC2の情報を取得しようとすると失敗する。

aws ec2 describe-instances --profile cli-test-user

image.png

6-4.(参考)環境変数でのプロファイル指定

以下のように環境変数を設定することにより、コマンドを実行するたびに--profileオプションでプロファイルを指定する必要がなくなる。

export AWS_PROFILE=cli-test-user

環境変数を設定してプロファイルを切り替える.png
--profileオプションでプロファイルを指定しなくても、テキスト形式でIAMのリストが取得されている(=cli-test-userでAWS CLIコマンドが実行されている)。

参考

  1. このコマンドはWSL がインストールされていない場合にのみ機能する。

4
1
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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?