でのコマンド出力の制御 AWS CLI - AWS Command Line Interface

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

でのコマンド出力の制御 AWS CLI

このセクションでは、 AWS Command Line Interface (AWS CLI) からの出力を制御するさまざまな方法を示します。ターミナルの AWS CLI 出力をカスタマイズすることで、読みやすさが向上し、スクリプトの自動化が合理化され、大規模なデータセットをより簡単にナビゲートできます。

は、、、jsontextyamlおよび を含む複数の出力形式 AWS CLI をサポートしていますtable。一部のサービスでは、データに対してサーバー側のページ分割が行われており、 AWS CLI には追加のページ分割オプション 用の独自のクライアント側の機能が用意されています。

最後に、 AWS CLI にはサーバー側とクライアント側のフィルタリングの両方があり、個別に、または一緒に使用して出力をフィルタリングできます AWS CLI 。

機密出力

のオペレーションによっては、環境変数からの情報など、機密性が高いと見なされる可能性のある情報を返 AWS CLI す場合があります。この情報の公開は、特定のシナリオでセキュリティリスクを表す可能性があります。例えば、情報は継続的統合と継続的デプロイ (CI/CD) ログに含まれる可能性があります。したがって、ログの一部としてこのような出力を含めるときは を確認し、不要な場合は出力を抑制することが重要です。

機密データの保護の詳細については、「」を参照してくださいでのデータ保護 AWS CLI

以下のベストプラクティスを考慮します。

  • などのシークレットストアからシークレットをプログラムで取得することを検討してください AWS Secrets Manager。

  • ビルドログの内容を確認して、機密情報が含まれていないことを確認します。コマンド出力を抑制するために、出力を へのパイプ/dev/nullや bash または PowerShell 変数としてキャプチャするなどのアプローチを検討してください。

    以下は、エラーではなく出力を にリダイレクトするための bash の例です/dev/null

    $ aws s3 ls > /dev/null

    ターミナルの出力の抑制の詳細については、使用するターミナルのユーザードキュメントを参照してください。

  • ログへのアクセスを検討し、ユースケースに応じてアクセスの範囲を適切に指定します。

サーバー側の出力オプションとクライアント側の出力オプション

AWS CLI にはサーバー側とクライアント側のフィルタリングの両方があり、個別に、またはまとめて出力をフィルタリングできます AWS CLI 。サーバー側のフィルタリングが最初に処理され、クライアント側のフィルタリングのために出力が返されます。サーバー側のフィルタリングは、サービス でサポートされていますAPI。クライアント側のフィルタリングは、 --queryパラメータを使用して AWS CLI クライアントによってサポートされます。

サーバー側の出力オプションは、 が直接サポートする機能です AWS のサービス API。フィルタリングまたはページアウトされたデータはクライアントに送信されないため、HTTP応答時間が短縮され、より大きなデータセットの帯域幅が向上します。

クライアント側の出力オプションは、 AWS CLIによって作成される機能です。すべてのデータはクライアントに送信され、次に、表示されたコンテンツを AWS CLI フィルターまたはページ化します。クライアント側のオペレーションでは、大規模なデータセットの速度や帯域幅を節約することができません。

サーバー側のオプションとクライアント側のオプションを同時に使用する場合、サーバー側のオペレーションが最初に完了し、その後クライアント側のオペレーションのためにクライアントに送信されます。これにより、サーバー側のオプションによる潜在的な速度の向上と帯域幅の節約を実現しながら、追加の AWS CLI 機能を使用して必要な出力を取得できます。