エラーのトラブルシューティング AWS CLI - AWS Command Line Interface

このドキュメントは、 のバージョン 1 AWS CLI のみを対象としています。のバージョン 2 に関連するドキュメントについては AWS CLI、「 バージョン 2 ユーザーガイド」を参照してください。

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

エラーのトラブルシューティング AWS CLI

このセクションでは、問題を解決するために従うべき一般的なエラーとトラブルシューティング手順について説明します。最初に、一般的なトラブルシューティングに従うことをお勧めします。

最初に試す一般的なトラブルシューティング

でエラーが発生したり、問題が発生したりした場合は AWS CLI、トラブルシューティングに役立つ次の一般的なヒントを参考にすることをお勧めします。

先頭に戻る

AWS CLI コマンドのフォーマットを確認してください。

コマンドが存在しないことを示すエラー、またはドキュメントに記述されているパラメータ (Parameter validation failed) が認識されないことを示すエラーが表示された場合は、コマンドの形式が正しくない可能性があります。以下について確認することをお勧めします。

特定のコマンドの構造について詳しくは、AWS CLIAWS CLI リファレンスガイドバージョン

先頭に戻る

AWS リージョンAWS CLI 使用しているコマンドを確認してください。

注記

AWS リージョン を使用するときは、明示的に AWS CLI、またはデフォルトリージョンを設定して、を指定する必要があります。指定できるすべてのリストについては、の AWS リージョン 「AWS リージョンとエンドポイント」を参照してください。Amazon Web Services 全般のリファレンス AWS リージョン AWS CLI が使用するデジグネータは、 AWS Management Console URL やサービスエンドポイントに表示される名前と同じです。

AWS のサービス 指定したものが使用できない場合や、リソースが別の場所にある場合は、 AWS リージョン エラーや予期しない結果が生じる可能性があります。 AWS リージョン AWS リージョン は優先順位の高い順に、次のように設定されます。

AWS リージョン リソースに適したものを使用していることを確認してください。

先頭に戻る

最新バージョンの AWS CLIを実行していることを確認する

コマンドが存在しない、AWS CLI のリファレンスガイドで使用可能と記載されているパラメータを認識できないことを示すエラーを受け取った場合は、まずコマンドが正しくフォーマットされていることを確認してください。形式が正しい場合は、最新バージョンの AWS CLIにアップグレードすることをお勧めします。 AWS CLI の更新バージョンは、ほぼ毎営業日にリリースされます。これらの新しいバージョンでは、 AWS 新しいサービス、機能、パラメータが導入されています AWS CLI。これらの新しいサービスや機能、パラメータにアクセスする唯一の方法は、その要素が最初に導入された後にリリースされたバージョンにアップグレードすることです。

のバージョンを更新する方法は、 AWS CLI で説明されているように最初にインストールした方法によって異なりますAWS CLI のインストール、更新、アンインストール

バンドルされたインストーラのいずれかを使用した場合は、オペレーティングシステム用の最新バージョンをダウンロードしてインストールする前に、既存のインストールの削除が必要になる場合があります。

先頭に戻る

--debug オプションを使用する

AWS CLI すぐに理解できないエラーが報告されたり、予期しない結果になったりした場合は、--debugオプションを指定してコマンドを再実行すると、エラーの詳細を確認できます。このオプションを使用すると、 AWS CLI は、コマンドを処理するために必要な各ステップの詳細を出力します。出力される詳細は、いつエラーが発生し、そのエラーがどこで開始されたかを特定するために役立つヒントを提供します。

この出力は、後で確認できるようテキストファイルに送信するか、求められた場合に AWS Support に送信できます。

--debug オプションを含める場合、詳細の一部には以下が含まれます。

  • 認証情報の検索

  • 指定されたパラメータの解析

  • AWS サーバーに送信されるリクエストを作成します。

  • に送信されたリクエストの内容 AWS

  • raw レスポンスの内容

  • フォーマットされた出力

--debug オプションを使用した場合と使用しない場合のコマンドの例を次に示します。

