Solucionar errores AWS CLI - AWS Command Line Interface

Esta documentación es AWS CLI únicamente para la versión 1 de la. Para ver la documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solucionar errores AWS CLI

En esta sección se describen los errores comunes y los pasos de solución de problemas que se deben seguir para resolver el problema. Le sugerimos seguir primero la solución de problemas generales.

Solución de problemas generales para probar primero

Si recibes un error o encuentras algún problema con el AWS CLI, te sugerimos los siguientes consejos generales para ayudarte a solucionarlo.

(Volver arriba)

Comprueba el formato de tus AWS CLI comandos

Si aparece un error en el que se indica que no existe un comando o que no se reconoce un parámetro (Parameter validation failed) que según la documentación está disponible, es posible que el comando tenga un formato incorrecto. Le sugerimos que compruebe lo siguiente:

Para obtener más información sobre cómo debe estructurarse un comando específico, consulte la guía de AWS CLI referencia de la .

(Volver arriba)

Compruebe si Región de AWS su AWS CLI comando está utilizando

nota

Debe especificar una Región de AWS cuando utilice la AWS CLI, ya sea de forma explícita o estableciendo una región predeterminada. Para obtener una lista de todos los elementos Regiones de AWS que puede especificar, consulte AWS Regiones y puntos finales en el Referencia general de Amazon Web Services. Los Región de AWS designadores que utilizan AWS CLI son los mismos nombres que aparecen en las AWS Management Console URL y los puntos de enlace del servicio.

Se pueden producir errores o resultados inesperados si una no Servicio de AWS está disponible para la información especificada Región de AWS o si los recursos están ubicados en una ubicación diferente. Región de AWS En orden de prioridad, Región de AWS se establece de las siguientes maneras:

  • La opción de línea de comandos --region.

  • La variable de entorno AWS_DEFAULT_REGION.

  • La configuración del regionperfil.

Confirma que estás utilizando la correcta Región de AWS para tus recursos.

(Volver arriba)

Confirme que está ejecutando una versión reciente de la AWS CLI

Si recibe un error que indica que un comando no existe o que no reconoce un parámetro que, según la guía de AWS CLI referencia de la , está disponible, compruebe primero que el comando tiene el formato correcto. Si el formato es correcto, le recomendamos que se actualice a la versión más reciente de la AWS CLI. Las versiones actualizadas de la AWS CLI se publican casi todos los días laborables. Se introducen nuevos AWS servicios, características y parámetros en esas nuevas versiones del AWS CLI. La única manera de obtener acceso a los nuevos servicios, características o parámetros es actualizándose a una versión que se lanzara después de que ese elemento se incorporara por primera vez.

La forma de actualizar la versión de AWS CLI depende de cómo la haya instalado originalmente, tal y como se describe en Instalar, actualizar y desinstalar la AWS CLI.

Si ha utilizado uno de los instaladores del paquete, debe eliminar la instalación existente antes de descargar e instalar la versión más reciente para su sistema operativo.

(Volver arriba)

Use la opción --debug

Si AWS CLI detecta un error que no entiende inmediatamente o produce resultados inesperados, puede obtener más detalles sobre el error ejecutando de nuevo el comando con la --debug opción. Con esta opción, la AWS CLI emite detalles sobre cada paso que realiza para procesar su comando. Los detalles de la salida pueden ayudarlo a determinar cuándo se produce el error y proporciona pistas sobre dónde comenzó.

Puede enviar el resultado a un archivo de texto para revisarlo posteriormente o enviarlo a AWS Support cuando se le solicite.

Cuando se incluye la opción --debug, algunos detalles son:

  • Búsqueda de credenciales

  • Análisis de los parámetros proporcionados

  • Construir la solicitud enviada a AWS los servidores

  • El contenido de la solicitud enviada a AWS

  • El contenido de la respuesta sin procesar

  • La salida con formato

A continuación, se muestra un ejemplo de la ejecución de un comando con y sin la opción --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" } ] }

(Volver arriba)

Habilite y revise los registros del historial de AWS CLI comandos

