AWS CLI Tips 集

AWS CLI  のデバッグには --debug オプションと使う

通常、AWS CLI は、コマンド出力のコマンド結果に関する成功または失敗に関する情報が出るだけで、詳細なログは出ません。
--debug12 オプションを使用すると、デバッグログ記録が有効化され、詳細なログが出力されます。

Linuxの場合
Copied!
aws <servicename> <commandname> <options> --debug &> debug.txt
Windowsの場合
Copied!
aws <servicename> <commandname> <options> --debug > 2>&1 > debug.txt

AWS CLI コマンドがリトライされない

リトライが実行されるのは一時的なエラーコードに対してのみです。
具体的には、HTTP ステータスコードが 500、502、503、504 の時です。3
リトライしているかは --debug オプションを使用すると確認できます。

AWS CLI でコマンド実行時に、Connect timeout といったネットワークエラーが発生した

前提として、AWS CLI は TCP ポート 443 の HTTPS プロトコルを使用することによって、リクエストを AWS に送信しています。4
ネットワーク ACL といった通信経路を確認するのがおすすめです。
因みに試しにネットワーク ACL で 443 のアウトバンドを遮断した際は、CloudTrail ログに AWS CLI による API 呼び出しのログは確認できませんでした。
おそらく、ネットワークエラー関係など一部のエラーは API 自体の呼び出しができていないので CloudTrail に残らないのかもしれません。

Footnotes

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

  2. AWS CLI に関連するエラーのトラブルシューティング - AWS Command Line Interface

  3. AWS CLI の再試行 - AWS Command Line Interface

  4. AWS CLI の使用 - AWS Command Line Interface