Résoudre les erreurs AWS CLI - AWS Command Line Interface

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résoudre les erreurs AWS CLI

Cette section décrit les erreurs courantes et les étapes de résolution des problèmes à suivre pour résoudre votre problème. Nous vous suggérons de suivre d'abord le dépannage général.

Résolution des problèmes généraux à essayer en premier

Si vous recevez un message d'erreur ou rencontrez un problème avec le AWS CLI, nous vous suggérons de suivre les conseils généraux suivants pour vous aider à résoudre le problème.

Retour en haut de page

Vérifiez le formatage AWS CLI de vos commandes

Si vous recevez un message d'erreur indiquant qu'une commande n'existe pas ou qu'elle ne reconnaît pas un paramètre (Parameter validation failed) qui, selon la documentation, est disponible, votre commande est peut-être mal formatée. Nous vous conseillons de vérifier les points suivants :

Pour plus d'informations sur la manière dont une commande spécifique doit être structurée, consultez le version 2 du guide de référence.

Retour en haut de page

Vérifiez que Région AWS votre AWS CLI commande utilise

Note

Vous devez spécifier un Région AWS lorsque vous utilisez le AWS CLI, soit explicitement, soit en définissant une région par défaut. Pour une liste de tous les éléments Régions AWS que vous pouvez spécifier, consultez la section AWS Régions et points de terminaison dans le Référence générale d'Amazon Web Services. Les Région AWS désignateurs utilisés AWS CLI sont les mêmes que ceux que vous voyez dans les AWS Management Console URL et les points de terminaison de service.

Des erreurs ou des résultats inattendus peuvent se produire si un Service AWS n'est pas disponible pour ce que vous avez spécifié Région AWS ou si vos ressources se trouvent dans un autre endroit Région AWS. Par ordre de priorité, le Région AWS est défini de la manière suivante :

  • L'option --region de ligne de commande.

  • Variable d'AWS_REGIONenvironnement compatible avec le SDK.

  • La variable d'AWS_DEFAULT_REGIONenvironnement.

  • Le réglage du regionprofil.

Vérifiez que vous utilisez Région AWS les bonnes ressources.

Retour en haut de page

Vérifiez que vous utilisez une version récente du AWS CLI

Si vous recevez un message d'erreur indiquant qu'une commande n'existe pas ou qu'elle ne reconnaît pas un paramètre indiqué comme disponible dans le de référence AWS CLI version 2, vérifiez d'abord que votre commande est correctement formatée. Si le formatage est correct, nous vous recommandons de passer à la version la plus récente du AWS CLI. Des versions mises à jour AWS CLI sont publiées presque tous les jours ouvrables. De nouveaux AWS services, fonctionnalités et paramètres sont introduits dans ces nouvelles versions du AWS CLI. Le seul moyen d'accéder à ces nouveaux services, fonctions ou paramètres consiste à effectuer une mise à niveau vers une version publiée après la première introduction de cet élément.

La façon dont vous mettez à jour votre version du AWS CLI dépend de la manière dont vous l'avez initialement installée, comme décrit dans Installez ou mettez à jour la dernière version du AWS CLI.

Si vous avez utilisé l'un des programmes d'installation fournis, vous devrez peut-être supprimer l'installation existante avant de télécharger et d'installer la dernière version de votre système d'exploitation.

Retour en haut de page

Utilisez l'--debugoption

Lorsque le AWS CLI signale une erreur que vous ne comprenez pas immédiatement ou produit des résultats auxquels vous ne vous attendez pas, vous pouvez obtenir plus de détails sur l'erreur en exécutant à nouveau la commande avec l'--debugoption. Avec cette option, les AWS CLI résultats fournissent des informations détaillées sur chaque étape nécessaire au traitement de votre commande. Les détails de la sortie peuvent vous aider à déterminer à quel moment l'erreur se produit et fournissent des indices sur son origine.

Vous pouvez envoyer le résultat dans un fichier texte pour une révision ultérieure, ou pour l'envoyer AWS Support lorsqu'on vous le demande.

Lorsque vous incluez l'--debugoption, certains des détails incluent :

  • La recherche d'informations d'identification

  • L’analyse des paramètres fournis

  • Construction de la requête envoyée aux AWS serveurs

  • Le contenu de la demande envoyée à AWS

  • Le contenu de la réponse brute

  • La sortie formatée

Voici un exemple de commande exécutée avec et sans l'option --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" } ] }