$ aws iam list-groups --profile MyTestProfile { "Groups": [ { "Path": "/", "GroupName": "MyTestGroup", "GroupId": "AGPA0123456789EXAMPLE", "Arn": "arn:aws:iam::123456789012:group/MyTestGroup", "CreateDate": "2019-08-12T19:34:04Z" } ] }
$ aws iam list-groups --profile MyTestProfile --debug 2019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205 2019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['iam', 'list-groups', '--debug'] 2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function add_scalar_parsers at 0x7fdf173161e0> 2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function register_uri_param_handler at 0x7fdf17dec400> 2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function inject_assume_role_provider_cache at 0x7fdf17da9378> 2019-08-12 12:36:18,307 - MainThread - botocore.credentials - DEBUG - Skipping environment variable credential check because profile name was explicitly set. 2019-08-12 12:36:18,307 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function attach_history_handler at 0x7fdf173ed9d8> 2019-08-12 12:36:18,308 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/service-2.json 2019-08-12 12:36:18,317 - MainThread - botocore.hooks - DEBUG - Event building-command-table.iam: calling handler <function add_waiters at 0x7fdf1731a840> 2019-08-12 12:36:18,320 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/waiters-2.json 2019-08-12 12:36:18,321 - MainThread - awscli.clidriver - DEBUG - OrderedDict([('path-prefix', <awscli.arguments.CLIArgument object at 0x7fdf171ac780>), ('marker', <awscli.arguments.CLIArgument object at 0x7fdf171b09e8>), ('max-items', <awscli.arguments.CLIArgument object at 0x7fdf171b09b0>)]) 2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function add_streaming_output_arg at 0x7fdf17316510> 2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function add_cli_input_json at 0x7fdf17da9d90> 2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function unify_paging_params at 0x7fdf17328048> 2019-08-12 12:36:18,326 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/paginators-1.json 2019-08-12 12:36:18,326 - MainThread - awscli.customizations.paginate - DEBUG - Modifying paging parameters for operation: ListGroups 2019-08-12 12:36:18,326 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function add_generate_skeleton at 0x7fdf1737eae8> 2019-08-12 12:36:18,326 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.iam.list-groups: calling handler <bound method OverrideRequiredArgsArgument.override_required_args of <awscli.customizations.cliinputjson.CliInputJSONArgument object at 0x7fdf171b0a58>> 2019-08-12 12:36:18,327 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.iam.list-groups: calling handler <bound method GenerateCliSkeletonArgument.override_required_args of <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0x7fdf171c5978>> 2019-08-12 12:36:18,327 - MainThread - botocore.hooks - DEBUG - Event operation-args-parsed.iam.list-groups: calling handler functools.partial(<function check_should_enable_pagination at 0x7fdf17328158>, ['marker', 'max-items'], {'max-items': <awscli.arguments.CLIArgument object at 0x7fdf171b09b0>}, OrderedDict([('path-prefix', <awscli.arguments.CLIArgument object at 0x7fdf171ac780>), ('marker', <awscli.arguments.CLIArgument object at 0x7fdf171b09e8>), ('max-items', <awscli.customizations.paginate.PageArgument object at 0x7fdf171c58d0>), ('cli-input-json', <awscli.customizations.cliinputjson.CliInputJSONArgument object at 0x7fdf171b0a58>), ('starting-token', <awscli.customizations.paginate.PageArgument object at 0x7fdf171b0a20>), ('page-size', <awscli.customizations.paginate.PageArgument object at 0x7fdf171c5828>), ('generate-cli-skeleton', <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0x7fdf171c5978>)])) 2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.path-prefix: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978> 2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.marker: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978> 2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.max-items: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978> 2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.cli-input-json: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978> 2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.starting-token: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978> 2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.page-size: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978> 2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.generate-cli-skeleton: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978> 2019-08-12 12:36:18,329 - MainThread - botocore.hooks - DEBUG - Event calling-command.iam.list-groups: calling handler <bound method CliInputJSONArgument.add_to_call_parameters of <awscli.customizations.cliinputjson.CliInputJSONArgument object at 0x7fdf171b0a58>> 2019-08-12 12:36:18,329 - MainThread - botocore.hooks - DEBUG - Event calling-command.iam.list-groups: calling handler <bound method GenerateCliSkeletonArgument.generate_json_skeleton of <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0x7fdf171c5978>> 2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: assume-role 2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: assume-role-with-web-identity 2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: shared-credentials-file 2019-08-12 12:36:18,329 - MainThread - botocore.credentials - INFO - Found credentials in shared credentials file: ~/.aws/credentials 2019-08-12 12:36:18,330 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/endpoints.json 2019-08-12 12:36:18,334 - MainThread - botocore.hooks - DEBUG - Event choose-service-name: calling handler <function handle_service_name_alias at 0x7fdf1898eb70> 2019-08-12 12:36:18,337 - MainThread - botocore.hooks - DEBUG - Event creating-client-class.iam: calling handler <function add_generate_presigned_url at 0x7fdf18a028c8> 2019-08-12 12:36:18,337 - MainThread - botocore.regions - DEBUG - Using partition endpoint for iam, us-west-2: aws-global 2019-08-12 12:36:18,337 - MainThread - botocore.args - DEBUG - The s3 config key is not a dictionary type, ignoring its value of: None 2019-08-12 12:36:18,340 - MainThread - botocore.endpoint - DEBUG - Setting iam timeout as (60, 60) 2019-08-12 12:36:18,341 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/_retry.json 2019-08-12 12:36:18,341 - MainThread - botocore.client - DEBUG - Registering retry handlers for service: iam 2019-08-12 12:36:18,342 - MainThread - botocore.hooks - DEBUG - Event before-parameter-build.iam.ListGroups: calling handler <function generate_idempotent_uuid at 0x7fdf189b10d0> 2019-08-12 12:36:18,342 - MainThread - botocore.hooks - DEBUG - Event before-call.iam.ListGroups: calling handler <function inject_api_version_header_if_needed at 0x7fdf189b2a60> 2019-08-12 12:36:18,343 - MainThread - botocore.endpoint - DEBUG - Making request for OperationModel(name=ListGroups) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'aws-cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205'}, 'body': {'Action': 'ListGroups', 'Version': '2010-05-08'}, 'url': 'https://iam.amazonaws.com/', 'context': {'client_region': 'aws-global', 'client_config': <botocore.config.Config object at 0x7fdf16e9a4a8>, 'has_streaming_input': False, 'auth_type': None}} 2019-08-12 12:36:18,343 - MainThread - botocore.hooks - DEBUG - Event request-created.iam.ListGroups: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7fdf16e9a470>> 2019-08-12 12:36:18,343 - MainThread - botocore.hooks - DEBUG - Event choose-signer.iam.ListGroups: calling handler <function set_operation_specific_signer at 0x7fdf18996f28> 2019-08-12 12:36:18,343 - MainThread - botocore.auth - DEBUG - Calculating signature using v4 auth. 2019-08-12 12:36:18,343 - MainThread - botocore.auth - DEBUG - CanonicalRequest: POST / content-type:application/x-www-form-urlencoded; charset=utf-8 host:iam.amazonaws.com x-amz-date:20190812T193618Z content-type;host;x-amz-date 5f776d91EXAMPLE9b8cb5eb5d6d4a787a33ae41c8cd6eEXAMPLEca69080e1e1f 2019-08-12 12:36:18,344 - MainThread - botocore.auth - DEBUG - StringToSign: AWS4-HMAC-SHA256 20190812T193618Z 20190812/us-east-1/iam/aws4_request ab7e367eEXAMPLE2769f178ea509978cf8bfa054874b3EXAMPLE8d043fab6cc9 2019-08-12 12:36:18,344 - MainThread - botocore.auth - DEBUG - Signature: d85a0EXAMPLEb40164f2f539cdc76d4f294fe822EXAMPLE18ad1ddf58a1a3ce7 2019-08-12 12:36:18,344 - MainThread - botocore.endpoint - DEBUG - Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://iam.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'aws-cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205', 'X-Amz-Date': b'20190812T193618Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIA01234567890EXAMPLE-east-1/iam/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=d85a07692aceb401EXAMPLEa1b18ad1ddf58a1a3ce7EXAMPLE', 'Content-Length': '36'}> 2019-08-12 12:36:18,344 - MainThread - urllib3.util.retry - DEBUG - Converted retries value: False -> Retry(total=False, connect=None, read=None, redirect=0, status=None) 2019-08-12 12:36:18,344 - MainThread - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): iam.amazonaws.com:443 2019-08-12 12:36:18,664 - MainThread - urllib3.connectionpool - DEBUG - https://iam.amazonaws.com:443 "POST / HTTP/1.1" 200 570 2019-08-12 12:36:18,664 - MainThread - botocore.parsers - DEBUG - Response headers: {'x-amzn-RequestId': '74c11606-bd38-11e9-9c82-559da0adb349', 'Content-Type': 'text/xml', 'Content-Length': '570', 'Date': 'Mon, 12 Aug 2019 19:36:18 GMT'} 2019-08-12 12:36:18,664 - MainThread - botocore.parsers - DEBUG - Response body: b'<ListGroupsResponse xmlns="https://iam.amazonaws.com/doc/2010-05-08/">\n <ListGroupsResult>\n <IsTruncated>false</IsTruncated>\n <Groups>\n <member>\n <Path>/</Path>\n <GroupName>MyTestGroup</GroupName>\n <Arn>arn:aws:iam::123456789012:group/MyTestGroup</Arn>\n <GroupId>AGPA1234567890EXAMPLE</GroupId>\n <CreateDate>2019-08-12T19:34:04Z</CreateDate>\n </member>\n </Groups>\n </ListGroupsResult>\n <ResponseMetadata>\n <RequestId>74c11606-bd38-11e9-9c82-559da0adb349</RequestId>\n </ResponseMetadata>\n</ListGroupsResponse>\n' 2019-08-12 12:36:18,665 - MainThread - botocore.hooks - DEBUG - Event needs-retry.iam.ListGroups: calling handler <botocore.retryhandler.RetryHandler object at 0x7fdf16e9a780> 2019-08-12 12:36:18,665 - MainThread - botocore.retryhandler - DEBUG - No retry needed. 2019-08-12 12:36:18,665 - MainThread - botocore.hooks - DEBUG - Event after-call.iam.ListGroups: calling handler <function json_decode_policies at 0x7fdf189b1d90> { "Groups": [ { "Path": "/", "GroupName": "MyTestGroup", "GroupId": "AGPA123456789012EXAMPLE", "Arn": "arn:aws:iam::123456789012:group/MyTestGroup", "CreateDate": "2019-08-12T19:34:04Z" } ] }

