/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

awscliをversion1からversion2にアップグレードする

f:id:yatta47:20210105004543p:plain

今までかたくなに使い続けたawscli v1ですが、ほかの人が準備するスクリプト内ではv2が使われたりとしてそのまま使えないケースが増えてきたのでついにアップグレードを決意しました。

で、今日はそのやり方を書き残しておきます。

 

既存のawscliをアンインストール

そもそもいつ入れたのかも覚えていないので、まずはPATHを確認します。

$ which aws
~/.local/bin/aws

ふむ・・・・・なんでこんなところにあるんだろう。

インストールはだいたいpipでやっていることが多いので、pipで入れたのかなと考えてpipでインストールしたリスト一覧を確認してみます。

$ pip list
Package                                   Version
----------------------------------------- ----------
arrow                                     0.15.5
attrs                                     19.3.0
aws-lambda-builders                       0.6.0
aws-sam-cli                               0.40.0
aws-sam-translator                        1.19.1
awscli                                    1.18.130
awscli-local                              0.8
Babel                                     2.9.0
:
:
:

正解!

ではこれをアンインストールします。アンインストールは簡単。uninstallでOK。

$ pip uninstall awscli
Found existing installation: awscli 1.18.130
Uninstalling awscli-1.18.130:
  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.6/site-packages/awscli-1.18.130.dist-info/*
    /home/ec2-user/.local/lib/python3.6/site-packages/awscli/*
Proceed (y/n)? y
  Successfully uninstalled awscli-1.18.130

これでとりあえず削除できました。

 

v2をインストール

v2のインストールは公式サイトに書いてある通りやります。

Linux での AWS CLI バージョン 2 のインストール、更新、アンインストール - AWS Command Line Interface

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

上記コマンドたちを実行するとずらずらーっとなんか出てきます。

sudo ./aws/installを実施した際に

Found preexisting AWS CLI installation: /usr/local/aws-cli/v2/current. Please rerun install script with --update flag.

とアップデートフラグを付けてもう一度やれ見たいなメッセージが出てきたので、--updateフラグを付けてもう一度やっています。

$ sudo ./aws/install --update
You can now run: /usr/local/bin/aws --version

今度は正式に入ったみたいです。パスとバージョンを確認してみたら以下のようになりました。

$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.1.21 Python/3.7.3 Linux/4.14.209-117.337.amzn1.x86_64 exe/x86_64.amzn.2018 prompt/off

ちゃんとv2になっていました。

aws-vaultとかも普通に使えたので問題なさげ。 

 

まとめ

python使っている奴は2系なのか3系なのかでものすごくはまった記憶があるのでアップグレードに消極的でしたが、特に問題なくできてよかったです。

結構はまるかなーと思ったのですが予想以上にシンプルにできました。

環境整えるのもちゃんとやらないといけないなーと感じる今日この頃です。

ではでは。