LoginSignup
11
8

More than 3 years have passed since last update.

WSL 上に AWS CLI をインストールする

Last updated at Posted at 2019-06-27

概要

WSL上に AWS CLI をインストールする方法 with pip3

環境

Windows10 Pro
バージョン 1803
WSL ... Ubuntu 18.04 LTS

WSLのインストール方法
WSL への pip3 インストール方法

インストール

公式を参考に順番にやります

--upgrade オプションは pip 自体のアップデート
--upgrade オプションについて

--user オプションは linux のユーザーディレクトリにインストールするためのオプション。
AWS CLI の場合は /home/username/.local/bin/aws ディレクトリにインストールされる。

# --upgrade 
$ pip3 install awscli --upgrade --user
Collecting awscli
  Downloading https://files.pythonhosted.org/packages/1c/fc/6de0d0e616db20fbb0bffbed73b4b575b6c5d6632503720760d21b5ec354/awscli-1.16.188-py2.py3-none-any.whl (1.7MB)
    100% |████████████████████████████████| 1.7MB 577kB/s
Collecting colorama<=0.3.9,>=0.2.5 (from awscli)
  Downloading https://files.pythonhosted.org/packages/db/c8/7dcf9dbcb22429512708fe3a547f8b6101c0d02137acbd892505aee57adf/colorama-0.3.9-py2.py3-none-any.whl
Collecting PyYAML<=5.1,>=3.10; python_version != "2.6" (from awscli)
Collecting rsa<=3.5.0,>=3.1.2 (from awscli)
  Downloading https://files.pythonhosted.org/packages/e1/ae/baedc9cb175552e95f3395c43055a6a5e125ae4d48a1d7a924baca83e92e/rsa-3.4.2-py2.py3-none-any.whl (46kB)
    100% |████████████████████████████████| 51kB 1.4MB/s
Collecting s3transfer<0.3.0,>=0.2.0 (from awscli)
  Downloading https://files.pythonhosted.org/packages/16/8a/1fc3dba0c4923c2a76e1ff0d52b305c44606da63f718d14d3231e21c51b0/s3transfer-0.2.1-py2.py3-none-any.whl (70kB)
    100% |████████████████████████████████| 71kB 1.5MB/s
Collecting docutils>=0.10 (from awscli)
  Downloading https://files.pythonhosted.org/packages/36/fa/08e9e6e0e3cbd1d362c3bbee8d01d0aedb2155c4ac112b19ef3cae8eed8d/docutils-0.14-py3-none-any.whl (543kB)
    100% |████████████████████████████████| 552kB 1.0MB/s
Collecting botocore==1.12.178 (from awscli)
  Downloading https://files.pythonhosted.org/packages/98/8f/ca7e67d37570e0dc0c5a495096a9a7428fb01a97fa908f57dcd0739f956b/botocore-1.12.178-py2.py3-none-any.whl (5.6MB)
    100% |████████████████████████████████| 5.6MB 261kB/s
Collecting pyasn1>=0.1.3 (from rsa<=3.5.0,>=3.1.2->awscli)
  Using cached https://files.pythonhosted.org/packages/7b/7c/c9386b82a25115cccf1903441bba3cbadcfae7b678a20167347fa8ded34c/pyasn1-0.4.5-py2.py3-none-any.whl
Collecting python-dateutil<3.0.0,>=2.1; python_version >= "2.7" (from botocore==1.12.178->awscli)
  Downloading https://files.pythonhosted.org/packages/41/17/c62faccbfbd163c7f57f3844689e3a78bae1f403648a6afb1d0866d87fbb/python_dateutil-2.8.0-py2.py3-none-any.whl (226kB)
    100% |████████████████████████████████| 235kB 1.2MB/s
Collecting urllib3<1.26,>=1.20; python_version >= "3.4" (from botocore==1.12.178->awscli)
  Downloading https://files.pythonhosted.org/packages/e6/60/247f23a7121ae632d62811ba7f273d0e58972d75e58a94d329d51550a47d/urllib3-1.25.3-py2.py3-none-any.whl (150kB)
    100% |████████████████████████████████| 153kB 1.1MB/s
Collecting jmespath<1.0.0,>=0.7.1 (from botocore==1.12.178->awscli)
  Downloading https://files.pythonhosted.org/packages/83/94/7179c3832a6d45b266ddb2aac329e101367fbdb11f425f13771d27f225bb/jmespath-0.9.4-py2.py3-none-any.whl
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1; python_version >= "2.7"->botocore==1.12.178->awscli)
  Using cached https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Installing collected packages: colorama, PyYAML, pyasn1, rsa, six, python-dateutil, urllib3, jmespath, docutils, botocore, s3transfer, awscli
Successfully installed PyYAML-5.1 awscli-1.16.188 botocore-1.12.178 colorama-0.3.9 docutils-0.14 jmespath-0.9.4 pyasn1-0.4.5 python-dateutil-2.8.0 rsa-3.4.2 s3transfer-0.2.1 six-1.12.0 urllib3-1.25.3

インストール確認

PATH は通ってました。
もし aws なんてコマンドねーよって言われたら which コマンドでインストールされたディレクトリを確認後 PATH を通してみましょう。

$ aws --version
aws-cli/1.16.188 Python/3.6.7 Linux/4.4.0-17763-Microsoft botocore/1.12.178

$ which aws
/home/unix_user/.local/bin/aws

認証情報設定

インストール後そのまま何かコマンド実行すると認証情報がないよって怒られます。

# iam ユーザーのリスト取得
$ aws iam list-users
Unable to locate credentials. You can configure credentials by running "aws configure".

設定方法

とりあえず公式

$ aws configure
# 以下は対話式で入力していく
AWS Access Key ID [None]: accesskey1
AWS Secret Access Key [None]: secret1
Default region name [None]: ap-northeast-1
Default output format [None]: json

設定ファイル確認

~/.aws ディレクトリが作成されています。
~/.aws/credentials は認証情報、~/.aws/config は認証情報以外の情報(デフォルトのリージョンとかデフォルトの出力形式とか)が格納されています。

ls -la ~/.aws/
total 0
drwxrwxrwx 1 unix_user unix_user 4096 Jun 27 13:27 .
drwxr-xr-x 1 unix_user unix_user 4096 Jun 27 13:27 ..
-rw------- 1 unix_user unix_user   48 Jun 27 13:27 config
-rw------- 1 unix_user unix_user  116 Jun 27 13:27 credentials

$ cat ~/.aws/config
[default]
region = ap-northeast-1
output = json

$ cat ~/.aws/credentials
[default]
aws_access_key_id = accesskey1
aws_secret_access_key = secret1

環境変数とかでも設定できます。
ほかの設定方法と優先順位

設定されたか確認

設定したアクセスキーで取得できるはずの AWS のリソースへアクセスしてみます。

# 無事取れてます
$ aws iam list-users
{
    "Users": [
        {
            "Path": "/",
            "UserName": "some.one",
            "UserId": "user1",
            "Arn": "arn:aws:iam::123456789:user/some.one",
            "CreateDate": "2019-06-25T11:43:32Z",
            "PasswordLastUsed": "2019-06-26T00:38:36Z"
        },
        {
            "Path": "/",
            "UserName": "some.two",
            "UserId": "user2",
            "Arn": "arn:aws:iam::123456789:user/some.two",
            "CreateDate": "2019-06-25T11:45:32Z",
            "PasswordLastUsed": "2019-06-26T00:40:36Z"
        }
    ]
}
11
8
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
11
8