AWS CLIをWSL(Ubuntu)やmacOSにインストールする

# AWS CLI

## 準備

※参考：[AWS アカウントでの IAM ユーザーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)
※参考：[IAM ユーザーのアクセスキーの管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)
※参考：[設定ファイルと認証情報ファイルの設定](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-files.html)

1. AWSアカウントを用意する。
1. Administrator権限を持つIAMユーザを用意する。
1. IAMユーザーのアクセスキー、シークレットアクセスキーを払い出す。

## 設定

### .awsフォルダを作成

1. `.aws`フォルダが存在するか確認する。

    ```shell
    ls  ~/.aws
    ```

1. 構成設定フォルダ(`.aws`フォルダ)を作成する。

    ```shell
    mkdir  ~/.aws
    ```

### credentialsファイルを作成

1. 認証情報ファイル(`credentials`ファイル)を作成する。
1. `aws_access_key_id`にIAMユーザーのアクセスキーを設定する。
1. `aws_secret_access_key`にIAMユーザーのシークレットアクセスキーを設定する。

    ```shell
    vi ~/.aws/credentials
    ```

    ```text
    [default]
    aws_access_key_id=AKIAIOSFODNN7EXAMPLE
    aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
    ```

### configファイルを作成

1. 設定ファイル(`config`ファイル)を作成する。

    ```shell
    vi ~/.aws/config
    ```

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

## WSL(Ubuntu)にインストール

### AWS CLIバージョン2

※参考：[Linux での AWS CLI バージョン 2 のインストール、更新、アンインストール](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-linux.html)

1. AWS CLIバージョン2のインストール、アップデートは次の手順で行う。

    ```shell
    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
    unzip awscliv2.zip
    sudo ./aws/install --update
    ```

1. インストール、アップデートを確認する。

    ```shell
    which aws
    aws --version
    ```

    ```text
    aws-cli/2.1.6 Python/3.7.3 Linux/4.19.128-microsoft-standard exe/x86_64.ubuntu.20 prompt/off
    ```

### AWS CLIバージョン1

1. AWS CLIをインストールする。

    ```shell
    sudo apt install awscli
    ```

1. インストール、アップデートを確認する。

    ```shell
    which aws
    aws --version
    ```

## macOSにインストール

1. オフィシャルページのドキュメントに従い、インストールする。

※参考：[macOS での AWS CLI バージョン 2 のインストール](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-mac.html)

### macOS上のすべてのユーザーを対象にインストール

1. AWS CLIバージョン2のインストール、アップデートは次の手順で行う。

    ```shell
    curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
    sudo installer -pkg AWSCLIV2.pkg -target /
    ```

1. インストール、アップデートを確認する。

    ```shell
    which aws
    aws --version
    ```

## Raspberry Pi OSにインストール

### AWS CLIバージョン1

1. Raspberry Pi OSにAWS CLIバージョン2をインストールできないため、次の手順に従い、AWS CLIバージョン1をインストールする。

1. AWS CLIをインストールする。

    ```shell
    sudo apt install awscli
    ```

1. インストール、アップデートを確認する。

    ```shell
    which aws
    aws --version
    ```

    ```text
    aws-cli/1.16.113 Python/3.7.3 Linux/5.10.6-v8+ botocore/1.12.103
    ```

### AWS CLIバージョン2　【インストール不可】

1. オフィシャルページのドキュメントにある`Linux ARM`の手順に従い、インストールする。

※参考：[Linux での AWS CLI バージョン 2 のインストール、更新、アンインストール](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-linux.html)
※ARMv8 (64bit)を搭載する次のRaspberry Piが対象です。(2021年1月現在)

- Raspberry Pi 3 Model A+
- Raspberry Pi 2 Model B V1.2
- Raspberry Pi 3 Model B/Model B+
- Raspberry Pi 4 Model B
- Compute Module (CM3)
- Compute Module (C3L)

1. 64bit対応か確認する。aarch64となっていれば64bit対応されている。

    ```shell
    uname -a | grep aarch64
    ```

    ```text
    Linux raspberrypi 5.10.6-v8+ #1393 SMP PREEMPT Mon Jan 11 15:13:58 GMT 2021 aarch64 GNU/Linux
    ```

1. AWS CLIバージョン2のインストール、アップデートは次の手順で行う。

    ```shell
    curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
    unzip awscliv2.zip
    sudo ./aws/install --update
    ```

1. 次のエラーが発生して、インストールできない。

   ```shell
   ./aws/install: 78: ./aws/install: /home/pi/aws/dist/aws: not found
   ```

1. インストール、アップデートを確認する。

    ```shell
    which aws
    aws --version
    ```