Retour en haut de page

Activer et consulter les journaux d'historique des AWS CLI commandes

Vous pouvez activer les journaux d'historique des AWS CLI commandes à l'aide du paramètre de cli_history fichier. Après avoir activé ce paramètre, AWS CLI enregistre l'historique des aws commandes.

Vous pouvez ainsi répertorier votre historique à l'aide de la aws history list commande et utiliser les command_ids obtenus dans la aws history show commande pour plus de détails. Pour plus d'informations, consultez le guide AWS CLI de référence.

Lorsque vous incluez l'--debugoption, certains des détails incluent :

  • Appels d'API effectués vers botocore

  • Codes d’état

  • Réponses HTTP

  • En-têtes

  • Codes de retour

Vous pouvez utiliser ces informations pour confirmer que les données des paramètres et les appels d'API se comportent comme prévu, puis déduire à quelle étape du processus votre commande échoue.

Retour en haut de page

Confirmez AWS CLI que votre

Diverses erreurs peuvent se produire si vos credentials fichiers config et ou votre utilisateur ou rôle IAM ne sont pas correctement configurés. Pour plus d'informations sur la résolution des erreurs liées aux credentials fichiers config et ou à votre utilisateur ou à vos rôles IAM, consultez Erreurs d'accès refusé etInformations d'identification non valides et erreurs clés.

Retour en haut de page

Erreurs de commande non trouvées

Cette erreur signifie que le système d'exploitation ne trouve pas la AWS CLI commande. L'installation est peut-être incomplète ou nécessite une mise à jour.

Cause possible : vous essayez d'utiliser une AWS CLI fonctionnalité plus récente que la version que vous avez installée, ou vous avez un formatage incorrect

Exemple de texte d'erreur :

$ 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 ....

Diverses erreurs peuvent se produire si votre commande est mal formatée ou si vous utilisez une version antérieure à la publication de la fonctionnalité. Pour plus d'informations sur la résolution des erreurs liées à ces deux problèmes, consultez Vérifiez le formatage AWS CLI de vos commandes etVérifiez que vous utilisez une version récente du AWS CLI.

Retour en haut de page

Cause possible : le terminal doit être redémarré après l'installation

Exemple de texte d'erreur :

$ aws --version command not found: aws

Si la aws commande est introuvable après l'avoir installée ou mise à jour pour la première fois AWS CLI, vous devrez peut-être redémarrer votre terminal pour qu'il reconnaisse les PATH mises à jour.

Retour en haut de page

Cause possible : L'installation AWS CLI n'a pas été complète

Exemple de texte d'erreur :

$ aws --version command not found: aws

Si la aws commande est introuvable après l'installation ou la mise à jour initiale AWS CLI, il se peut qu'elle n'ait pas été complètement installée. Essayez de le réinstaller en suivant les étapes correspondant à votre plateforme dans Installez ou mettez à jour la dernière version du AWS CLI.

Retour en haut de page

Cause possible : Le AWS CLI n'a pas d'autorisations (Linux)

Si la aws commande est introuvable après l'avoir installée ou mise à jour pour la AWS CLI première fois sous Linux, il est possible qu'elle ne dispose pas des execute autorisations nécessaires pour le dossier dans lequel elle a été installée. Exécutez la commande suivante avec le PATH pour votre AWS CLI installation, afin de fournir chmod des autorisations à AWS CLI :

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

Retour en haut de page

Cause possible : le système d'exploitation n'PATHa pas été mis à jour lors de l'installation

Exemple de texte d'erreur :

$ aws --version command not found: aws

Vous allez peut-être devoir ajouter le fichier exécutable aws à la variable d'environnement PATH de votre système d'exploitation. Pour ajouter le AWS CLI à votrePATH, suivez les instructions ci-dessous pour votre système d'exploitation.

Linux and macOS
  1. Recherchez le script de profil de votre shell dans votre répertoire utilisateur. Si vous n'êtes pas certain du shell utilisé, exécutez echo $SHELL.

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

    • Zsh.zshrc

    • Tcsh.tcshrc, .cshrc, ou .login

  2. Ajoutez une commande d'exportation à votre script de profil. La commande suivante ajoute votre bin local à la PATH variable actuelle.

    export PATH=/usr/local/bin:$PATH
  3. Rechargez le profil mis à jour dans votre session en cours.

    $ source ~/.bash_profile
