こんにちは、Aireです。
今回はAWSのCLIツールである「AWS CLI」をインストールする方法を簡単に紹介します。最新の情報や詳細は、以下の公式サイトを参照してください。
AWS CLIのインストール手順
Windowsの場合
- 「msiexec」コマンドを実行し、インストーラのダウンロードと実行を行います。必要に応じて、「/quiet」オプション(インストール中のUIが表示されず、ユーザ操作が不要)や「/passive」オプション(インストール進行状況バーのみが表示され、ユーザ操作が不要)などを使用してください。
<実行コマンド>
1 |
C:\> msiexec /i https://awscli.amazonaws.com/AWSCLIV2.msi [/quiet][/passive][/q{n|b|r|f}] |
<実行例>
1 |
C:\> msiexec /i https://awscli.amazonaws.com/AWSCLIV2.msi /quiet |
- インストールが正常に完了したか確認します。
1 2 |
C:\> aws --version aws-cli/2.9.21 Python/3.9.11 Windows/10 exe/AMD64 prompt/off |
Linux(RHEL)の場合
- 「curl」コマンドを実行し、インストーラをダウンロードします。「-o」オプションでインストーラの名前(例:example.zip)や保存先を指定できます。
<実行コマンド>
1 |
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "<ディレクトリパス>/awscli-exe-linux-x86_64.zip" |
<実行例>
1 2 3 4 |
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o /home/<ユーザー名>/awscli-exe-linux-x86_64.zip % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 46.8M 100 46.8M 0 0 15.0M 0 0:00:03 0:00:03 --:--:-- 15.0M |
- 「unzip」コマンドを実行し、インストーラパッケージを解凍します。
<実行コマンド>
1 |
$ unzip <zipファイル名> |
<実行例>
1 |
$ unzip /home/<ユーザー名>/awscli-exe-linux-x86_64.zip |
- インストール用のシェルスクリプトを実行し、インストールを行います。
<実行例>
1 2 |
$ sudo ./aws/install You can now run: /usr/local/bin/aws --version |
- インストールが正常に完了したか確認します。
1 2 3 4 |
$ which aws /usr/local/bin/aws $ aws --version aws-cli/2.9.21 Python/3.9.11 Linux/4.18.0-372.36.1.el8_6.x86_64 exe/x86_64.rhel.8 prompt/off |
macOSの場合
- 「curl」コマンドを実行し、インストーラをダウンロードします。「-o」オプションでインストーラの名前(例:example.pkg)や保存先を指定できます。
<実行コマンド>
1 |
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "<ディレクトリパス>/AWSCLIV2.pkg" |
<実行例>
1 2 3 4 |
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "/Users/<ユーザー名>/Downloads/AWSCLIV2.pkg" % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 28.7M 100 28.7M 0 0 17.4M 0 0:00:01 0:00:01 --:--:-- 17.5M |
- 「installer」コマンドを実行し、インストールを行います。「-pkg」オプションでインストーラパッケージを指定します。「-target」オプションでどのドライブにパッケージをインストールするか指定します。
<実行コマンド>
1 |
$ sudo installer -pkg <ディレクトリパス>/AWSCLIV2.pkg -target / |
<実行例>
1 2 3 4 5 |
$ sudo installer -pkg /Users/<ユーザー名>/Downloads/AWSCLIV2.pkg -target / Password: installer: Package name is AWS Command Line Interface installer: Installing at base path / installer: The install was successful. |
- インストールが正常に完了したか確認します。
1 2 3 4 |
$ which aws /usr/local/bin/aws $ aws --version aws-cli/2.9.19 Python/3.9.11 Darwin/22.1.0 exe/x86_64 prompt/off |
AWS CLIのセットアップ手順(aws configure)
AWS CLIのインストールが完了したら、「aws configure」コマンドで初期設定を行います。
標準入力による基本セットアップ手順
「aws configure」コマンドを実行すると、以下のように入力を要求されるので各パラメータを入力します。
1 2 3 4 5 |
$ aws configure --profile <プロファイル名> AWS Access Key ID [None]: <アクセスキーIDを入力> AWS Secret Access Key [None]: <シークレットアクセスキーを入力> Default region name [None]: <リージョンを入力(例:ap-northeast-1)> Default output format [None]: <出力フォーマットを入力(json、yaml、yaml-stream、text、table)> |
「–profile」オプションを使用しない場合、上記パラメータは「default」プロファイルに対して反映されます。また、「–profile」オプションを使用する場合、指定した名前のプロファイルに対して反映されます。以下は、「default」プロファイルと「user1」プロファイルに対する設定例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ cat ~/.aws/credentials [default] aws_access_key_id = <アクセスキーID> aws_secret_access_key = <シークレットアクセスキー> [user1] aws_access_key_id = <アクセスキーID> aws_secret_access_key = <シークレットアクセスキー> $ cat ~/.aws/config [default] region = ap-northeast-1 output = json [profile user1] region = ap-northeast-1 output = json |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
C:\> type Users\<ユーザー名>\.aws\credentials [default] aws_access_key_id = <アクセスキーID> aws_secret_access_key = <シークレットアクセスキー> [user1] aws_access_key_id = <アクセスキーID> aws_secret_access_key = <シークレットアクセスキー> C:\> type Users\<ユーザー名>\.aws\config [default] region = ap-northeast-1 output = json [profile user1] region = ap-northeast-1 output = json |
csvファイルからのインポートによるセットアップ手順
前述の手順の場合、アクセスキーの入力が少々手間に感じると思います。AWS CLI(v2以降)では、「aws configure import」コマンドによってアクセスキー情報が記載されたcsvファイルをインポートできます。
<実行コマンド>
1 2 3 4 5 |
<Windowsの場合> C:\> aws configure import --csv file://<ディレクトリパス>/<csvファイル名> <LinuxまたはmacOSの場合> $ aws configure import --csv file:///<ディレクトリパス>/<csvファイル名> |
<実行例>
1 2 |
$ aws configure import --csv file:///Users/<ユーザー名>/Downloads/credentials.csv Successfully imported 1 profile(s) |
csvファイルには、以下のヘッダーが含まれている必要があります。
- User name(User Nameでも可)
- Access key ID
- Secret access key
csvファイルの中身は以下のようになります。また、IAMユーザ作成時にダウンロードできるcsvファイルをそのまま利用することもできます。
User name,Access key ID,Secret access key
<ユーザー名>,<アクセスキーID>,<シークレットアクセスキー>
csvファイルからインポートする手順の場合、「~/.aws/config」の内容(デフォルトのリージョンと出力フォーマット)には変更が入らないため、「aws configure set」コマンドを使用します。以下に実行例を記載します。
<実行例>
1 2 |
$ aws configure set region ap-northeast-1 --profile user1 $ aws configure set output json --profile user1 |
セットアップ完了後のコマンド実行方法
セットアップ完了後はAWS CLIのコマンドを実行できますが、その際、以下のようにプロファイル名を指定することが可能です。
1 |
$ aws ec2 describe-instances --profile user1 |
毎回プロファイル名を指定することが面倒な場合は、以下のように環境変数を設定しておくこともできます。
1 2 3 4 5 6 7 |
<LinuxまたはmacOSの場合> $ export AWS_PROFILE=user1 <Windowsの場合> $ set AWS_PROFILE user1 または $ setx AWS_PROFILE user1 |
AWS CLIのアンインストール手順
Windowsの場合
- [コントロールパネル]を開き、[プログラム]-[プログラムと機能]に移動します。
- プログラムの一覧から「AWS Command Line Interface v2」を選択し、「アンインストール」を実行します。
- 以下のようにコマンドプロンプトで「rmdir」コマンドを実行し、AWS CLIの設定情報を削除します。「/s」は、フォルダ内のファイルやサブフォルダを含めて削除するためのオプションで、「/q」は、削除前の確認メッセージを表示しないオプションです。
1 |
C:\> rmdir /s /q Users\<ユーザー名>\.aws |
Linux(RHEL)の場合
- 「which」コマンドを実行し、AWS CLIのシンボリックリンクを含むフォルダを確認します。
1 2 |
$ which aws /usr/local/bin/aws |
- 「ls」コマンドを実行し、シンボリックリンクが指すAWS CLIのインストールフォルダを確認します。
1 2 |
$ ls -l /usr/local/bin/aws lrwxrwxrwx. 1 root root 37 Feb 5 14:15 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws |
- 「rm」コマンドを実行し、「which」コマンドで確認したフォルダ配下にある以下のシンボリックリンク2つを削除します。
1 2 |
$ sudo rm /usr/local/bin/aws $ sudo rm /usr/local/bin/aws_completer |
- 「rm」コマンドを実行し、AWS CLIのインストールフォルダを削除します。
1 |
$ sudo rm -rf /usr/local/aws-cli |
- 「rm」コマンドを実行し、AWS CLIの設定情報を削除します。
1 |
$ sudo rm -rf ~/.aws/ |
macOSの場合
- 「which」コマンドを実行し、AWS CLIのシンボリックリンクを含むフォルダを確認します。
1 2 |
$ which aws /usr/local/bin/aws |
- 「ls」コマンドを実行し、シンボリックリンクが指すAWS CLIのインストールフォルダを確認します。
1 2 |
$ ls -l /usr/local/bin/aws lrwxr-xr-x 1 root wheel 22 2 1 22:47 /usr/local/bin/aws -> /usr/local/aws-cli/aws |
- 「rm」コマンドを実行し、「which」コマンドで確認したフォルダ配下にある以下のシンボリックリンク2つを削除します。
1 2 |
$ sudo rm /usr/local/bin/aws $ sudo rm /usr/local/bin/aws_completer |
- 「rm」コマンドを実行し、AWS CLIのインストールフォルダを削除します。
1 |
$ sudo rm -rf /usr/local/aws-cli |
- 「rm」コマンドを実行し、AWS CLIの設定情報を削除します。
1 |
$ sudo rm -rf ~/.aws/ |
以上、ここまで。