先頭に戻る

AWS CLI コマンド履歴ログを有効にして確認します。

AWS CLI cli_historyファイル設定を使用してコマンド履歴ログを有効にできます。この設定を有効にすると、 AWS CLI awsはコマンドの履歴を記録します。

aws history list コマンドを使用すると履歴を一覧表示でき、そこから得られた command_id を aws history show コマンドに使用すると詳細を確認できます。詳細については、AWS CLI リファレンスガイドの「aws history」を参照してください。

--debug オプションを含める場合、詳細の一部には以下が含まれます。

  • bootcore に対して行われた API 呼び出し

  • ステータスコード

  • HTTP レスポンス

  • ヘッダー

  • リターンコード

この情報を使用すると、パラメータデータと API 呼び出しが期待どおりに動作していることを確認でき、さらにプロセスのどの段階でコマンドが失敗しているかの推測を行えます。

先頭に戻る

AWS CLI が設定されていることを確認します。

config および credentials ファイル、または IAM ユーザーやロールが正しく設定されていない場合、さまざまなエラーが発生する可能性があります。config および credentials ファイル、または IAM ユーザーやロールに関するエラーを解決する方法の詳細については、「アクセス拒否エラー」および「無効な認証情報とキーエラー」を参照してください。

先頭に戻る

