

# DLT CLI
<a name="dlt-cli"></a>

DLT CLI を使用すると、ターミナルから直接 AWS での分散負荷テスト REST API を操作できます。これにより、負荷テストのスクリプトによる自動化が可能になり、反復可能なワークフローの一部として、テストシナリオの一覧表示、検査、開始、および実行結果のクエリを行うことができます。

CLI は DLT ウェブコンソールと同じ IAM 認可 API Gateway をターゲットとしているため、ブラウザベースのインターフェイスで使用できるオペレーションは、同じ基盤となる API およびアクセス許可モデルを使用してコマンドラインから実行することもできます。

CLI ソースコードと完全なドキュメントは、 ソリューションの GitHub リポジトリの `source/cli` ディレクトリにあります。これを見つけるには、[AWS での分散負荷テストリポジトリ](https://github.com/aws-solutions/distributed-load-testing-on-aws)に移動し、`source/cli` を開きます。そのディレクトリにある `README.md` は、インストール、設定、認証、および完全なコマンドリファレンスに関する信頼できるリファレンスです。

## 主な機能
<a name="dlt-cli-capabilities"></a>


| コマンドグループ | 説明 | 
| --- | --- | 
|  `configure`  | インタラクティブに、または `aws-exports.json` ファイルをインポートして、DLT スタック設定で CLI を設定します。 | 
|  `login`  | DLT サービスで認証し、API の呼び出しに必要な認証情報を取得します。 | 
|  `logout`  | ローカルマシンから保存された認証情報を削除します。 | 
|  `token`  | 認証トークンと認証情報の有効期限ステータスを検査し、出力します。 | 
|  `scenarios`  | 既存のテストシナリオを一覧表示し、詳細を表示して、開始 (再実行) します。 | 
|  `runs`  | テスト実行結果のクエリ、実行の詳細の表示、ベースラインとの比較、実行アーティファクトのダウンロードを行います。 | 

CLI は、ブラウザベースのログイン (Cognito ホスト UI 経由の PKCE フロー)、ヘッドレス SRP (セキュアリモートパスワード) 認証、および直接 IAM 認証情報による認証の 3 つの認証モードをサポートしています。各モードのセットアップの詳細については、[GitHub リポジトリ](https://github.com/aws-solutions/distributed-load-testing-on-aws)の `source/cli` ディレクトリにある `README.md` を参照してください。

## インストールと詳細なリファレンス
<a name="dlt-cli-reference"></a>

CLI はポータブルな Node.js バンドルとして配布されており、直接実行することも、リポジトリを使用してソースからビルドすることもできます。開始するには、GitHub の [AWS での分散負荷テストリポジトリ](https://github.com/aws-solutions/distributed-load-testing-on-aws)に移動し、`source/cli` ディレクトリを開きます。そのディレクトリにある `README.md` ファイルには、以下の内容が含まれています。
+ インストール手順 (ポータブルバンドルとソースからのビルド)
+ 3 つの認証モードすべての設定と認証の設定
+ 使用例を含む完全なコマンドリファレンス

## クイックスタート
<a name="dlt-cli-quick-start"></a>

**注記**  
このクイックスタートでは、DLT スタックが既にデプロイされていることを前提としています。

### オプション 1: ポータブルバンドル (推奨)
<a name="option-1-portable-bundle-recommended"></a>

最も手軽に始める方法は、ポータブルバンドルを利用することです。これには、リポジトリのクローン作成やビルドステップは必要ありません。

```
# Download the portable bundle
curl -sLo /usr/local/bin/dlt \
  https://raw.githubusercontent.com/aws-solutions/distributed-load-testing-on-aws/main/deployment/cli/dlt-cli.mjs

# Make it executable
chmod +x /usr/local/bin/dlt

# Point the CLI at your deployed DLT stack
dlt configure

# Authenticate with the DLT service
dlt login

# Run a command (for example, list test scenarios)
dlt scenarios list
```

### オプション 2: ソースからビルドする
<a name="option-2-build-from-source"></a>

ソースからビルドする場合は、まず[リポジトリ](https://github.com/aws-solutions/distributed-load-testing-on-aws)のクローンを作成します。プロジェクトは npm ワークスペースを使用するため、リポジトリのルートから次のコマンドを実行します。

```
# Install all workspace dependencies
npm install

# Build the CLI
npm run build -w source/cli

# Link the dlt command into your PATH
npm link -w source/cli

# Point the CLI at your deployed DLT stack
dlt configure

# Authenticate with the DLT service
dlt login

# Run a command (for example, list test scenarios)
dlt scenarios list
```