LoginSignup
6
0

More than 1 year has passed since last update.

AWS Linux2にAWS CLI バージョン2をインストールする方法

Last updated at Posted at 2020-09-27

はじめに

AWS CLI バージョン2をインストールする方法について書きます。

AWS Linux2には初めからAWS CLI バージョン1があります。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ aws --version
aws-cli/1.18.107 Python/2.7.18 Linux/4.14.193-149.317.amzn2.x86_64 botocore/1.17.31

手順

以下の2つを行います。
1. AWS CLI バージョン2のインストール
2. AWS CLI バージョン1の削除

AWS CLI バージョン2のインストール

以下のコマンドでインストールファイルをダウンロードします。
curl コマンドでインストーラをリクエストし、オプション -o "ファイル名"で指定したファイル名にリクエスト結果を書き込みます。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

ls コマンドを使用してファイルが作成されたかを確認することできます。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ ls
awscliv2.zip

次に作成したzipファイルを、unzipコマンドを使用して解凍します。
・・・は表示されるメッセージを省略しています。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ unzip awscliv2.zip
Archive:  awscliv2.zip
   creating: aws/
   creating: aws/dist/
  inflating: aws/README.md
・
・
・

解凍後は以下のようにawsディレクトリが作成されます。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ ls
aws  awscliv2.zip

~/aws/install がインストールプログラムなので、管理者権限でこれを実行します。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo ./aws/install
You can now run: /usr/local/bin/aws --version

または以下のように実行すれば、環境変数の設定は必要ありません。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo ./aws/install -i /usr/local/aws-cli -b /usr/bin
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ aws --version
aws-cli/2.2.25 Python/3.8.8 Linux/4.14.238-182.422.amzn2.x86_64 exe/x86_64.amzn.2 prompt/off

インストールを確認します。
aws-cli/の後に、2が表示されていればバージョン2がインストールされています。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ /usr/local/bin/aws --version
aws-cli/2.0.52 Python/3.7.3 Linux/4.14.193-149.317.amzn2.x86_64 exe/x86_64.amzn.2

AWS CLI バージョン1の削除

インストール直後は、/usr/local/bin/aws のように絶対パスで指定しなければバージョン2が使用できない状態です。
相対パスawsではバージョン1が呼び出されます。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ aws --version
aws-cli/1.18.107 Python/2.7.18 Linux/4.14.193-149.317.amzn2.x86_64 botocore/1.17.31

バージョン1のawsコマンドは相対パスで呼び出せるので、環境変数に入っています。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin

以下のように~/usr/binにバージョン1が入っています。
lsコマンドでディレクトリ内のディレクトリ・ファイルを表示し、grep '検索したい文字列' で検索したいディレクトリ・ファイルを表示させることができます。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ ls /usr/bin/ | grep 'aws'
aws
aws_completer

これらをrmコマンドで削除します。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo rm -f /usr/bin/aws /usr/bin/aws_completer

これによりawsコマンドは、/usr/local/bin/awsを参照するようになります。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ aws --version
aws-cli/2.0.52 Python/3.7.3 Linux/4.14.193-149.317.amzn2.x86_64 exe/x86_64.amzn.2

もし、以下のメッセージが表示されるなら、パスが通っていません。

-bash: /usr/bin/aws: No such file or directory

その場合、以下のように追加します。

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ export PATH=$PATH:/usr/local/bin

参考記事

AWS 公式サイト
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-linux.html

6
0
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
6
0