はじめに
Amazon ECS (Elastic Container Service) を用いて AWS 上にアプリをデプロイしたい。そのためにまず Amazon ECR (Elastic Container Repository) へコンテナイメージの登録が必要だが、登録するには Docker を認証するために aws
コマンドを実行しなければならない。(詳細はDocker イメージをプッシュするを参照。)自身の環境にインストール済みの AWS CLI は ver.1 であったため、この機会に最新メジャーバージョンの2へとアップデートした。実行環境は以下。
- Ubuntu-20.04 (Windows 10 Pro, WSL2)
AWS CLI バージョンの確認
以下コマンドで AWS CLI のバージョンを確認する。aws-cli/1.18.69
であった。
$ aws --version
aws-cli/1.18.69 Python/3.8.10 Linux/5.10.16.3-microsoft-standard-WSL2 botocore/1.16.19
AWS CLI ver.1 のアンインストール
AWS CLI ver.1 と ver.2 では同じ aws
コマンド名が使用されるため、片方のみを使用することが公式で推奨されている。そこで、まず AWS CLI ver.1 のアンインストールを行う。AWS CLI バージョン 1 のインストール、更新、アンインストールに沿って行えばよい。
私の場合、$ sudo apt install awscli
でインストールしたのだが、そのパターンは書かれていなかったので、以下コマンドでアンインストールした。
$ sudo apt purge awscli
$ sudo apt autoremove
上記リンクには以下の記述があり、そもそも apt
を使ったインストールは非推奨のようだ。
awscli パッケージは、apt や yum などの他のパッケージマネージャーのリポジトリで利用できますが、これらのパッケージは AWS によって生成、管理、サポートされません。このガイドに記載されている公式の AWS CLI ディストリビューションポイントからのみ AWS をインストールすることを推奨します。
AWS CLI ver.2 のインストール
AWS CLI バージョン 2 のインストール、更新、アンインストールに沿って、AWS CLI ver.2 をインストールする。
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ sudo apt install unzip # unzip コマンドがない場合のみ
$ unzip awscliv2.zip
$ sudo ./aws/install
以下コマンドでバージョンが2となっていることが確認できる。
$ aws --version
aws-cli/2.3.0 Python/3.8.8 Linux/5.10.16.3-microsoft-standard-WSL2 exe/x86_64.ubuntu.20 prompt/off
AWS CLI の設定
以下コマンドで AWS CLI の設定を行う。アクセスキーに関しては、AWS アカウントとアクセスキーを参考に発行する(または管理者に発行してもらう)。
$ aws configure
AWS Access Key ID [None]: [Access Key ID]
AWS Secret Access Key [None]: [Secret Access Key]
Default region name [None]: ap-northeast-1 # リージョンが東京の場合
Default output format [None]: ENTER
おわりに
AWS CLI ver.2 のインストールおよび設定を行った。Docker 認証を行い、ECR へのコンテナイメージの登録、ECS でのデプロイを試していきたい。