コマンドが見つからないエラー

このエラーは、 AWS CLI オペレーティングシステムがコマンドを見つけられないことを意味します。インストールが不完全であるか、更新が必要な可能性があります。

考えられる原因: AWS CLI インストールしたバージョンよりも新しい機能を使おうとしている、またはフォーマットが正しくない

エラーの例:

$ aws s3 copy usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help aws: error: argument subcommand: Invalid choice, valid choices are: ls | website cp | mv ....

コマンドの形式が正しくない場合や、機能がリリースされる前のバージョンを使用している場合は、さまざまなエラーが発生する可能性があります。これら 2 つの問題のエラーの解決方法の詳細については、「AWS CLI コマンドのフォーマットを確認してください。」および「最新バージョンの AWS CLIを実行していることを確認する」を参照してください。

先頭に戻る

考えられる原因: インストール後に端末を再起動する必要がある

エラーの例:

$ aws --version command not found: aws

awsを初めてインストールまたはアップデートしてもコマンドが見つからない場合は AWS CLI、PATHターミナルを再起動してアップデートを認識させる必要があるかもしれません。

先頭に戻る

考えられる原因: AWS CLI が完全にインストールされなかった

エラーの例:

$ aws --version command not found: aws

awsを初めてインストールまたは更新してもコマンドが見つからない場合は AWS CLI、完全にインストールされていない可能性があります。「AWS CLI のインストール、更新、アンインストール」に記載された、プラットフォーム用のステップに従って、再インストールを試してください。

先頭に戻る

考えられる原因: AWS CLI に権限がない(Linux)

Linux aws AWS CLI でを初めてインストールまたは更新してもコマンドが見つからない場合は、executeインストールしたフォルダに対する権限がない可能性があります。PATH AWS CLI インストール環境に対して次のコマンドを実行して、chmodに権限を付与します AWS CLI。

$ sudo chmod -R 755 /usr/local/aws-cli/

先頭に戻る

考えられる原因: インストール中にオペレーティングシステムの PATH が更新されなかった。

エラーの例:

$ aws --version command not found: aws

オペレーティングシステムの aws 環境変数への PATH 実行ファイルの追加が必要になる場合があります。 AWS CLI をに追加するにはPATH、ご使用のオペレーティングシステムに応じた以下の手順に従ってください。

Linux and macOS
  1. ユーザーディレクトリでシェルのプロファイルスクリプトを見つけます。現在使用しているシェルが不明な場合は、echo $SHELL を実行します。

    $ ls -a ~ . .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads
    • Bash - .bash_profile.profile.bash_login

    • Zsh.zshrc

    • Tcsh - .tcshrc.cshrc.login

  2. プロファイルスクリプトにエクスポートコマンドを追加します。次のコマンドは、local の bin を現在の PATH 変数に追加します。

    export PATH=/usr/local/bin:$PATH
  3. 現在のセッションに更新されたプロファイルをリロードします。

    $ source ~/.bash_profile