Puede habilitar los registros del historial de AWS CLI comandos mediante la configuración del cli_history archivo. Tras activar esta configuración, AWS CLI registra el historial de aws comandos.

Puede hacer una lista de su historial con el comando aws history list y utilizar los command_ids resultantes en el comando aws history show para obtener más información. Para obtener más información, consulte aws history en la Guía de referencia de AWS CLI .

Cuando se incluye la opción --debug, algunos detalles son:

  • Llamadas de la API realizadas a botocore

  • Códigos de estado

  • Respuestas HTTP

  • Encabezados

  • Códigos de devolución

Puede usar esta información para confirmar que los datos de parámetros y las llamadas a la API se comportan de la manera esperada y, a continuación, puede deducir en qué etapa del proceso está fallando el comando.

(Volver arriba)

Confirme que el suyo AWS CLI está configurado

Pueden producirse varios errores si los archivos config y credentials o su rol o usuario de IAM no están configurados correctamente. Para obtener más información sobre la resolución de errores con los archivos config y credentials o su usuario o roles de IAM, consulte Errores de acceso denegado y Errores de credenciales y claves no válidas.

(Volver arriba)

Errores de comando no encontrado

Este error significa que el sistema operativo no encuentra el AWS CLI comando. Puede que la instalación esté incompleta o sea necesario actualizarla.

Causa posible: estás intentando utilizar una AWS CLI función más reciente que la versión instalada o tienes un formato incorrecto

Ejemplo de texto de error:

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

Pueden producirse varios errores si su comando tiene un formato incorrecto o si está utilizando una versión anterior a la publicación de la característica. Para obtener más información sobre la resolución de errores en torno a estos dos problemas, consulte Comprueba el formato de tus AWS CLI comandos y Confirme que está ejecutando una versión reciente de la AWS CLI.

(Volver arriba)

Causa posible: es necesario reiniciar el terminal después de la instalación

Ejemplo de texto de error:

$ aws --version command not found: aws

Si el aws comando no se encuentra después de instalarlo o actualizarlo por primera vez AWS CLI, puede que tengas que reiniciar el terminal para que reconozca PATH las actualizaciones.

(Volver arriba)

Causa posible: AWS CLI no se instaló por completo

Ejemplo de texto de error:

$ aws --version command not found: aws

Si el aws comando no se encuentra después de instalarlo o actualizarlo por primera vez AWS CLI, es posible que no esté completamente instalado. Intente reinstalar siguiendo los pasos correspondientes a su plataforma en Instalar, actualizar y desinstalar la AWS CLI.

(Volver arriba)

Causa posible: AWS CLI no tiene permisos (Linux)

Si el aws comando no se encuentra después de instalarlo o actualizarlo por primera vez AWS CLI en Linux, es posible que no tenga execute permisos para la carpeta en la que se instaló. Ejecute el siguiente comando con PATH la en AWS CLI la instalación para proporcionar chmod permisos a AWS CLI:

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

(Volver arriba)

Causa posible: la variable PATH del sistema operativo no se ha actualizado durante la instalación

Ejemplo de texto de error:

$ aws --version command not found: aws

Es posible que tenga que añadir el ejecutable aws a la variable de entorno PATH del sistema operativo. Para añadirlo AWS CLI a la suyaPATH, utilice las siguientes instrucciones para su sistema operativo.

Linux and macOS
  1. Busque el script de perfil de su shell en su directorio de usuario. Si no está seguro de cuál es el shell que tiene, ejecute echo $SHELL.

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

    • Zsh.zshrc

    • Tcsh: .tcshrc, .cshrc, o .login

  2. Añada un comando de exportación al script de su perfil. El siguiente comando agrega su bin local a la variable PATH actual.

    export PATH=/usr/local/bin:$PATH
  3. Vuelva a cargar el perfil actualizado en la sesión actual.

    $ source ~/.bash_profile
