コマンドラインオプション - AWS Command Line Interface

コマンドラインオプション

AWS CLI で、コマンドラインオプションはグローバルパラメータであり、デフォルトの設定、対応するプロファイル設定、単一のコマンドの環境変数設定を上書きできます。使用するプロファイルを指定することはできますが、コマンドラインオプションを使用して認証情報を直接指定することはできません。

コマンドラインオプションの使用方法

ほとんどのコマンドラインオプションは、次の例のプロファイル名 profile1 などの単純な文字列です。

$ aws s3 ls --profile profile1 example-bucket-1 example-bucket-2 ...

引数を使用する各オプションには、オプション名から引数を分離するスペースまたは等号 (=) が必要です。引数値にスペースが含まれている文字列がある場合は、引数を引用符で囲む必要があります。引数の型とパラメータの書式設定の詳細については、「AWS CLI のパラメータ値を指定する」を参照してください。

AWS CLI でサポートされているグローバルコマンドラインオプション

AWS CLI では、次のコマンドラインオプションを使用して、デフォルトの構成設定、対応するプロファイル設定、またはその単一のコマンドの環境変数設定を上書きできます。

--ca-bundle <string>

SSL 証明書の検証時に使用する証明機関 (CA) 証明書バンドルを指定します。

定義されている場合、このオプションはプロファイル設定 ca_bundle の値および AWS_CA_BUNDLE 環境変数よりも優先されます。

--cli-auto-prompt

単一のコマンドに対して自動プロンプトモードを有効にします。以下の例にあるように、これは任意の場所で指定できます。

$ aws --cli-auto-prompt $ aws dynamodb --cli-auto-prompt $ aws dynamodb describe-table --cli-auto-prompt

このオプションは、aws_cli_auto_prompt 環境変数と cli_auto_prompt プロファイル設定を上書きします。

AWS CLI バージョン 2 の自動プロンプト機能の詳細については、「AWS CLI でコマンドの入力プロンプトを表示する」を参照してください。

--cli-binary-format

AWS CLI バージョン 2 がバイナリ入力パラメータをどのように解釈するかを指定します。これには、次のいずれかの値を指定できます。

  • base64 - これはデフォルト値です。バイナリラージオブジェクト (BLOB) として型指定された入力パラメータは、base64 でエンコードされた文字列を受け入れます。真のバイナリコンテンツを渡すには、コンテンツをファイルに置き、ファイルのパスと名前をパラメータの値として fileb:// プレフィックスを付けて指定します。ファイルに含まれる base64 エンコードされたテキストを渡すには、ファイルのパスと名前をパラメータの値として file:// プレフィックスを付けて指定します。

  • raw-in-base64-out — AWS CLI バージョン 1 のデフォルト。設定の値が raw-in-base64-out の場合、file:// プレフィックスを使用して参照されるファイルはテキストとして読み取られます。AWS CLI は、これをバイナリにエンコードしようとします。

これは cli_binary_format ファイル設定を上書きします。

$ aws lambda invoke \ --cli-binary-format raw-in-base64-out \ --function-name my-function \ --invocation-type Event \ --payload '{ "name": "Bob" }' \ response.json

fileb:// プレフィックス表記を使用してファイル内のバイナリ値を参照する場合、AWS CLI は 常にファイルに raw バイナリコンテンツが含まれていることを想定し、値の変換は試行しません。

file:// プレフィックス表記を使用してファイル内のバイナリ値を参照する場合、AWS CLI は現在の cli_binary_format 設定に従ってファイルを処理します。その設定の値が base64 (明示的に設定されていない場合のデフォルト) の場合、AWS CLI はファイルに base64 エンコードされたテキストが含まれていることを期待します。設定の値が raw-in-base64-out の場合、AWS CLI はファイルに raw バイナリコンテンツが含まれていることを期待します。

--cli-connect-timeout <integer>

ソケットの最大接続時間を秒単位で指定します。この値をゼロ (0) に設定すると、ソケットの接続は無期限に待機し (ブロックされ)、タイムアウトになりません。

--cli-read-timeout <integer>

ソケットの最大読み込み時間を秒単位で指定します。この値をゼロ (0) に設定すると、ソケットの読み込みは無期限に待機し (ブロックされ)、タイムアウトになりません。

--color <string>

色出力のサポートを指定します。有効な値は、onoffauto です。デフォルト値は auto です。

--debug

デバッグログ記録を有効にするブールスイッチ。デフォルトでは、AWS CLI は、コマンド出力のコマンド結果に関する成功または失敗に関するクリーンアップ情報を提供します。--debug このオプションでは、完全な Python ログが提供されます。これには、コマンドが予期しない結果を提供する原因をトラブルシューティングするときに使用できるコマンドのオペレーションに関する追加の stderr 診断情報が含まれています。デバッグログを簡単に表示するには、ログをファイルに送信して、情報をより簡単に検索することをお勧めします。これを行うには、次のいずれかを使用します。

stderr の診断情報のみを送信するには、2> debug.txt を追加します。ここで、debug.txt はデバッグファイルに使用する名前です。

$ aws servicename commandname options --debug 2> debug.txt

出力情報と stderr 診断情報の両方を送信するには、&> debug.txt を追加します。ここで、debug.txt はデバッグファイルに使用する名前です。

$ aws servicename commandname options --debug &> debug.txt
--endpoint-url <string>

リクエストを送信する URL を指定します。ほとんどのコマンドでは、AWS CLI により、選択したサービスと AWS リージョンに基づいて URL が自動的に決定されます。ただし、一部のコマンドでは、アカウント固有の URL を指定する必要があります。一部の AWS サービスでは、プライベート VPC 内で直接エンドポイントをホストすることもできますが、URL を指定する必要がある場合があります。