Windows
  1. Windows コマンドプロンプトで、/R path パラメータ で where コマンドを使用して検索する aws ファイルの場所を検索します。結果には、aws を含むすべてのフォルダを返します。

    C:\> where /R c:\ aws c:\Program Files\Amazon\AWSCLIV2\aws.exe ...

    デフォルトでは、 AWS CLI バージョン 2 は次の場所にあります。

    c:\Program Files\Amazon\AWSCLIV2\aws.exe
  2. Windows キーを押し、「environment variables」と入力します。

  3. 候補のリストから、[Edit environment variables for your account] (アカウントの環境変数を編集する) を選択します。

  4. PATH を選択して、編集 を選択します。

  5. 最初のステップで見つかったパスを [Variable value] (変数値) フィールドに追加します (例: C:\Program Files\Amazon\AWSCLIV2\aws.exe)。

  6. [OK] を 2 回選択して、新しい設定を適用します。

  7. 実行中のコマンドプロンプトを閉じ、コマンドプロンプトウィンドウを再度開きます。

先頭に戻る

aws --version」コマンドが、インストールしたのとは異なるバージョンを返す

ご利用の端末が、PATH予想と異なる値を返す可能性があります。 AWS CLI

考えられる原因: インストール後に端末を再起動する必要がある

aws コマンドで間違ったバージョンが表示される場合は、PATH の更新を認識させるため、端末の再起動が必要である場合があります。アクティブなターミナルだけでなく、開いているすべてのターミナルを閉じる必要があります。

先頭に戻る

考えられる原因: インストール後にシステムを再起動する必要がある

aws コマンドで間違ったバージョンが表示される場合は、PATH の更新を認識させるため、ターミナルの再起動が必要である場合があります。

先頭に戻る

考えられる原因:のバージョンが複数ある AWS CLI

AWS CLI を更新し、既存のインストールとは異なるインストール方法を使用した場合、複数のバージョンがインストールされる可能性があります。例えば、Linux や macOS の場合、現在のインストールでは pip を使用したが、.pkg インストールファイルを使用して更新を試みた場合 (特に PATH が古いバージョンを指している場合)、これにより何らかの競合が発生する可能性があります。

この問題を解決するには、AWS CLIのすべてのバージョンをアンインストールして、クリーンインストールを実行します。

すべてのバージョンをアンインストールした後、オペレーティングシステム用の手順に従って、AWS CLI バージョン 1 またはAWS CLI バージョン 2 の目的のバージョンをインストールします。

注記

バージョン 1 AWS CLI が既にインストールされている状態でバージョン 2 をインストールした後にこの問題が発生した場合は、 AWS CLI バージョン 1 AWS CLI からの移行時に「インストール手順」の移行手順に従ってください

先頭に戻る

aws --version" コマンドは、をアンインストールした後のバージョンを返します。 AWS CLI

これは、 AWS CLI システムのどこかにまだインストールされている場合によく起こります。

考えられる原因: アンインストール後に端末を再起動する必要がある

aws --version コマンドがまだ機能する場合は、端末の更新を認識させるため、端末の再起動が必要な場合があります。

先頭に戻る

考えられる原因: AWS CLI システムに複数のバージョンのがインストールされている、または最初にインストールしたときと同じアンインストール方法を使用していない。 AWS CLI

AWS CLI インストールに使用した方法とは異なる方法でをアンインストールしたり、複数のバージョンをインストールしたりすると、 AWS CLI が正しくアンインストールされない可能性があります。例えば、現在のインストールに pip を使用した場合は、pip を使用してアンインストールする必要があります。この問題を解決するには、 AWS CLI インストールに使用したのと同じ方法でアンインストールしてください。

  1. オペレーティングシステム用の手順、および AWS CLI バージョン 1AWS CLI バージョン 2 をアンインストールするための元のインストール方法に従います。

  2. 開いているターミナルをすべて閉じます。

  3. 目的の端末を開き、次のコマンドを入力して、バージョンが返されないことを確認します。

    $ aws --version command not found: aws

    出力にまだバージョンが表示されている場合は、 AWS CLI そのバージョンが別の方法でインストールされたか、複数のバージョンが存在する可能性があります。どの方法でをインストールしたかわからない場合は AWS CLI、バージョン出力が受信されなくなるまで、AWS CLIAWS CLI ご使用のオペレーティングシステムに適したバージョン 1 とバージョン 2 の各アンインストール方法の指示に従ってください。

    注記

    パッケージマネージャーを使用して AWS CLI をインストールした場合 (pipaptbrew など)は、同じパッケージマネージャーを使用してアンインストールする必要があります。パッケージのすべてのバージョンをアンインストールする方法については、パッケージマネージャーの手順に従ってください。

先頭に戻る

AWS CLI パラメータ名が不完全なコマンドを処理しました。

