AWS CLIの機能を拡張したAWS Shellを使用する!

AWS CLIの機能を拡張したAWS Shellを利用します。

AWS CLIをインストールする!

以下の記事を参考に、AWS CLIをインストールしておきます。

AWS Shellをインストールする!

Pythonの仮想環境を作成して、AWS Shellをインストールします。環境は、Rocky Linux 9.2を使用しましたが、Python環境では同様な手順でインストールできます。

$ python3 -m venv aws
$ source ~/aws/bin/activate
$ pip install aws-shell
Collecting aws-shell
  Downloading aws_shell-0.2.2-py2.py3-none-any.whl (50 kB)
     |████████████████████████████████| 50 kB 960 kB/s 
Collecting configobj<6.0.0,>=5.0.6
  Downloading configobj-5.0.8-py2.py3-none-any.whl (36 kB)
Collecting prompt-toolkit<1.1.0,>=1.0.0
  Downloading prompt_toolkit-1.0.18-py3-none-any.whl (245 kB)
     |████████████████████████████████| 245 kB 2.8 MB/s 
Collecting Pygments<3.0.0,>=2.1.3
  Downloading Pygments-2.15.1-py3-none-any.whl (1.1 MB)
     |████████████████████████████████| 1.1 MB 5.3 MB/s 
Collecting boto3<2.0.0,>=1.9.0
  Downloading boto3-1.26.146-py3-none-any.whl (135 kB)
     |████████████████████████████████| 135 kB 9.9 MB/s 
Collecting awscli<2.0.0,>=1.16.10
  Downloading awscli-1.27.146-py3-none-any.whl (4.1 MB)
     |████████████████████████████████| 4.1 MB 8.2 MB/s 
Collecting botocore==1.29.146
  Downloading botocore-1.29.146-py3-none-any.whl (10.8 MB)
     |████████████████████████████████| 10.8 MB 3.8 MB/s 
Collecting rsa<4.8,>=3.1.2
  Downloading rsa-4.7.2-py3-none-any.whl (34 kB)
Collecting docutils<0.17,>=0.10
  Downloading docutils-0.16-py2.py3-none-any.whl (548 kB)
     |████████████████████████████████| 548 kB 9.5 MB/s 
Collecting s3transfer<0.7.0,>=0.6.0
  Downloading s3transfer-0.6.1-py3-none-any.whl (79 kB)
     |████████████████████████████████| 79 kB 7.0 MB/s 
Collecting PyYAML<5.5,>=3.10
  Downloading PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl (630 kB)
     |████████████████████████████████| 630 kB 9.7 MB/s 
Collecting colorama<0.4.5,>=0.2.5
  Downloading colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting jmespath<2.0.0,>=0.7.1
  Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
Collecting urllib3<1.27,>=1.25.4
  Downloading urllib3-1.26.16-py2.py3-none-any.whl (143 kB)
     |████████████████████████████████| 143 kB 9.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 7.3 MB/s 
Collecting six
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting wcwidth
  Downloading wcwidth-0.2.6-py2.py3-none-any.whl (29 kB)
Collecting pyasn1>=0.1.3
  Downloading pyasn1-0.5.0-py2.py3-none-any.whl (83 kB)
     |████████████████████████████████| 83 kB 2.2 MB/s 
Installing collected packages: six, urllib3, python-dateutil, jmespath, pyasn1, botocore, wcwidth, s3transfer, rsa, PyYAML, docutils, colorama, Pygments, prompt-toolkit, configobj, boto3, awscli, aws-shell
Successfully installed PyYAML-5.4.1 Pygments-2.15.1 aws-shell-0.2.2 awscli-1.27.146 boto3-1.26.146 botocore-1.29.146 colorama-0.4.4 configobj-5.0.8 docutils-0.16 jmespath-1.0.1 prompt-toolkit-1.0.18 pyasn1-0.5.0 python-dateutil-2.8.2 rsa-4.7.2 s3transfer-0.6.1 six-1.16.0 urllib3-1.26.16 wcwidth-0.2.6
WARNING: You are using pip version 21.2.3; however, version 23.1.2 is available.
You should consider upgrading via the '/home/usradmin/aws/bin/python3 -m pip install --upgrade pip' command.

AWS Shellを起動する!

「aws-shell」コマンドで、AWS Shellを起動します。

$ aws-shell

AWS Shellのコマンド補完を利用する!

「aws-shell」でコマンドを打つと、自動でコマンドの候補が視覚的に表示されます。

AWS Shellを終了する!

AWS Shellは、「Ctrl-d」で終了します。

おわりに

AWS Shellでは、コマンド補完が視覚的に表示されるので、コマンド実行を気軽に実行したい場合は、AWS CLIより便利に使用できると思います。

参考情報

関連記事