以下のコマンド例では、カスタム Amazon S3 エンドポイント URL を使用しています。

$ aws s3 ls --endpoint-url http://localhost:4567

エンドポイント設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。AWS CLI エンドポイント構成設定は、次の順序で優先されます。

  1. --endpoint-url コマンドラインオプション。

  2. 有効にすると、AWS_IGNORE_CONFIGURED_ENDPOINT_URLS グローバルエンドポイント環境変数またはプロファイル設定 ignore_configure_endpoint_urls はカスタムエンドポイントを無視します。

  3. サービス固有の環境変数 AWS_ENDPOINT_URL_<SERVICE> (AWS_ENDPOINT_URL_DYNAMODB など) によって提供される値。

  4. AWS_USE_DUALSTACK_ENDPOINTAWS_USE_FIPS_ENDPOINT、および AWS_ENDPOINT_URL 環境変数によって提供される値。

  5. 共有 config ファイルの services セクション内の endpoint_url 設定によって提供されるサービス固有のエンドポイント値。

  6. 共有 config ファイルの profile 内の endpoint_url 設定によって提供される値。

  7. use_dualstack_endpointuse_fips_endpoint、および endpoint_url の設定。

  8. 各 AWS のサービス のデフォルトのエンドポイント URL が最後に使用されます。各リージョンで使用できる標準的なサービスエンドポイントについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。

--no-cli-auto-prompt

単一のコマンドに対して自動プロンプトモードを無効にします。

$ aws dynamodb describe-table --table-name Table1 --no-cli-auto-prompt

このオプションは、aws_cli_auto_prompt 環境変数と cli_auto_prompt プロファイル設定を上書きします。

AWS CLI バージョン 2 の自動プロンプト機能の詳細については、「AWS CLI でコマンドの入力プロンプトを表示する」を参照してください。

--no-cli-pager

コマンドの出力に対するページャーの使用を無効にするブール型スイッチ。

--no-paginate

出力のページ分割を作成するすべてのコマンド結果を受け取るために AWS CLI が自動的に行う複数の呼び出しを無効にするブール型スイッチ。つまり、出力の最初のページのみが表示されます。

--no-sign-request

AWS サービスエンドポイントに対する HTTP リクエストへの署名を無効にするブールスイッチ。これにより、認証情報がロードされることを防ぎます。

--no-verify-ssl

デフォルトでは、AWS CLI は AWS のサービスとの通信に SSL を使用します。SSL 接続およびコールごとに、AWS CLI は SSL 証明書を検証します。このオプションを使用すると、SSL 証明書を検証するデフォルトの動作がオーバーライドされます。

警告

このオプションは、ベストプラクティスではありません--no-verify-ssl を使用すると、クライアントと AWS のサービスとの間のトラフィックは保護されなくなります。つまり、トラフィックはセキュリティ上のリスクとなり、中間者攻撃を受けやすくなります。証明書に問題がある場合は、代わりに問題を解決するのが最善です。証明書のトラブルシューティング手順については、「SSL 証明書のエラー」を参照してください。

--output <string>

このコマンドに使用する出力形式を指定します。次の値のいずれかを指定できます。

  • json - 出力は JSON 文字列としてフォーマットされます。

  • yaml - 出力は YAML 文字列としてフォーマットされます。

  • YAML ストリーム出力形式 - 出力はストリームされ、YAML 文字列としてフォーマットされます。ストリーミングにより、大きなデータタイプの処理を高速化できます。

  • text - 出力は、複数行のタブ区切りの文字列値としてフォーマットされます。これは、grepsed、または awk などのテキストプロセッサに出力を渡すのに役立ちます。

  • table - 出力は、テーブルとしてフォーマットされ、文字の「+|-」を使用してセルの境界を形成します。通常、情報は他の形式よりも読みやすい「わかりやすい」形式で表示されますが、プログラムとしては役立ちません。

--profile <string>

このコマンドに使用する named profile を指定します。追加の名前付きプロファイルを設定するには、aws configure オプションを指定して --profile コマンドを使用します。

$ aws configure --profile <profilename>
--query <string>

JMESPath クエリを指定して、レスポンスデータのフィルタリングに使用します。詳細については、「AWS CLI の出力をフィルタリングする」を参照してください。

--region <string>

このコマンドの AWS リクエストを送信する AWS リージョンを指定します。指定できるすべてのリージョンのリストについては、「Amazon Web Services 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。

--version

実行している AWS CLI プログラムの現在バージョンを表示するブールスイッチ。

コマンドラインオプションの一般的な用途

コマンドラインオプションの一般的な使用方法には、複数の AWS リージョンでのリソースの確認、および、スクリプティングでの読みやすさや使いやすさのための出力形式の変更が含まれます。次の例では、インスタンスがどのリージョンにあるかを見つけるまで、各リージョンに対して describe-instances コマンドを実行します。

$ aws ec2 describe-instances --output table --region us-west-1 ------------------- |DescribeInstances| +-----------------+ $ aws ec2 describe-instances --output table --region us-west-2 ------------------------------------------------------------------------------ | DescribeInstances | +----------------------------------------------------------------------------+ || Reservations || |+-------------------------------------+------------------------------------+| || OwnerId | 012345678901 || || ReservationId | r-abcdefgh || |+-------------------------------------+------------------------------------+| ||| Instances ||| ||+------------------------+-----------------------------------------------+|| ||| AmiLaunchIndex | 0 ||| ||| Architecture | x86_64 ||| ...