Windows
  1. En un símbolo del sistema de Windows, utilice el comando where con el parámetro /R path para encontrar la ubicación del archivo de aws. Los resultados devuelven todas las carpetas que contienen aws.

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

    De forma predeterminada, la AWS CLI versión 2 se encuentra en:

    c:\Program Files\Amazon\AWSCLIV2\aws.exe
  2. Pulse la tecla de Windows y escriba environment variables.

  3. En la lista de sugerencias, elija ‎Edit environment variables for your account ‎(Editar variables de entorno para la cuenta).

  4. Elija PATH y, a continuación, Edit (Editar).

  5. Agregue la ruta que encontró en el primer paso al ‎campo Variable value (Valor de variable), por ejemplo, C:\Program Files\Amazon\AWSCLIV2\aws.exe.

  6. Elija OK (Aceptar) dos veces para aplicar la nueva configuración.

  7. Cierre los símbolos del sistema en ejecución y vuelva a abrir la ventana de símbolo del sistema.

(Volver arriba)

El comando "aws --version" devuelve una versión diferente a la instalada

Es posible que su terminal devuelva un resultado AWS CLI diferente PATH al esperado.

Causa posible: es necesario reiniciar el terminal después de la instalación

Si el comando aws muestra la versión incorrecta, es posible que tenga que reiniciar su terminal para que reconozca las actualizaciones de PATH. Todos los terminales abiertos deben estar cerrados, no solo el terminal activo.

(Volver arriba)

Causa posible: es necesario reiniciar el sistema después de la instalación

Si el comando aws muestra la versión incorrecta y el reinicio del terminal no funcionó, es posible que tenga que reiniciar el terminal para que reconozca las actualizaciones de PATH.

(Volver arriba)

Causa posible: tienes varias versiones del AWS CLI

Si actualizó AWS CLI y utilizó un método de instalación diferente al de la instalación anterior, es posible que se instalen varias versiones. Por ejemplo, si en Linux o macOS ha utilizado pip para su instalación actual, pero ha intentado la actualización mediante el archivo de instalación de .pkg, esto podría causar algunos conflictos, especialmente con su PATH apuntando a la versión antigua.

Para resolver esto, desinstale todas las versiones de la AWS CLI y realice una instalación limpia.

Después de desinstalar todas las versiones, siga las instrucciones correspondientes a su sistema operativo para instalar la versión que desee de la AWS CLI versión 1 o la AWS CLI versión 2.

nota

Si esto ocurre después de instalar la AWS CLI versión 2 con una instalación preexistente de la AWS CLI versión 1, siga las instrucciones de migración que aparecen en las instrucciones de instalación al migrar desde AWS CLI la versión 1.

(Volver arriba)

El comando "aws --version" devuelve una versión tras desinstalar la AWS CLI

Esto suele ocurrir cuando todavía hay una AWS CLI instalada en algún lugar del sistema.

Causa posible: es necesario reiniciar el terminal después de la desinstalación

Si el comando aws --version sigue funcionando, es posible que tenga que reiniciar su terminal para que reconozca las actualizaciones del terminal.

(Volver arriba)

Causa posible: tiene varias versiones de AWS CLI en su sistema o no utilizó el mismo método de desinstalación que utilizó para instalar originalmente el AWS CLI

AWS CLI Es posible que no se desinstale correctamente si la desinstaló AWS CLI con un método diferente al que utilizó para instalarla o si instaló varias versiones. Por ejemplo, si utilizó pip para su instalación actual, debe utilizar pip para desinstalarla. Para solucionar este problema, desinstálelo AWS CLI con el mismo método que utilizó para instalarlo.

  1. Siga las instrucciones adecuadas para el sistema operativo y el método de instalación original para desinstalar la AWS CLI versión 1 y AWS CLI versión 2.

  2. Cierre todos los terminales que tenga abiertos.

  3. Abra su terminal preferido, ingrese el siguiente comando y confirme que no se devuelve ninguna versión.

    $ aws --version command not found: aws

    Si aún tiene una versión en la lista de resultados, lo más probable es que AWS CLI se haya instalado con un método diferente o que haya varias versiones. Si no sabe qué método instaló AWS CLI, siga las instrucciones de cada método de desinstalación para las AWS CLI versiones 1 y AWS CLI 2 correspondientes a su sistema operativo hasta que no reciba ningún resultado de la versión.

    nota

    Si ha utilizado un administrador de paquetes para instalar la AWS CLI (pip, apt, brew, etc.), debe utilizar el mismo administrador de paquetes para desinstalarla. Asegúrese de seguir las instrucciones proporcionadas por el administrador de paquetes sobre cómo desinstalar todas las versiones de un paquete.