Windows
  1. Dans une invite de commande Windows, utilisez la where commande avec le /R path paramètre pour trouver l'emplacement du aws fichier. Les résultats renvoient tous les dossiers contenantaws.

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

    Par défaut, la AWS CLI version 2 se trouve dans :

    c:\Program Files\Amazon\AWSCLIV2\aws.exe
  2. Appuyez sur la touche Windows et entrez environment variables.

  3. Dans la liste des suggestions, choisissez Modifier les variables d'environnement pour votre compte.

  4. Choisissez PATH, puis Modifier.

  5. Ajoutez le chemin que vous avez trouvé lors de la première étape dans le champ Valeur variable, par exemple,C:\Program Files\Amazon\AWSCLIV2\aws.exe.

  6. Sélectionnez OK deux fois pour appliquer les nouveaux paramètres.

  7. Fermez toute invite de commande en cours d'exécution et rouvrez une invite de commande.

Retour en haut de page

La commande « aws --version » renvoie une version différente de celle que vous avez installée

Il se peut que votre terminal renvoie une valeur différente PATH de AWS CLI celle à laquelle vous vous attendiez.

Cause possible : le terminal doit être redémarré après l'installation

Si la aws commande affiche une version incorrecte, vous devrez peut-être redémarrer votre terminal pour qu'il reconnaisse les PATH mises à jour. Tous les terminaux ouverts doivent être fermés, pas seulement votre terminal actif.

Retour en haut de page

Cause possible : le système doit être redémarré après l'installation

Si la aws commande affiche la mauvaise version et que le redémarrage du terminal n'a pas fonctionné, vous devrez peut-être redémarrer votre système pour qu'il reconnaisse vos PATH mises à jour.

Retour en haut de page

Cause possible : vous disposez de plusieurs versions du AWS CLI

Si vous avez mis à jour AWS CLI et utilisé une méthode d'installation différente de celle de votre installation préexistante, plusieurs versions peuvent être installées. Par exemple, si vous utilisez Linux ou macOS pip pour votre installation actuelle, mais que vous avez essayé de procéder à la mise à jour à l'aide du fichier d'.pkginstallation, cela peut provoquer des conflits, en particulier si vous PATH pointez vers l'ancienne version.

Pour résoudre ce problème, désinstallez toutes les versions de AWS CLI et effectuez une nouvelle installation.

Après avoir désinstallé toutes les versions, suivez les instructions adaptées à votre système d'exploitation pour installer la AWS CLI version 1 ou AWS CLI 2 de votre choix.

Note

Si cela se produit après avoir installé la AWS CLI version 2 avec une installation préexistante de la AWS CLI version 1, suivez les instructions de migration figurant dans les 1. AWS CLIinstructions de migration vers la version 2

Retour en haut de page

La commande « aws --version » renvoie une version après avoir désinstallé le AWS CLI

Cela se produit souvent lorsqu'il y en a encore un AWS CLI installé quelque part sur votre système.

Cause possible : le terminal doit être redémarré après la désinstallation

Si la aws --version commande fonctionne toujours, vous devrez peut-être redémarrer votre terminal pour qu'il reconnaisse les mises à jour du terminal.

Retour en haut de page

Cause possible : vous disposez de plusieurs versions de AWS CLI votre système ou vous n'avez pas utilisé la même méthode de désinstallation que celle que vous avez utilisée pour installer le AWS CLI

La désinstallation AWS CLI peut ne pas être correcte si vous l'avez désinstallée AWS CLI en utilisant une méthode différente de celle que vous avez utilisée pour l'installer, ou si vous avez installé plusieurs versions. Par exemple, si vous l'avez utilisé pip pour votre installation actuelle, vous devez l'utiliser pip pour le désinstaller. Pour résoudre ce problème, désinstallez-le AWS CLI en utilisant la même méthode que celle que vous avez utilisée pour l'installer.

  1. Suivez les instructions correspondant à votre système d'exploitation et à votre méthode d'installation d'origine pour désinstaller les AWS CLI versions 1 et AWS CLI 2.

  2. Fermez tous les terminaux que vous avez ouverts.

  3. Ouvrez votre terminal préféré, entrez la commande suivante et confirmez qu'aucune version n'est renvoyée.

    $ aws --version command not found: aws

    Si une version est toujours répertoriée dans la sortie, AWS CLI elle a probablement été installée à l'aide d'une autre méthode ou il existe plusieurs versions. Si vous ne savez pas quelle méthode vous avez installée AWS CLI, suivez les instructions pour chaque méthode de désinstallation pour les AWS CLI versions 1 et AWS CLI 2 appropriées à votre système d'exploitation jusqu'à ce qu'aucune sortie de version ne soit reçue.

    Note

    Si vous avez utilisé un gestionnaire de packages pour installer le AWS CLI (pipapt,brew,, etc.), vous devez utiliser le même gestionnaire de packages pour le désinstaller. Assurez-vous de suivre les instructions fournies par le gestionnaire de packages pour savoir comment désinstaller toutes les versions d'un package.

