Cette documentation concerne AWS CLI uniquement la version 1 du. 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 le dépannage général.
Table des matières
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.
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 :
-
Vérifiez que votre commande ne comporte pas d'erreurs d'orthographe ou de mise en forme.
-
Vérifiez que tous les guillemets et les échappements appropriés à votre terminal sont corrects dans votre commande.
-
Générez un AWS CLI squelette pour confirmer votre structure de commande.
-
Pour le JSON, consultez le dépannage supplémentaire pour les valeurs JSON. Si vous rencontrez des problèmes avec le traitement du formatage JSON par votre terminal, nous vous suggérons d'ignorer les règles de citation du terminal en utilisant des blobs pour transmettre les données JSON directement au. AWS CLI
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 .
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 par le 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 :
-
L'option
--region
de ligne de commande. -
La variable d'
AWS_DEFAULT_REGION
environnement. -
Le réglage du regionprofil.
Vérifiez que vous utilisez Région AWS les bonnes ressources.
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 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 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 Installation, mise à jour et désinstallation 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.
Utilisez l'--debug
option
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'--debug
option. 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'--debug
option, 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"
}
]
}
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 aws
history
le guide AWS CLI de référence.
Lorsque vous incluez l'--debug
option, 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.
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.
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.
- 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 lesPATH
mises à jour. - 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 Installation, mise à jour et désinstallation du AWS CLI. - 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 desexecute
autorisations nécessaires pour le dossier dans lequel elle a été installée. Exécutez la commande suivante avec lePATH
pour votre AWS CLI installation, afin de fournirchmod
des autorisations à AWS CLI :$
sudo chmod -R 755
/usr/local/aws-cli/
- Cause possible : le système d'exploitation n'
PATH
a 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'environnementPATH
de votre système d'exploitation. Pour ajouter le AWS CLI à votrePATH
, suivez les instructions ci-dessous pour votre système d'exploitation.
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 lesPATH
mises à jour. Tous les terminaux ouverts doivent être fermés, pas seulement votre terminal actif. - 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 vosPATH
mises à jour. - 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'.pkg
installation, cela peut provoquer des conflits, en particulier si vousPATH
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 version souhaitée de la AWS CLI version 1 ou de la 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.
La commande « aws --version
» renvoie une version après la désinstallation du 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. - 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'utiliserpip
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.-
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.
-
Fermez tous les terminaux que vous avez ouverts.
-
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 (
pip
apt
,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.
-
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
-
Étant donné que le AWS CLI est construit en utilisant Python, il AWS CLI utilise la
argparse
bibliothèque Python, y compris l'allow_abbrev
argument. Les abréviations des paramètres sont reconnues par le AWS CLI et traitées. L'exemple de
create-change-set
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-setLorsque votre abréviation peut être composée de plusieurs commandes, le paramètre n'est pas reconnu comme une abréviation.
L'exemple de
create-change-set
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-setAvertissement
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=activeVérifiez que vous utilisez des paramètres valides avant d'exécuter une commande afin d'éviter tout comportement inattendu.
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 sur755
.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
- 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, des commandes personnalisées telles que
aws s3 sync
l'appel multiple APIs. Vous pouvez voir quelle APIs commande appelle en utilisant l'--debug
option.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.
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
fichiersconfig
et. Pour plus d'informations surcredentials
les fichiersconfig
et, consultezParamètres des fichiers de configuration et d'identification dans AWS CLI. Pour plus d'informations sur les informations d'identification et l'authentification, y compris la priorité des informations d'identification, consultezAuthentification et informations d'accès pour le AWS CLI. - 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.
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.
- 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.
Aucune console Windows n'a détecté d'erreurs
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 ? » message d'erreur. 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 du prompt_toolkit
sur le site Web de Python
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 deca_bundle
configuration, de l'option de ligne de --ca-bundle commande ou de la variable d'AWS_CA_BUNDLE
environnement. - 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 directoryCela 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 deca_bundle
configuration, de l'option de ligne de --ca-bundle commande ou de la variable d'AWS_CA_BUNDLE
environnement. - 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.
- 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 de plus amples informations, veuillez consulter Appliquer une version minimale du protocole TLS pour AWS CLI.
Erreurs JSON non valides
Exemple de texte d'erreur :
$
aws dynamodb update-table \ --provisioned-throughput
'{"ReadCapacityUnits":15,WriteCapacityUnits":10}'
\ --table-name MyDDBTableError 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 commande
jq
, par exemple pour créer des chaînes JSON. Pour plus d'informations surjq
, consultez le référentiel jqsur GitHub. - 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 \ --debug2022-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, voirUtiliser des guillemets et des littéraux 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.
Ressources supplémentaires
Pour obtenir de l'aide supplémentaire AWS CLI concernant vos problèmes, consultez la AWS CLI communauté GitHub