5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS CLIのバージョンアップ試してみた

Last updated at Posted at 2022-03-09

はじめに

以前からなんとなく気になっていたので、AWS CLIをv1v2へバージョンアップしてみた!

AWS CloudFormationで、EC2とEIPをセットしたAWS CLIのバージョンアップを試すだけの贅沢なスタックを作成し、スタックの作成・削除だけで簡単にグローバルIPを紐づけたEC2の立ち上げを行う。

AWS CLIだが、ver1とver2では同じawsコマンドが使用されるので共存はできるみたいなのだが、あまり推奨はされていないらしいので、今回はver1とはおさらばしてみる。

  • 実行環境:Amazon Linux2

インストール手順

アップロードしたいEC2にSSH接続し、以下の手順で行なっていく。

EC2
##################################
■ 現状確認とv1の削除
#################################
$ aws --version
=> aws-cli/1.18.147 Python/2.7.18 Linux/4.14.243-185.433.amzn2.x86_64 botocore/1.18.6s

$ which aws
=> /usr/bin/aws

# ver1のCLIを削除
$ sudo rm -rf /usr/bin/aws
# ちゃんと削除されているか確認
$ sudo find /usr -name aws

$ aws --version
=> command not found: aws

##################################
■ ここからがver2のインストール
#################################
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip

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

$ sudo ./aws/install --update
=> Found same AWS CLI version: /usr/local/aws-cli/v2/2.4.23. Skipping install.

パスが前のバージョンを参照したままの可能性があるので一度EC2からでて、再度入り直し確認

EC2
$ aws --version
=> aws-cli/2.4.23 Python/3.8.8 Linux/5.10.96-90.460.amzn2.x86_64 exe/x86_64.amzn.2 prompt/off

失敗した時

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

$ aws --version
=> aws-cli/1.18.147 Python/2.7.18 Linux/4.14.243-185.433.amzn2.x86_64 botocore/1.18.6s

同じような手順で実行しても上手くいかない時があった。
インストールまで終わり、aws --versionで確認するとどうしてもver1のまま・・・

ver2はインストールされているが、前のバージョンが生き残っており、そちらを参照している模様。

なので、↓の手順でver2インストール前に事前にしっかりと削除しておくことで対処できました。
(削除しなくてもパスの変更とかで出来そうな気がし、試したのが力及ばす・・・・😢)

EC2
$ which aws
=> /usr/bin/aws
# ver1のCLIを削除
$ sudo rm -rf /usr/bin/aws

AWS CLI v2になって変わったこと

個人的にいいなと思った部分は、↓のようなところ。
Command Line Interfaceと言ってるだけあり、やはりUIを意識した点にはさすがと感じました!

  • リソース名の補完
  • 自動プロンプト
  • ウィザード

さっそく使ってみる

$ aws --cli-auto-prompt
# 実行したいコマンドを入力すると合わせて、補完候補が表示されていく
> aws cloudformation deploy
~~~
~~~

スクリーンショット 2022-03-09 21.14.46.png

おまけ

AWS CLIは、helpが優秀すぎる!

AWS CLIは本当にhelpが優秀だなと感じます。
オプションの書き方なんて、ほとんどうろ覚えじゃないですか、、、
そんなときに aws ~~~ helpすれば、アマゾンプライム会員以上の速度で自分の欲しい情報が手に入ります。

$ aws cloudformation deploy help

# grepで絞り込んでも良い
$ aws cloudformation deploy help | grep stack

スクリーンショット 2022-03-09 20.59.28.png

5
2
1

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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?