Retour en haut de page

Le a AWS CLI traité une commande avec un nom de paramètre incomplet

Cause possible : vous avez utilisé une abréviation reconnue du AWS CLI paramètre

Comme AWS CLI il est construit en utilisant Python, il AWS CLI utilise la argparse bibliothèque Python, y compris l'allow_abbrevargument. Les abréviations des paramètres sont reconnues par le AWS CLI et traitées.

L'exemple de commande suivant modifie le nom de la CloudFormation pile. Le paramètre --change-set-n est reconnu comme une abréviation de--change-set-name, et AWS CLI traite la commande.

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

Lorsque votre abréviation peut être composée de plusieurs commandes, le paramètre n'est pas reconnu comme une abréviation.

L'exemple de commande suivant modifie le nom de la CloudFormation pile. Le paramètre n'--change-set-est pas reconnu comme une abréviation, car il existe plusieurs paramètres dont il peut être une abréviation, tels que --change-set-name et--change-set-type. Par conséquent, la commande AWS CLI n'est pas traitée.

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

N'utilisez pas délibérément des abréviations de paramètres. Ils ne sont pas fiables et ne sont pas rétrocompatibles. Si de nouveaux paramètres sont ajoutés à une commande qui confond vos abréviations, vos commandes seront annulées.

En outre, si le paramètre est un argument à valeur unique, il peut entraîner un comportement inattendu de vos commandes. Si plusieurs instances d'un argument à valeur unique sont transmises, seule la dernière instance sera exécutée. Dans l'exemple suivant, le paramètre --filters est un argument à valeur unique. Les paramètres --filters et --filter sont spécifiés. Le --filter paramètre est l'abréviation de--filters. Cela entraîne l'application de --filters deux instances et seul le dernier --filter argument s'applique.

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

Vérifiez que vous utilisez des paramètres valides avant d'exécuter une commande afin d'éviter tout comportement inattendu.

Retour en haut de page

Erreurs d'accès refusé

Cause possible : le fichier AWS CLI programme n'a pas l'autorisation « Exécuter »

Sous Linux ou macOS, assurez-vous que le aws programme dispose des autorisations d'exécution pour l'utilisateur appelant. En règle générale, les autorisations sont définies sur 755.

Pour ajouter l'autorisation d'exécution pour votre utilisateur, exécutez la commande suivante, en remplaçant ~/.local/bin/aws par le chemin d'accès au programme sur votre ordinateur :

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

Retour en haut de page

Cause possible : votre identité IAM n'est pas autorisée à effectuer l'opération

Exemple de texte d'erreur :

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

Lorsque vous exécutez une AWS CLI commande, les AWS opérations sont effectuées en votre nom, à l'aide des informations d'identification qui vous associent à un compte ou à un rôle IAM. Les politiques associées doivent vous autoriser à appeler les actions d'API correspondant aux commandes que vous exécutez avec le AWS CLI.

La plupart des commandes appellent une seule action avec un nom correspondant au nom de la commande. Cependant, les commandes personnalisées comme aws s3 sync appellent plusieurs API. Vous pouvez voir quelles API sont appelées par une commande à l'aide de l'option --debug.

Si vous êtes certain que l'utilisateur ou le rôle dispose des autorisations appropriées attribuées par la politique, assurez-vous que votre AWS CLI commande utilise les informations d'identification que vous attendez. Consultez la section suivante sur les informations d'identification pour vérifier que les AWS CLI informations d'identification utilisées sont celles que vous attendez.

Pour plus d'informations sur l'attribution d'autorisations IAM, voir Présentation de la gestion des accès : autorisations et politiques dans le guide de l'utilisateur IAM.

Retour en haut de page

Informations d'identification non valides et erreurs clés

Exemple de texte d'erreur :

