この記事は投稿日から4年以上経過しています。
当記事では、AmazonLinux2において、aws cliのバージョンを1から2へ変更する方法について記載します。
前提
- 当記事の説明はすべて東京リージョンにて生成されたEC2インスタンスにて実施した事項となります。
- EC2インスタンス生成直後の状態からコマンドにてaws cliバージョン2に変更されたかどうか確認するまでの内容を記載しています。
- EC2インスタンスの生成方法につきましては説明を割愛します。
- 当記事は下記リンクの記載内容を参考に作成しています。
https://docs.aws.amazon.com/cli/latest/userguide/install-linux-al2017.html
https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html
変更方法について
- 用意したAmazonLinux 2にて現在のaws cliのバージョン及びOSバージョンを確認します。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ aws --version aws-cli/1.18.147 Python/2.7.18 Linux/4.14.243-185.433.amzn2.x86_64 botocore/1.18.6s [ec2-user@ip-xxx-xxx-xxx-xxx ~]$ cat /etc/os-release NAME="Amazon Linux" VERSION="2" ID="amzn" ID_LIKE="centos rhel fedora" VERSION_ID="2" PRETTY_NAME="Amazon Linux 2" ANSI_COLOR="0;33" CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2" HOME_URL="https://amazonlinux.com/" [ec2-user@ip-172-16-12-244 ~]$
- シェルのプロファイルを確認します。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ echo $SHELL /bin/bash [ec2-user@ip-xxx-xxx-xxx-xxx ~]$
- プロファイルに以下のエクスポートコマンドを追記します。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export PATH=$HOME/.local/bin:$PATH ###追記箇所###
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$
- 現在のセッションにて追記したプロファイルを読み込みます。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ source ~/.bash_profile /bin/bash [ec2-user@ip-xxx-xxx-xxx-xxx ~]$
- aws cliバージョン1を最新バージョンに更新します。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ pip3 install --upgrade --user awscli
Collecting awscli
Downloading awscli-1.20.54-py3-none-any.whl (3.7 MB)
|????????????????????????????????| 3.7 MB 22.4 MB/s
Collecting rsa<4.8,>=3.1.2
Downloading rsa-4.7.2-py3-none-any.whl (34 kB)
Requirement already satisfied, skipping upgrade: docutils<0.16,>=0.10 in /usr/lib/python3.7/site-packages (from awscli) (0.14)
Collecting s3transfer<0.6.0,>=0.5.0
Downloading s3transfer-0.5.0-py3-none-any.whl (79 kB)
|????????????????????????????????| 79 kB 11.7 MB/s
Collecting colorama<0.4.4,>=0.2.5
Downloading colorama-0.4.3-py2.py3-none-any.whl (15 kB)
Collecting botocore==1.21.54
Downloading botocore-1.21.54-py3-none-any.whl (8.0 MB)
|????????????????????????????????| 8.0 MB 33.1 MB/s
Collecting PyYAML<5.5,>=3.10
Downloading PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl (636 kB)
|????????????????????????????????| 636 kB 34.3 MB/s
Collecting pyasn1>=0.1.3
Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
|????????????????????????????????| 77 kB 11.4 MB/s
Collecting python-dateutil<3.0.0,>=2.1
Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
|????????????????????????????????| 247 kB 38.5 MB/s
Collecting jmespath<1.0.0,>=0.7.1
Downloading jmespath-0.10.0-py2.py3-none-any.whl (24 kB)
Collecting urllib3<1.27,>=1.25.4
Downloading urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
|????????????????????????????????| 138 kB 39.9 MB/s
Collecting six>=1.5
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Installing collected packages: pyasn1, rsa, six, python-dateutil, jmespath, urllib3, botocore, s3transfer, colorama, PyYAML, awscli
Successfully installed PyYAML-5.4.1 awscli-1.20.54 botocore-1.21.54 colorama-0.4.3 jmespath-0.10.0 pyasn1-0.4.8 python-dateutil-2.8.2 rsa-4.7.2 s3transfer-0.5.0 six-1.16.0 urllib3-1.26.7
[ec2-user@ip-xxx-xxx-xxx-xxx ~]
- aws cliバージョン1をアンインストールします。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ pip3 uninstall awscli
Found existing installation: awscli 1.20.54
Uninstalling awscli-1.20.54:
Would remove:
/home/ec2-user/.local/bin/aws
/home/ec2-user/.local/bin/aws.cmd
/home/ec2-user/.local/bin/aws_bash_completer
/home/ec2-user/.local/bin/aws_completer
/home/ec2-user/.local/bin/aws_zsh_completer.sh
/home/ec2-user/.local/lib/python3.7/site-packages/awscli-1.20.54.dist-info/*
/home/ec2-user/.local/lib/python3.7/site-packages/awscli/*
Proceed (y/n)? y
Successfully uninstalled awscli-1.20.54
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$
- アンインストールされたことを確認します。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ aws --version -bash: /home/ec2-user/.local/bin/aws: No such file or directory [ec2-user@ip-xxx-xxx-xxx-xxx ~]$
- aws cliバージョン2をインストールします。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 42.4M 100 42.4M 0 0 112M 0 --:--:-- --:--:-- --:--:-- 113M
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ unzip awscliv2.zip
Archive: awscliv2.zip
creating: aws/
creating: aws/dist/
inflating: aws/install
inflating: aws/THIRD_PARTY_LICENSES
inflating: aws/README.md
~省略~
inflating: aws/dist/cryptography-3.3.2-py3.8.egg-info/LICENSE.APACHE
inflating: aws/dist/cryptography-3.3.2-py3.8.egg-info/LICENSE
inflating: aws/dist/cryptography-3.3.2-py3.8.egg-info/METADATA
creating: aws/dist/zlib/cpython-38-x86_64-linux-gnu/
inflating: aws/dist/zlib/cpython-38-x86_64-linux-gnu/soib.cpython-38-x86_64-linux-gnu.so
[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 ~]$
- バージョンを確認します。aws コマンドが見つからない場合は、現在のセッションにてプロファイルを読み直します。
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ aws --version -bash: /home/ec2-user/.local/bin/aws: No such file or directory [ec2-user@ip-xxx-xxx-xxx-xxx ~]$ source ~/.bash_profile [ec2-user@ip-xxx-xxx-xxx-xxx ~]$ aws --version aws-cli/2.2.43 Python/3.8.8 Linux/4.14.243-185.433.amzn2.x86_64 exe/x86_64.amzn.2 prompt/off [ec2-user@ip-xxx-xxx-xxx-xxx ~]$
以上で、AmazonLinux2において、aws cliのバージョンを1から2へ変更する方法についての説明は終了となります。
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。




















