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

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

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

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

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

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

先頭に戻る

AWS CLI コマンドのフォーマットを確認する

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

特定のコマンドの構造化方法の詳細については、AWS CLI バージョン 2 リファレンスガイド を参照してください。

先頭に戻る

AWS CLI コマンドが を使用している AWS リージョン ことを確認します。

注記

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

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

リソース AWS リージョン に正しい を使用していることを確認します。

先頭に戻る

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

コマンドが存在しないことを示すエラー、またはAWS CLI バージョン 2 リファレンスガイドで使用可能なパラメータを認識しないことを示すエラーが表示された場合は、まずコマンドが正しくフォーマットされていることを確認します。形式が正しい場合は、最新バージョンの 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 コマンド履歴ログを有効にして確認する

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

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

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

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

  • ステータスコード

  • 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 CLI で を最初にインストールまたは更新した後にawsコマンドが見つからない場合、インストールしたフォルダに対するexecuteアクセス許可がない可能性があります。 AWS CLI のインストールPATHに を使用して次のコマンドを実行し、 へのアクセス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 の目的のバージョンをインストールします。

注記

AWS CLI バージョン 1 の既存のインストールで AWS CLI バージョン 2 をインストールした後にこの問題が発生した場合は、AWS CLI バージョン 1 から AWS CLI バージョン 2 をインストールする

先頭に戻る

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 CLI バージョン 1 AWS CLI バージョン 2 の各アンインストール方法の手順に従います。

    注記

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

先頭に戻る

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

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

AWS CLI は Python を使用して構築されているため、 は allow_abbrev引数を含む Python argparseライブラリ AWS CLI を使用します。パラメータの略語は によって認識 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

先頭に戻る

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

エラーの例:

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

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

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

ユーザーまたはロールにポリシーによって割り当てられた適切なアクセス許可があることを確認した場合は、 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 可能性があります。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 ファイルの詳細については、「の設定と認証情報ファイルの設定 AWS CLI」を参照してください。認証情報の優先順位を含む、認証情報と認証の詳細については、「の認証認証情報とアクセス認証情報 AWS CLI」を参照してください。

先頭に戻る

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

有効な認証情報を使用している場合は、クロックが同期していない可能性があります。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 されなくなったものに変換される可能性があります。

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

先頭に戻る

SSL 証明書エラー

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

エラーの例:

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

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

これを修正するには、ca_bundle設定.pemファイル設定、--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 CLI コマンドが を使用している AWS リージョン ことを確認します。」を参照してください。

先頭に戻る

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

エラーの例:

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

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

先頭に戻る

無効な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使用法を得るには、 などのコマンドラインJSONプロセッサを使用してJSON文字列を作成するjqことを検討してください。の詳細についてはjq、「」の「jq リポジトリ」を参照してくださいGitHub

先頭に戻る

考えられる原因: ターミナルのクォーティングルールにより、 への有効な送信が妨げJSONられている AWS CLI

がコマンドから何か AWS CLI を受信する前に、ターミナルは独自のクォーティングルールとエスケープルールを使用してコマンドを処理します。ターミナルのフォーマットルールにより、コマンドが に渡される前に一部のJSONコンテンツが削除される場合があります AWS CLI。コマンドを作成するときは、必ずターミナルの引用ルールを使用してください。

トラブルシューティングを行うには、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']

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

注記

JSON で を有効にできない場合は AWS CLI、Blobs を使用してJSONデータを JSONに直接渡すことで、ターミナルのデータ入力の引用ルールをバイパスすることをお勧めします AWS CLI。BLOB の詳細については、「blob」を参照してください。

先頭に戻る

追加リソース

AWS CLI 問題に関するその他のヘルプについては、 GitHubまたは AWS re:PostAWS CLI コミュニティ を参照してください。

先頭に戻る