考えられる原因: AWS CLI パラメータの認識されている省略形を使用しました

AWS CLI は Python を使用して構築されているため、allow_abbrevは引数を含め Python AWS CLI argparse ライブラリを使用します。パラメータの省略形はによって認識され、処理されます。 AWS CLI

create-change-set以下のコマンド例では、スタック名を変更します。 CloudFormation --change-set-nパラメータはの省略形として認識され--change-set-name、 AWS CLI はコマンドを処理します。

$ aws cloudformation create-change-set --stack-name my-stack --change-set-n my-change-set

省略形が複数のコマンドに該当する場合、パラメータは省略形として認識されません。

create-change-set以下のコマンド例では、スタック名を変更しています。 CloudFormation パラメータ --change-set- は、省略形として認識されません。これは、--change-set-name--change-set-type など、複数のパラメータに該当する場合があるためです。そのため、 AWS CLI はコマンドを処理しません

$ aws cloudformation create-change-set --stack-name my-stack --change-set- my-change-set
警告

パラメータの省略形を意図的に使用しないでください。これらは信頼性が低く、下位互換性もありません。省略形の混乱を生じるような新しいパラメータをコマンドに追加すると、コマンドが壊れてしまいます。

さらに、パラメータが単一値の引数である場合、コマンドで予期しない動作が発生する可能性があります。単一値の引数のインスタンスを複数渡すと、最後のインスタンスのみが実行されます。次の例で、パラメータ --filters は単一値の引数です。パラメータ --filters とパラメータ --filter が指定されています。--filter パラメータは --filters の省略形です。これにより、--filters のインスタンスが 2 つ適用されることになるため、最後の --filter 引数のみが実行されます。

$ aws ec2 describe-vpc-peering-connections \ --filters Name=tag:TagName,Values=VpcPeeringConnection \ --filter Name=status-code,Values=active

予期しない動作を防ぐために、コマンドを実行する前に有効なパラメータを使用していることを確認してください。

先頭に戻る

アクセス拒否エラー

考えられる原因: AWS CLI プログラムファイルに「実行」権限がない

Linux または macOS で、aws プログラムに呼び出し元ユーザーの実行許可があることを確認します。通常、この権限は 755 に設定されます。

ユーザーに実行権限を付与するには、~/.local/bin/aws をご使用のコンピュータのプログラムへのパスに置き換えて、以下のコマンドを実行します。

$ chmod +x ~/.local/bin/aws

先頭に戻る

考えられる原因: IAM ID にオペレーションを実行する許可がない。

エラーの例:

$ aws s3 ls An error occurred (AcessDenied) when calling the ListBuckets operation: Access denied.

AWS CLI コマンドを実行すると、IAM アカウントまたはロールに関連付けられる認証情報を使用して、 AWS ユーザーに代わって操作が実行されます。アタッチされたポリシーは、 AWS CLIで実行するコマンドに対応する API アクションを呼び出す許可をユーザーに付与する必要があります。

ほとんどのコマンドは、コマンド名と一致する名前を指定して 1 つのアクションを呼び出します。ただし、aws s3 sync などのカスタムコマンドは複数の API を呼び出します。--debug オプションを使用して、コマンドが呼び出す API を確認できます。

ユーザーまたはロールにポリシーによって適切な権限が割り当てられていることが確実な場合は、 AWS CLI コマンドが想定どおりの認証情報を使用していることを確認してください。認証情報に関する次のセクションを参照して、使用している認証情報が想定どおりのものであることを確認してください。 AWS CLI

IAM アクセス許可の割り当ての詳細については、「IAM ユーザーガイド」の「アクセス管理の概要: アクセス許可とポリシー」を参照してください。

先頭に戻る

無効な認証情報とキーエラー

エラーの例:

$ aws s3 ls An error occurred (InvalidAccessKeyId) when calling the ListBuckets operation: The AWS Access Key Id you provided does not exist in our records.
$ aws s3 ls An error occurred (InvalidClientTokenId) when calling the ListBuckets operation: The security token included in the request is invalid.
考えられる原因: AWS CLI が誤った認証情報を読み取っているか、予期しない場所から読み取っていることが原因です。

AWS CLI が想定と異なる場所から認証情報を読み取っているか、key pair 情報が正しくない可能性があります。aws configure list を実行して、使用される認証情報を確認することができます。

次の例は、デフォルトのプロファイルに使用される認証情報をチェックする方法を示しています。

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************XYVA shared-credentials-file secret_key ****************ZAGY shared-credentials-file region us-west-2 config-file ~/.aws/config

次の例は、名前付きプロファイルの認証情報をチェックする方法を示しています。

$ aws configure list --profile saanvi Name Value Type Location ---- ----- ---- -------- profile saanvi manual --profile access_key **************** shared-credentials-file secret_key **************** shared-credentials-file region us-west-2 config-file ~/.aws/config

