Amazonは先頃、ブログ記事でAWS CLI (Command Line Interface) v2の一般提供(GA)を開始すると発表した。今回のバージョンのCLIには、AWS Single Sign-On(SSO)インテグレーション、インタラクティブなウイザード、サーバ側情報の自動補完と自動プロンプトなどが含まれている。また、Pythonの事前インストールが前提条件でなくなり、Windows、Linux、macOSがサポート対象になった。
AWS SSOは、企業が所有する複数のAWSアカウントやビジネスアプリケーションIDを、統合されたID管理システムの下で集中的に管理できるようにするものだ。SalesforceやBox、Office 365などのサードパーティサービスとのビルトインインテグレーションも含む他、Azue Active Directoryとも接続することができる。AWS SSOを包含することで、IDストア以外での認証情報の管理は不要になる。認証情報の登録を合理的に行う手段として、インポートウィザードが導入された。Amazonのソフトウェア開発エンジニアであるJames Saryerwinnie氏が次のように説明する。
AWS CLI v2では、認証情報を設定する新たなメカニズムがいくつか導入されています。新設のaws configure importコマンドでは、AWS Consoleで生成した.csvファイルから認証情報をインポートすることができます。
$ aws configure import --csv file://path/to/creds.csv
ここで論じたバルクインポート機能の対局に位置するのがウィザードエクスペリエンスで、CLIからaws configure ssoコマンドで呼び出すことができる。このコマンドを使うと、入力の必要な一連のプロンプトが表示され、それに従うことで、CLIセッション内でAWS IDを使用することが可能になる。
イメージ引用: https://aws.amazon.com/blogs/developer/aws-cli-v2-is-now-generally-available/
インタラクティブな機能によるユーザエクスペリエンスの簡素化もまた、AWSチームの目標とするところだ。その例として、AWS CLI v1では、TABキーを使用してコマンドとパラメータ名を補完することができる。AWS CLI v2ではさらに進んで、サーバ側のリソース名の自動補完が可能になった。Saryerwinnie氏が説明する。
AWS CLI v2の大きなテーマのひとつが、よりインタラクティブな機能の導入によるユーザ支援です。AWS CLIはスクリプティングによるタスクの自動化の他に、インタラクティブな用途でも使用されています。CLIコマンドをターミナルでインタラクティブに実行する時に、ユーザを支援する機能を加えたいと思っていました。新しいインタラクティブ機能のひとつが、サーバ側の自動補完です。
この機能の例としてAmazonが用いているのは、AWS Dynamoテーブル名の自動補完だ。
イメージ引用: https://aws.amazon.com/blogs/developer/aws-cli-v2-is-now-generally-available/
AWS CLI v2で導入されたユーザビリティ機能にはその他にも、必要なパラメータ入力をひとつずつユーザに促す新コマンドの-cli-auto-promptがある。必要なパラメータがすべて入力されると、オプションパラメータの一覧が、AWSドキュメントから引用した簡潔な説明と合わせて一覧表示される。
イメージ引用: https://aws.amazon.com/blogs/developer/aws-cli-v2-is-now-generally-available/
機能とバグ修正、拡張に関する完全なリストは、AWS CLI v2 changelogを参照してほしい。AWS CLI v2はv1とほぼ後方互換だが、既知の問題がAWS CLI v2マイグレーションガイドに掲載されている。