(Volver arriba)

AWS CLI Procesó un comando con un nombre de parámetro incompleto

Posible causa: ha utilizado una abreviatura reconocida del parámetro de la AWS CLI

Como AWS CLI está creado con Python, AWS CLI utiliza la argparse biblioteca de Python, incluido el allow_abbrevargumento. Las abreviaturas de los parámetros son reconocidas por el AWS CLI y procesadas.

El siguiente ejemplo de create-change-setcomando cambia el nombre de la CloudFormation pila. El parámetro --change-set-n se reconoce como una abreviatura --change-set-name de y AWS CLI procesa el comando.

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

Cuando su abreviatura pueda ser varios comandos, el parámetro no se reconocerá como abreviatura.

El siguiente ejemplo de create-change-setcomando cambia el nombre de la CloudFormation pila. El parámetro --change-set- no se reconoce como una abreviatura, ya que existen múltiples parámetros de los que podría ser una abreviatura, como --change-set-name y --change-set-type. Por lo tanto, AWS CLI no procesa el comando.

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

No utilice abreviaturas de parámetros a propósito. No son fiables y no son compatibles con versiones anteriores. Si se agrega algún parámetro nuevo a un comando que confunda sus abreviaturas, se interrumpirán sus comandos.

Además, si el parámetro es un argumento de un solo valor, puede provocar un comportamiento inesperado con sus comandos. Si se pasan varias instancias de un argumento de un solo valor, solo se ejecutará la última instancia. En el siguiente ejemplo, el parámetro --filters es un argumento de un solo valor. Se especifican los parámetros --filters y --filter. El parámetro --filter es una abreviatura de --filters. Esto hace que se apliquen dos instancias de --filters y solo se aplica el último argumento --filter.

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

Confirme que utiliza parámetros válidos antes de ejecutar un comando para evitar comportamientos inesperados.

(Volver arriba)

Errores de acceso denegado

Causa posible: el archivo del AWS CLI programa no tiene permiso de «ejecución»

En Linux o macOS, asegúrese de que el programa aws tiene permisos de ejecución para el usuario que realiza la llamada. Normalmente, los permisos se establecen en 755.

Para añadir permisos de ejecución al usuario, ejecute el siguiente comando sustituyendo ~ /.local/bin/aws por la ruta que tiene el programa en el equipo.

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

(Volver arriba)

Causa posible: su identidad de IAM no tiene permiso para realizar la operación

Ejemplo de texto de error:

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

Cuando ejecuta un AWS CLI comando, AWS las operaciones se realizan en su nombre, utilizando credenciales que lo asocian a una cuenta o función de IAM. Las políticas asociadas deben concederle permiso para llamar a las acciones de la API correspondientes a los comandos que ejecuta con la AWS CLI.

La mayoría de los comandos llaman a una única acción que tiene un nombre que coincide con el nombre del comando. Sin embargo, los comandos personalizados como aws s3 sync llamar a múltiples API. Mediante la --debug opción puede ver a qué API llama un comando.

Si está seguro de que el usuario o el rol tienen los permisos adecuados asignados por la política, asegúrese de que el AWS CLI comando utilice las credenciales esperadas. Consulte la siguiente sección sobre las credenciales para comprobar que las credenciales que AWS CLI utiliza son las esperadas.

Para obtener más información acerca de la asignación de permisos de IAM, consulte Información general sobre la administración del acceso: permisos y políticas en la Guía de usuario de IAM.

(Volver arriba)

Errores de credenciales y claves no válidas

Ejemplo de texto de error:

$ 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.
Causa posible: AWS CLI está leyendo credenciales incorrectas o provienen de una ubicación inesperada

AWS CLI Es posible que estén leyendo las credenciales de una ubicación diferente a la que esperabas o que la información de tu key pair sea incorrecta. Puede ejecutar aws configure list para confirmar las credenciales que se utilizan.