キーペアの詳細を確認するには、config および credentials ファイルを確認します。config ファイルと credentials ファイルの詳細については、「設定ファイルと認証情報ファイルの設定」を参照してください。認証情報の優先順位を含む、認証情報と認証の詳細については、「認証とアクセス認証情報」を参照してください。

先頭に戻る

考えられる原因: コンピュータのクロックが同期していない

有効な認証情報を使用している場合は、クロックが同期していない可能性があります。Linux または macOS では、date を実行して時刻を確認します。

$ date

システムクロックのずれが数分以内の場合は、ntpd を使用して同期します。

$ sudo service ntpd stop $ sudo ntpdate time.nist.gov $ sudo service ntpd start $ ntpstat

Windows では、コントロールパネルで日付と時刻オプションを使用してシステムクロックを設定します。

先頭に戻る

署名がエラーと一致しない

エラーの例:

$ aws s3 ls An error occurred (SignatureDoesNotMatch) when calling the ListBuckets operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.

AWS CLI はコマンドを実行すると、 AWS AWS 適切なサービス操作を実行するように暗号化された要求をサーバに送信します。認証情報 (アクセスキーとシークレットキー) は暗号化の対象となり、リクエストを行う人を認証できるようになります AWS 。このプロセスが正しく行われない原因には、次のようにいくつかあります。

考えられる原因:時計がサーバーと同期していない AWS

リプレイ攻撃への保護対策として、現在の時刻を暗号化/復号プロセス中に使用できます。クライアントとサーバーの時間に許容範囲外の差がある場合、プロセスが失敗し、リクエストが拒否される可能性があります。このエラーは、クロックがホストマシンのクロックと同期していない仮想マシンでコマンドを実行した場合にも発生します。考えられる原因の 1 つは、仮想マシンが休止した後、ウェイクアップしてからホストマシンとクロックを同期するまで時間がかかる場合です。

Linux または macOS では、date を実行して時刻を確認します。

$ date

システムクロックのずれが数分以内の場合は、ntpd を使用して同期します。

$ sudo service ntpd stop $ sudo ntpdate time.nist.gov $ sudo service ntpd start $ ntpstat

Windows では、コントロールパネルで日付と時刻オプションを使用してシステムクロックを設定します。

先頭に戻る

考えられる原因:オペレーティングシステムが、 AWS 特定の特殊文字を含むキーを誤って処理している

AWS キーに、、、などの特定の特殊文字が含まれていると-+/、オペレーティングシステムバリアントによっては文字列が不適切に処理され%、キー文字列が正しく解釈されないことがあります。

作成時に新しいインスタンスに認証情報ファイルを作成するツールなど、他のツールやスクリプトを使用してキーを処理する場合、それらのツールやスクリプトが特殊文字を独自に処理し、認識できなくなる可能性があります。 AWS

シークレットキーを再生成して、問題の発生原因となっている特殊文字を含まないキーを取得することをお勧めします。

先頭に戻る

Windows コンソールでエラーが見つからなかった

エラーの例:

$ aws s3 ls No Windows console found. Are you running cmd.exe?

AWS CLI コマンドを使用すると、「Windows コンソールが見つかりません」というメッセージが表示されます。Are you running cmd.exe? (Winows コンソールが見つかりませんでした。cmd.exe を実行しますか?)」 というエラーメッセージが表示されます。これは通常、 AWS CLI バージョン 1 でインストールした Python prompt_toolkit が古い場合に発生するエラーです。この問題を解決するには、Python ウェブサイトで最新バージョンの prompt_toolkit をインストールしてください。

先頭に戻る

SSL 証明書のエラー

考えられる原因: AWS CLI がプロキシの証明書を信頼していない

エラーの例:

$ aws s3 ls [SSL: CERTIFICATE_ VERIFY_FAILED] certificate verify failed

AWS CLI コマンドを使用すると、[SSL: CERTIFICATE_ VERIFY_FAILED] certificate verify failedエラーメッセージが表示されます。これは、 AWS CLI プロキシの証明書が自己署名されていて、会社が認証局 (CA) に設定されているなどの要因により、プロキシの証明書を信頼していないことが原因です。これにより、 AWS CLI はローカル CA レジストリで会社の CA ルート証明書を見つけることができなくなります。

これを修正するには、.pemca_bundle設定ファイル設定、--ca-bundleコマンドラインオプション、AWS_CA_BUNDLEまたは環境変数を使用して、 AWS CLI 会社ファイルの検索場所を指定します。

先頭に戻る

考えられる原因: 設定が正しい CA ルート証明書の場所を指していない

エラーの例:

$ aws s3 ls SSL validation failed for regionname [Errno 2] No such file or directory