$ 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.
Cause possible : les informations d'identification AWS CLI sont en train de lire des informations d'identification incorrectes ou proviennent d'un emplacement inattendu

AWS CLI Il est possible qu'ils lisent les informations d'identification à un endroit différent de celui prévu ou que les informations relatives à votre paire de clés soient incorrectes. Vous pouvez exécuter aws configure list pour confirmer quelles informations d'identification sont utilisées.

L'exemple suivant montre comment vérifier les informations d'identification utilisées pour le profil par défaut.

$ 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

L'exemple suivant montre comment vérifier les informations d'identification utilisées pour un profil nommé.

$ 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

Pour confirmer les détails de votre paire de clés, consultez vos credentials fichiers config et. Pour plus d'informations sur credentials les fichiers config et, voirParamètres des fichiers de configuration et d'informations d'identification. Pour plus d'informations sur les informations d'identification et l'authentification, y compris la priorité des informations d'identification, consultezAuthentification et identifiants d'accès.

Retour en haut de page

Cause possible : l'horloge de votre ordinateur n'est pas synchronisée

Si vous utilisez des informations d'identification valides, votre horloge est peut-être désynchronisée. Sur Linux ou macOS, exécutez date pour vérifier l'heure.

$ date

Si l'horloge de votre système n'est pas exacte en quelques minutes, utilisez ntpd pour la synchroniser.

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

Sous Windows, utilisez les options de date et d'heure du Panneau de configuration pour configurer votre horloge système.

Retour en haut de page

La signature ne correspond pas aux erreurs

Exemple de texte d'erreur :

$ 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.

Lorsque le AWS CLI exécute une commande, il envoie une demande cryptée aux AWS serveurs pour effectuer les opérations de AWS service appropriées. Vos informations d'identification (clé d'accès et clé secrète) sont impliquées dans le chiffrement et permettent AWS d'authentifier la personne qui fait la demande. Plusieurs éléments peuvent interférer avec le bon fonctionnement de ce processus, comme suit :

Cause possible : votre horloge n'est pas synchronisée avec les AWS serveurs

Pour vous aider à vous protéger contre les attaques par relecture, l'heure actuelle peut être utilisée pendant le processus de chiffrement/déchiffrement. Si la différence d'heure entre le client et le serveur est supérieure à la valeur autorisée, le processus peut échouer et la demande est rejetée. Cela peut également se produire lorsque vous exécutez une commande dans une machine virtuelle dont l'horloge est désynchronisée par rapport à l'horloge de la machine hôte. L'une des causes possibles est le fait que la machine virtuelle hiberne et qu'il faut un certain temps après le réveil pour synchroniser l'horloge avec la machine hôte.

Sur Linux ou macOS, exécutez date pour vérifier l'heure.

$ date

Si l'horloge de votre système n'est pas exacte en quelques minutes, utilisez ntpd pour la synchroniser.

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

Sous Windows, utilisez les options de date et d'heure du Panneau de configuration pour configurer votre horloge système.

Retour en haut de page

Cause possible : votre système d'exploitation ne gère pas correctement AWS les touches contenant certains caractères spéciaux

Si vos AWS touches contiennent certains caractères spéciaux, tels que,-, + /%, ou si certaines variantes du système d'exploitation traitent la chaîne de manière incorrecte, ce qui entraîne une interprétation incorrecte de la chaîne de touches.

Si vous traitez vos clés à l'aide d'autres outils ou scripts, tels que des outils qui créent le fichier d'informations d'identification sur une nouvelle instance dans le cadre de sa création, ces outils et scripts peuvent avoir leur propre gestion des caractères spéciaux, ce qui les transforme en quelque chose qui AWS ne les reconnaît plus.

Nous vous suggérons de régénérer la clé secrète pour en obtenir une qui n'inclut pas le caractère spécial à l'origine du problème.

Retour en haut de page

Erreurs de certificat SSL

Cause possible : le certificat de votre proxy AWS CLI n'est pas fiable

Exemple de texte d'erreur :

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

Lorsque vous utilisez une AWS CLI commande, vous recevez un message [SSL: CERTIFICATE_ VERIFY_FAILED] certificate verify failed d'erreur. Cela est dû au fait que vous AWS CLI ne faites pas confiance au certificat de votre proxy en raison de facteurs tels que le certificat de votre proxy étant auto-signé, votre entreprise étant définie comme autorité de certification (CA). Cela empêche AWS CLI de trouver le certificat racine de l'autorité de certification de votre entreprise dans le registre local de l'autorité de certification.