En el siguiente ejemplo se muestra cómo comprobar las credenciales utilizadas para el perfil predeterminado.

$ 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

En el siguiente ejemplo se muestra cómo comprobar las credenciales de un perfil con nombre.

$ 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

Para confirmar los detalles de su par de claves, compruebe sus archivos config y credentials. Para obtener más información sobre los archivos config y ‎credentials, consulte ‎Opciones de los archivos de configuración y credenciales. Para obtener más información sobre credenciales y autenticación, incluida la precedencia de las credenciales, consulte Credenciales de autenticación y acceso.

(Volver arriba)

Causa posible: el reloj del equipo no está sincronizado

Si está utilizando credenciales válidas, puede que el reloj no esté sincronizado. En Linux o macOS, ejecute date para verificar la hora.

$ date

Si el reloj del sistema no es correcto en unos minutos, utilice ntpd para sincronizarlo.

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

En Windows, utilice las opciones de fecha y hora del Panel de control para configurar el reloj del sistema.

(Volver arriba)

Errores de firma que no coincide

Ejemplo de texto de error:

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

Cuando AWS CLI ejecuta un comando, envía una solicitud cifrada a los AWS servidores para que realicen las operaciones de AWS servicio adecuadas. Sus credenciales (la clave de acceso y la clave secreta) participan en el cifrado y permiten autenticar AWS a la persona que realiza la solicitud. Tal y como se indica a continuación, hay varias cosas que pueden interferir con el funcionamiento correcto de este proceso.

Causa posible: el reloj no está sincronizado con los servidores AWS

Para protegerse de los ataques de reproducción, puede utilizar la hora actual durante el proceso de cifrado y descifrado. Si la hora del cliente y el servidor no coinciden en una cantidad superior a la permitida, puede que el proceso produzca un error y se rechace la solicitud. Esto también puede ocurrir cuando ejecuta un comando en una máquina virtual cuyo reloj no está sincronizado con el reloj de la máquina host. Una causa posible es cuando la máquina virtual está en hibernación y tarda algún tiempo en reactivarse para sincronizar el reloj con la máquina host.

En Linux o macOS, ejecute date para verificar la hora.

$ date

Si el reloj del sistema no es correcto en unos minutos, utilice ntpd para sincronizarlo.

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

En Windows, utilice las opciones de fecha y hora del Panel de control para configurar el reloj del sistema.

(Volver arriba)

Causa posible: el sistema operativo está manejando mal AWS las claves que contienen ciertos caracteres especiales

Si AWS las claves incluyen ciertos caracteres especiales, como-,, o algunas variantes del sistema operativo%, procesa la cadena de forma incorrecta y provoca que la cadena clave se interprete de forma incorrecta. + /

Si procesa las claves con otras herramientas o scripts, como las herramientas que crean el archivo de credenciales en una nueva instancia como parte de su creación, es posible que esas herramientas y scripts tengan su propio manejo de caracteres especiales, lo que provoca que se transformen en algo que ya AWS no reconozca.

Sugerimos regenerar la clave secreta para obtener una que no incluya el carácter especial que causa problemas.

(Volver arriba)

Errores de no se ha encontrado la consola de Windows

Ejemplo de texto de error:

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

Al usar un AWS CLI comando, aparece el mensaje «No se ha encontrado ninguna consola de Windows». ¿Está ejecutando cmd.exe?” . Esto suele ser un error que se ve en la AWS CLI versión 1 si el Python prompt_toolkit que ha instalado está desactualizado. Para resolver este problema, instale una versión reciente del prompt_toolkit en el sitio web de Python.

(Volver arriba)

Errores de certificado SSL

Causa posible: AWS CLI no confía en el certificado de tu proxy

Ejemplo de texto de error:

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

Cuando utilizas un AWS CLI comando, recibes un mensaje [SSL: CERTIFICATE_ VERIFY_FAILED] certificate verify failed de error. Esto se debe a que AWS CLI no confías en el certificado de tu apoderado debido a factores como el hecho de que el certificado de tu apoderado esté autofirmado y que tu empresa sea la autoridad de certificación (CA). Esto AWS CLI impide encontrar el certificado raíz de CA de su empresa en el registro de CA local.

