はじめに
AWS CLIを使いたいが、そのための方法を知らないのでそれについて調べてみる。
導入環境
WSL2(Ubuntu20.04)
公式ドキュメントを確認
コマンドラインインストーラと、snapパッケージを使ったインストールの2通りが提供されている。
-
The command line installer
- バージョンを意識した開発や管理をしたいときはコマンドラインインストーラを使う認識。
- インストール後、「やっぱりこのバージョンを使い」となったときは、該当バージョンで上書きする必要がある。
- 開発チームの方針で「このバージョンのAWS CLIを使う」という方針があるのであれば、こちらの方法を使った方がいい。
-
The officially supported snap package
- 最新のバージョンを使い続けられる。
- コマンドラインインストーラの場合と異なり、「特定のバージョンを指定して使う」という使い方はできない。
AWS CLIインストール
今回はコマンドラインインストーラの方法でAWS CLIをインストールする。
-
関連コマンド
-
sudo apt install unzip
- AWS CLIインストールの際、unzipを実行するために必要
- 入ってないなら事前にunzipを入れておく
-
-
インストールに使うコマンド
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
-
aws --version
を実行: AWS CLIのバージョン確認
aws-cli/2.24.26 Python/3.12.9 Linux/5.15.167.4-microsoft-standard-WSL2 exe/x86_64.ubuntu.20
よくわからなかった点
実は、最初はsnapパッケージを利用したインストールをしようとしていた。
しかし、sudo snap install aws-cli --classic
を実行したとき、エラーが発生した。
- エラー発生時の
snap version
の結果
snap 2.45.1+20.04
snapd 2.45.1+20.04
series 16
ubuntu 20.04
kernel 5.15.167.4-microsoft-standard-WSL2
- エラーメッセージ
error: cannot perform the following tasks: - Mount snap "core22" (1748) (snap "core22" assumes unsupported features: snapd2.55.5 (try to update snapd and refresh the core snap))
-
原因
aws-cliのインストールには2.55.5以上のsnapが必要なのだが、現在入っているsnapのバージョンが2.45.1であり、必要な要件を満たしていない。 -
実施したこと
sudo apt update
実行後、sudo apt install snapd -y
を実行したのだが、
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by
というメッセージが延々と表示され続けてしまう。install
でなくupgrade
にしても結果は同じ。
これの原因と対処方法がよく分からず、これに時間を使うぐらいならコマンドラインインストーラで実施した方がいいと判断し、snapパッケージを利用したAWS CLIインストールは断念した。
後になって思ったけど、いったんwslを再起動すればよかったのだろうか?(困ったときの再起動てきな?)
まとめ
紆余曲折はあったが、AWS CLIをインストールできた。
これを使って、例えばローカルで作ったコンテナイメージをECRにデプロイ、といったこともできるようになる(はず)。