からのコマンド出力を制御する AWS CLI - AWS Command Line Interface

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

からのコマンド出力を制御する AWS CLI

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

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

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

機密出力

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

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

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

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

  • ビルドログの内容を確認して、機密情報が含まれていないことを確認します。コマンド出力を抑制するには、パイプ/dev/null処理や出力をバッシュまたは 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 機能を使用して必要な出力を取得できます。