Para solucionar este problema, indique AWS CLI dónde encontrar el archivo de su empresa mediante el ajuste del .pem archivo de ca_bundle configuración, la opción de línea de --ca-bundle comandos o la variable de AWS_CA_BUNDLE entorno.

(Volver arriba)

Causa posible: la configuración no apunta a la ubicación correcta del certificado raíz de la CA

Ejemplo de texto de error:

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

Esto se debe a que la ubicación del archivo del paquete de la autoridad de certificación (CA) está configurada incorrectamente en la AWS CLI. Para solucionarlo, confirme dónde se encuentra su archivo .pem de su empresa y actualice la configuración de la AWS CLI mediante la opción del archivo de configuración ca_bundle, la opción de la línea de comandos --ca-bundle o la variable de entorno AWS_CA_BUNDLE.

(Volver arriba)

Causa posible: su configuración no utiliza la correcta Región de AWS

Ejemplo de texto de error:

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

Se pueden producir errores o resultados inesperados si una no Servicio de AWS está disponible para la información especificada Región de AWS o si los recursos están ubicados en una ubicación diferente Región de AWS. Para ver los pasos de solución de problemas, consulte Compruebe si Región de AWS su AWS CLI comando está utilizando.

(Volver arriba)

Causa posible: es necesario actualizar tu versión de TLS

Ejemplo de texto de error:

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

Utiliza una versión de TLS que no es compatible con la versión de TLS de su dispositivo. Servicio de AWS Para resolver este problema, actualiza a una versión de TLS compatible. Para obtener más información, consulte Aplicar una versión mínima de TLS.

(Volver arriba)

Errores de JSON no válido

Ejemplo de texto de error:

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

Cuando utilizas un AWS CLI comando, recibes un mensaje de error Invalid JSON «». Por lo general, se trata de un error que se produce cuando se introduce un comando con el formato JSON esperado y AWS CLI no se puede leer el JSON correctamente.

Causa posible: no has introducido un JSON válido AWS CLI para usarlo

Confirme que ha introducido un JSON válido para el comando. Le sugerimos que utilice un validador de JSON para el JSON con problemas de formato.

Para conocer un uso más avanzado de JSON en la línea de comandos, considere usar un procesador JSON de línea de comandos, comojq, para crear cadenas JSON. Para obtener más informaciónjq, consulta el repositorio jq en GitHub.

(Volver arriba)

Causa posible: las reglas de cotización de su terminal impiden que se envíe un JSON válido al AWS CLI

Antes de AWS CLI recibir algo de un comando, tu terminal procesa el comando utilizando sus propias reglas de entrecomillado y escape. Debido a las reglas de formato de un terminal, es posible que parte del contenido JSON se elimine antes de que el comando se pase a la AWS CLI. Al formular comandos, asegúrese de usar sus reglas de entrecomillado del terminal.

Para solucionar problemas, utilice el comando echo para ver cómo el shell gestiona los parámetros:

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

Modifique su comando hasta que se devuelva su JSON válido.

Para obtener una solución más detallada, use el parámetro --debug para ver los registros de depuración, ya que muestran exactamente lo que se pasó a la 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']

Use las reglas de entrecomillado de tu terminal para solucionar cualquier problema que tenga su entrada JSON cuando se envía a la AWS CLI. Para obtener más información sobre las reglas de entrecomillado, consulte Entrecomillar con cadenas en la AWS CLI.

nota

Si tienes problemas para conseguir que un JSON válido llegue a AWS CLI, te recomendamos que evites las reglas de comillas de un terminal para la entrada de datos en JSON y utilices Blobs para pasar los datos de JSON directamente a. AWS CLI Para obtener más información acerca de Blobs, consulte o Blob.

(Volver arriba)

Recursos adicionales de

Para obtener ayuda adicional con tus AWS CLI problemas, visita la AWS CLI comunidad en GitHubo la AWS re:Post comunidad.

(Volver arriba)