Résolution des erreurs liées au AWS CLI - AWS Command Line Interface

Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.

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ésolution des erreurs liées au 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 la section de résolution des problèmes généraux.

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.

Haut de la 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 suggérons de contrôler les éléments suivants :

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

Haut de la 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 obtenir la 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 points de terminaison AWS Management Console URLs 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 :

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

Haut de la page

Confirmez que vous utilise une version récente de l’ 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 AWS CLI guide de , 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 de l’ 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, fonctionnalités 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 Installation, mise à jour et désinstallation de l’ AWS CLI.

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

Haut de la page

Utilisation de l’option --debug

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, l’ AWS CLI produit des résultats qui 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 à quelle étape l’erreur se produit et fournissent des indices sur l’origine de cette erreur.

Vous pouvez envoyer la sortie vers un fichier texte en vue d’une révision ultérieure ou l’envoyer à AWS Support lorsque vous y êtes invité.

Lorsque vous incluez l’option --debug, les détails fournis sont les suivants :

  • 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" } ] }

Haut de la 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 répertorier votre historique à l’aide de la commande aws history list et utiliser la valeur command_ids obtenue dans la commande aws history show pour plus de détails. Pour plus d’informations, consultez aws history dans le guide de référence de l’AWS CLI .

Lorsque vous incluez l’option --debug, les détails fournis sont les suivants :

  • Appels d’API à 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.

Haut de la page

Confirmez AWS CLI que votre

Diverses erreurs peuvent se produire si vos fichiers config et credentials 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 fichiers config et credentials ou à votre utilisateur ou à vos rôles IAM, consultez Erreurs d’accès refusé et Informations d’identification non valides et erreurs liées aux clés.

Haut de la page

Erreurs de type Commande introuvable

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

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

Exemple de texte d’erreur :

$ aws s3 copy aws: [ERROR]: argument operation: Found invalid choice 'copy' usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help

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 et Confirmez que vous utilise une version récente de l’ AWS CLI.

Haut de la 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.

Haut de la 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 la réinstaller en suivant les étapes correspondant à votre plateforme dans Installation, mise à jour et désinstallation de l’ AWS CLI.

Haut de la 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/

Haut de la page

Cause possible : la variable PATH du système d’exploitation n’a pas été mise à jour pendant 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 variable PATH 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 commande where avec le paramètre /R path pour trouver l’emplacement du fichier aws. Les résultats renvoient tous les dossiers contenant aws.

    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é à la première étape dans le champ Valeur de la 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.

Haut de la page

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

Votre terminal renvoie peut-être une valeur différente de AWS CLI celle PATH à laquelle vous vous attendiez.

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

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

Haut de la page

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

Si la commande aws affiche une version incorrecte et que le redémarrage du terminal ne fonctionne pas, vous devrez peut-être redémarrer votre système pour qu’il reconnaisse les mises à jour de la variable PATH.

Haut de la 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 sur Linux ou macOS, vous avez utilisé pip pour votre installation actuelle, et que vous avez essayé de procéder à la mise à jour à l’aide du fichier d’installation .pkg, cela peut provoquer des conflits, en particulier si PATH pointe vers l’ancienne version.

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

Après avoir désinstallé toutes les versions, suivez les instructions propres à votre système d’exploitation pour installer la version souhaitée de l’AWS CLI version 1 ou de l’AWS CLI version 2.

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 instructions d'installation lors de la migration depuis la AWS CLI version 1.

Haut de la 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 commande aws --version affiche encore un résultat, vous devrez peut-être redémarrer votre terminal pour qu’il reconnaisse les mises à jour du terminal.

Haut de la 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 avez utilisé pip pour votre installation actuelle, vous devez utiliser pip pour la désinstallation. 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 la version 1 de l’AWS CLI et la version 2 de l’AWS CLI.

  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 l’ AWS CLI (pip, apt, brew, etc.), vous devez utiliser le même gestionnaire de packages pour la désinstallation. Assurez-vous de suivre les instructions fournies par le gestionnaire de packages pour savoir comment désinstaller toutes les versions d’un package.

Haut de la 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 paramètre AWS CLI

Étant donné que le AWS CLI 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 create-change-setcommande 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 correspondre à plusieurs commandes, le paramètre n’est pas reconnu comme une abréviation.

L'exemple de create-change-setcommande suivant modifie le nom de la CloudFormation pile. Le paramètre --change-set- n’est pas reconnu comme une abréviation, car il pourrait s’agir de l’abréviation de plusieurs paramètres, comme --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. Elles 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 paramètre --filter est l’abréviation de --filters. Cela entraîne l’application de deux instances de --filters et seul le dernier argument --filter 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.