これは、認証局 (CA) バンドルファイルの場所が、 AWS CLIで正しく設定されていないことによって発生します。この問題を解決するには、企業の .pem ファイルの場所を確認し、ca_bundle 設定ファイルの設定、--ca-bundle コマンドラインオプション、または AWS_CA_BUNDLE 環境変数を使用して、 AWS CLI の設定を更新します。

先頭に戻る

考えられる原因:設定が正しいものを使用していない AWS リージョン

エラーの例:

$ aws s3 ls [SSL: CERTIFICATE_ VERIFY_FAILED] certificate verify failed

AWS のサービス 指定したものが使用できない場合や、リソースが別の場所にある場合は、 AWS リージョン エラーや予期しない結果が生じる可能性があります AWS リージョン。トラブルシューティングステップについては、「AWS リージョンAWS CLI 使用しているコマンドを確認してください。」を参照してください。

先頭に戻る

考えられる原因:TLS バージョンを更新する必要がある

エラーの例:

$ aws s3 ls [SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled

AWS のサービス は、デバイスの TLS バージョンと互換性のない TLS バージョンを使用しています。この問題を解決するには、サポートされている TLS バージョンに更新してください。詳細については、「TLS の最小バージョンの指定」を参照してください。

先頭に戻る

無効な JSON エラー

エラーの例:

$ aws dynamodb update-table \ --provisioned-throughput '{"ReadCapacityUnits":15,WriteCapacityUnits":10}' \ --table-name MyDDBTable Error parsing parameter '--provisioned-throughput': Invalid JSON: Expecting property name enclosed in double quotes: line 1 column 25 (char 24) JSON received: {"ReadCapacityUnits":15,WriteCapacityUnits":10}

AWS CLI コマンドを使用すると、"Invalid JSON" エラーメッセージが表示されます。これは通常、予想される JSON 形式でコマンドを入力したときに JSON AWS CLI を正しく読み取れない場合に表示されるエラーです。

考えられる原因: AWS CLI が使用する有効な JSON を入力しなかった

コマンドに有効な JSON を入力していることを確認します。形式に問題がある JSON には JSON バリデータを使用することをお勧めします。

コマンドラインでより高度な JSON を使用するには、jq のようなコマンドライン JSON プロセッサを使用して JSON 文字列を作成することを検討してください。詳細についてはjq、の jq リポジトリを参照してくださいGitHub

先頭に戻る

考えられる原因:ターミナルの引用ルールにより、有効な JSON がに送信されなくなっています。 AWS CLI

AWS CLI がコマンドから何かを受信する前に、端末は独自の引用ルールとエスケープルールを使用してコマンドを処理します。ターミナルの書式ルールにより、コマンドが AWS CLIに渡される前に JSON コンテンツの一部が省かれている可能性があります。コマンドを作成するときは、必ずターミナルの引用ルールを使用してください。

トラブルシューティングを行うには、echo コマンドを使用して、シェルがパラメータをどのように処理しているかを確認します。

$ echo {"ReadCapacityUnits":15,"WriteCapacityUnits":10} ReadCapacityUnits:15 WriteCapacityUnits:10
$ echo '{"ReadCapacityUnits":15,"WriteCapacityUnits":10}' {"ReadCapacityUnits":15,"WriteCapacityUnits":10}

有効な JSON が返されるまでコマンドを変更します。

詳細なトラブルシューティングについては、--debug パラメータを使用して、 AWS CLIに渡された内容を正確に表示するデバッグログを表示します。

$ aws dynamodb update-table \ --provisioned-throughput '{"ReadCapacityUnits":15,WriteCapacityUnits":10}' \ --table-name MyDDBTable \ --debug 2022-07-19 22:25:07,741 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/1.18.147 Python/2.7.18 Linux/5.4.196-119.356.amzn2int.x86_64 botocore/1.18.6 2022-07-19 22:25:07,741 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['dynamodb', 'update-table', '--provisioned-throughput', '{"ReadCapacityUnits":15,WriteCapacityUnits":10}', '--table-name', 'MyDDBTable', '--debug']

ターミナルの引用ルールを使用して、 AWS CLIに送信されるときに JSON 入力で発生する問題を修正します。引用ルールの詳細については、「AWS CLI での文字列の引用符」を参照してください。

注記

有効な JSON をに送る際に問題が生じた場合は AWS CLI、BLOB を使用して JSON データをに直接渡すことで、JSON データ入力に関する端末の引用ルールを回避することをお勧めします。 AWS CLI BLOB の詳細については、「blob」を参照してください。

先頭に戻る

追加リソース

AWS CLI 問題に関するその他のヘルプについては、AWS CLIGitHub上のコミュニティまたはコミュニティにアクセスしてください。AWS re:Post

先頭に戻る