Pour résoudre ce problème, indiquez AWS CLI où trouver le fichier de votre entreprise à l'aide du paramètre du .pem fichier de ca_bundle configuration, de l'option de ligne de --ca-bundle commande ou de la variable d'AWS_CA_BUNDLEenvironnement.

Retour en haut de page

Cause possible : votre configuration ne pointe pas vers le bon emplacement du certificat racine de l'autorité de certification

Exemple de texte d'erreur :

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

Cela est dû au fait que l'emplacement du fichier de votre bundle d'autorité de certification (CA) n'est pas correctement configuré dans le AWS CLI. Pour résoudre ce problème, vérifiez où se trouve .pem le fichier de votre entreprise et mettez à jour la AWS CLI configuration à l'aide du paramètre du fichier de ca_bundle configuration, de l'option de ligne de --ca-bundle commande ou de la variable d'AWS_CA_BUNDLEenvironnement.

Retour en haut de page

Cause possible : votre configuration n'utilise pas le bon Région AWS

Exemple de texte d'erreur :

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

Des erreurs ou des résultats inattendus peuvent se produire si un Service AWS n'est pas disponible pour ce que vous avez spécifié Région AWS ou si vos ressources se trouvent dans un autre endroit Région AWS. Pour obtenir les étapes de dépannage, consultez Vérifiez que Région AWS votre AWS CLI commande utilise.

Retour en haut de page

Cause possible : votre version TLS doit être mise à jour

Exemple de texte d'erreur :

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

Service AWS Il utilise une version de TLS incompatible avec la version TLS de votre appareil. Pour résoudre ce problème, effectuez une mise à jour vers une version TLS prise en charge. Pour plus d’informations, consultez Appliquer une version minimale de TLS.

Retour en haut de page

Erreurs JSON non valides

Exemple de texte d'erreur :

$ 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}

Lorsque vous utilisez une AWS CLI commande, vous recevez un message d'erreur Invalid JSON « ». Il s'agit généralement d'une erreur qui se produit lorsque vous entrez une commande au format JSON attendu et que vous AWS CLI ne pouvez pas lire correctement votre JSON.

Cause possible : Vous n'avez pas saisi un code JSON valide AWS CLI pour l'utiliser

Vérifiez que vous avez saisi un code JSON valide pour votre commande. Nous vous suggérons d'utiliser un validateur JSON pour les fichiers JSON que vous rencontrez des problèmes de formatage.

Pour une utilisation plus avancée du JSON dans la ligne de commande, pensez à utiliser un processeur JSON en ligne de commandejq, par exemple pour créer des chaînes JSON. Pour plus d'informations surjq, consultez le référentiel jq sur GitHub.

Retour en haut de page

Cause possible : les règles de citation de votre terminal empêchent l'envoi d'un JSON valide au AWS CLI

Avant de AWS CLI recevoir quoi que ce soit d'une commande, votre terminal traite la commande en utilisant ses propres règles de citation et d'échappement. En raison des règles de formatage d'un terminal, une partie de votre contenu JSON peut être supprimée avant que la commande ne soit transmise au AWS CLI. Lorsque vous formulez des commandes, veillez à utiliser les règles de citation de votre terminal.

Pour résoudre le problème, utilisez la echo commande pour voir comment le shell gère vos paramètres :

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

Modifiez votre commande jusqu'à ce que votre code JSON valide soit renvoyé.

Pour un dépannage plus approfondi, utilisez le --debug paramètre pour afficher les journaux de débogage, car ils afficheront exactement ce qui a été transmis au 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']

Utilisez les règles de citation de votre terminal pour résoudre les problèmes rencontrés par votre entrée JSON lorsqu'elle est envoyée au AWS CLI. Pour plus d'informations sur les règles de citation, voirGuillemets avec des chaînes dans AWS CLI.

Note

Si vous rencontrez des problèmes pour obtenir un code JSON valide dans le AWS CLI, nous vous recommandons de contourner les règles de citation d'un terminal pour la saisie de données JSON en utilisant des blobs pour transmettre vos données JSON directement au. AWS CLI Pour plus d'informations sur les blobs, consultezBLOB.

Retour en haut de page

Ressources supplémentaires

Pour obtenir de l'aide supplémentaire AWS CLI concernant vos problèmes, consultez la AWS CLI communauté GitHubou la AWS re:Post communauté.

Retour en haut de page