Haut de la 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 programme aws dispose des autorisations d’exécution pour l’utilisateur appelant. En général, les autorisations sont définies sur 755.

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

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

Haut de la page

Cause possible : votre identité IAM ne dispose pas de l’autorisation d’exécuter 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 attachées doivent vous accorder l’autorisation d’appeler les actions d’API qui correspondent aux commandes que vous exécutez avec l’ AWS CLI.

La plupart des commandes appellent une seule action avec un nom correspondant au nom de la commande. Cependant, des commandes personnalisées telles que aws s3 sync l'appel multiple APIs. Vous pouvez voir quelle APIs commande appelle en utilisant l'--debugoption.

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, consultez Présentation de la gestion des accès : autorisations et stratégies dans le Guide de l’utilisateur IAM.

Haut de la page

Informations d’identification non valides et erreurs liées aux 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 les informations d’identification qui 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 ****************ABCD shared-credentials-file secret_key ****************ABCD shared-credentials-file region us-west-2 env AWS_DEFAULT_REGION

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

$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************ABCD shared-credentials-file secret_key ****************ABCD shared-credentials-file region us-west-2 env AWS_DEFAULT_REGION

Pour confirmer les détails de votre paire de clés, consultez vos fichiers config et credentials. Pour plus d’informations sur les fichiers config et credentials, consultez Paramètres des fichiers de configuration et d’informations d’identification dans l’ AWS CLI. Pour plus d’informations sur les informations d’identification et l’authentification, y compris la priorité des informations d’identification, consultez Authentification et informations d’identification d’accès pour l’ AWS CLI.

Haut de la page

Cause possible : l’horloge de votre ordinateur est désynchronisée

Si vous utilisez des informations d’identification valides, l’erreur peut être due à un défaut de synchronisation de l’horloge. 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.

Haut de la 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 protéger contre les attaques en replay, l'heure actuelle peut être utilisée pendant le encryption/decryption processus. 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. Parmi les causes possibles, on peut citer le cas où la machine virtuelle est en veille prolongée et prend un certain temps après le réveil pour synchroniser son 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.

Haut de la 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 obtenir une clé qui n’inclut aucun caractère spécial à l’origine des problèmes.

Haut de la page

Erreurs de type Aucune console Windows trouvée

Exemple de texte d’erreur :

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

Lorsque vous utilisez une AWS CLI commande, le message « Aucune console Windows n'a été trouvée » s'affiche. Est-ce que vous exécutez cmd.exe ? » . Il s'agit généralement d'une erreur observée pour la AWS CLI version 1 si le Python prompt_toolkit que vous avez installé est obsolète. Pour résoudre ce problème, installez une version récente de prompt_toolkit à partir du site Web de Python.

Haut de la page

Erreurs liées à un 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). L’ AWS CLI ne peut par conséquent pas 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.

Haut de la 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 l’ AWS CLI. Pour résoudre ce problème, confirmez où se trouve le fichier .pem de votre entreprise et mettez à jour la configuration de l’ AWS CLI à l’aide du paramètre de fichier de configuration ca_bundle, de l’option de ligne de commande --ca-bundle ou de la variable d’environnement AWS_CA_BUNDLE.

Haut de la 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.

Haut de la 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, procédez à une mise à niveau vers une version TLS prise en charge. Pour de plus amples informations, veuillez consulter Application d’une version minimale de TLS pour l’AWS CLI.

Haut de la page

Erreurs de type JSON non valide

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 pour lesquels 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 de ligne de commande, par exemple jq, pour créer des chaînes JSON. Pour plus d'informations surjq, consultez le référentiel jq sur GitHub.

Haut de la 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 à l’ AWS CLI. Lorsque vous formulez des commandes, veillez à utiliser les règles de guillemets de votre terminal.

Pour résoudre le problème, utilisez la commande echo 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 JSON valide soit renvoyé.

Pour un dépannage plus approfondi, utilisez le paramètre --debug pour afficher les journaux de débogage, car ils afficheront exactement ce qui a été transmis à l’ 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 guillemets de votre terminal pour résoudre les problèmes rencontrés par votre entrée JSON lorsqu’elle est envoyée à l’ AWS CLI. Pour plus d’informations sur les règles de guillemets, consultez Utilisation de guillemets et de littéraux avec des chaînes dans l’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, consultez Blob.

Haut de la 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é.

Haut de la page