Opciones de los archivos de configuración y credenciales - AWS Command Line Interface

Opciones de los archivos de configuración y credenciales

Puede guardar las opciones de configuración y las credenciales que utiliza con frecuencia en archivos que son mantenidos por la AWS CLI.

Los archivos se dividen en profiles. De forma predeterminada, la AWS CLI utiliza las opciones que se encuentran en el perfil denominado default. Para utilizar una configuración diferente, puede crear y hacer referencia a perfiles adicionales. Para obtener más información sobre los perfiles con nombre, consulte Perfiles con nombre para AWS CLI.

También es posible anular una opción individual estableciendo una de las variables de entorno compatibles o utilizando un parámetro de la línea de comandos. Para obtener más información sobre la prioridad de opciones de configuración, consulte Ajustes de configuración y precedencia.

¿Dónde se almacenan las opciones de configuración?

La AWS CLI almacena la información confidencial de las credenciales especificadas con aws configure en un archivo local denominado credentials en una carpeta denominada .aws del directorio principal. Las opciones de configuración menos confidenciales especificadas con aws configure se guardan en un archivo local denominado config, que también se almacena en la carpeta .aws del directorio principal.

Almacenamiento de credenciales en el archivo de configuración

Puede mantener todas las opciones de perfil en un solo archivo, ya que la AWS CLI puede leer las credenciales del archivo config. Si hay credenciales en ambos archivos para un perfil que comparte el mismo nombre, las claves del archivo de credenciales tienen prioridad.

Los kits de desarrollo de software (SDK) de varios lenguajes también utilizan estos archivos. Si utiliza uno de los SDK además de la AWS CLI, confirme si las credenciales deben almacenarse en su propio archivo.

La ubicación del directorio principal varía en función del sistema operativo, pero se hace referencia a él mediante las variables de entorno %UserProfile% en Windows y $HOME o ~ (tilde) en los sistemas basados en Unix. Puede especificar una ubicación no predeterminada para los archivos ‎configurando ‎las variables de entorno AWS_CONFIG_FILE y AWS_SHARED_CREDENTIALS_FILE en otra ruta local. Para obtener más información, consulte Variables de entorno para configurar la AWS CLI.

Por ejemplo, los archivos generados por la AWS CLI para un perfil predeterminado configurado con aws configure tienen un aspecto similar al siguiente.

~/.aws/credentials

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

~/.aws/config

[default] region=us-west-2 output=json

Para ver ejemplos de archivos con varios perfiles con nombre, consulte Perfiles con nombre para AWS CLI.

Cuando se utiliza un perfil compartido que especifica un rol de AWS Identity and Access Management (IAM), la AWS CLI llama a la operación AWS STS de AssumeRole para recuperar las credenciales temporales. A continuación, se almacenan estas credenciales (en ~/.aws/cli/cache). Los comandos de la AWS CLI posteriores utilizan las credenciales temporales almacenadas en caché hasta que caducan, momento en el cual la AWS CLI las actualiza automáticamente.

Establecer y ver las opciones de configuración

Hay varias formas de ver y establecer las opciones de configuración en los archivos.

Credentials y archivo de config

Vea y edite las opciones editando directamente los archivos config y credentials en un editor de texto. Para obtener más información, consulte ¿Dónde se almacenan las opciones de configuración?

Para eliminar una opción, elimine la opción correspondiente en sus archivos config y credentials.

aws configure

Ejecute este comando para establecer y ver rápidamente las credenciales, la región y el formato de salida. En el ejemplo siguiente se muestran los valores de ejemplo.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

Para obtener más información, consulte Configuración rápida con aws configure

aws configure set

Puede establecer las credenciales o las opciones de configuración mediante aws configure set. Especifique el perfil que desea ver o modificar con la opción --profile.

Por ejemplo, el siguiente comando configura region en el perfil denominado integ.

$ aws configure set region us-west-2 --profile integ

Para quitar una opción, utilice una cadena vacía como valor o elimine manualmente la opción de los archivos config y credentials en un editor de texto.

$ aws configure set cli_pager "" --profile integ
aws configure get

Puede recuperar las credenciales o las opciones de configuración que haya establecido utilizando aws configure get. Especifique el perfil que desea ver o modificar con la opción --profile.

Por ejemplo, el siguiente comando recupera la opción region en el perfil denominado integ.

$ aws configure get region --profile integ us-west-2

Si la salida está vacía, significa que la configuración no está establecida de forma explícita y se utiliza el valor predeterminado.

aws configure import

Importe las credenciales de CSV generadas desde la consola web de AWS. Se importa un archivo CSV con el nombre de perfil que coincide con el nombre de usuario de IAM. El archivo CSV debe contener los siguientes encabezados.

  • Nombre de usuario

  • ID de clave de acceso

  • Clave de acceso secreta

nota

Durante la creación del par de claves inicial, una vez que cierre el cuadro de diálogo Download .csv file (Descargar archivo ‎.csv), no puede acceder a la clave de acceso secreta después de cerrar el cuadro de diálogo. Si necesita un archivo .csv, tendrá que crear uno usted mismo con los encabezados necesarios y la información del par de claves almacenada. Si no tiene acceso a la información del par de claves, debe crear un nuevo par de claves.

$ aws configure import --csv file://credentials.csv

Para obtener más información sobre pares de claves, consulte ID de clave de acceso y clave de acceso secreta.

aws configure list

Para enumerar todos los datos de configuración, utilice el comando aws configure list. Este comando muestra el nombre de la AWS CLI de todas las opciones que ha configurado, sus valores y desde dónde se recuperó la configuración.

$ 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
aws configure list-profiles

Para enumerar todos los nombres de perfil, utilice el comando aws configure list-profiles.

$ aws configure list-profiles default test

Configuraciones del archivo config admitidas

Se admiten las siguientes opciones en el archivo config. Se utilizan los valores enumerados en el perfil especificado (o predeterminado) a menos que queden anulados por la presencia de una variable de entorno con el mismo nombre o una opción de línea de comandos con el mismo nombre. Para obtener más información sobre las opciones que tienen prioridad, consulte Ajustes de configuración y precedencia

Global settings (Configuración global)

aws_access_key_id

Especifica la clave de acceso de AWS que se utiliza como parte de las credenciales para autenticar la solicitud del comando. Aunque puede estar almacenada en el archivo config, recomendamos almacenar esta información en el archivo credentials.

Se puede anular mediante la variable de entorno AWS_ACCESS_KEY_ID. No se puede especificar el ID de clave de acceso como una opción de línea de comandos.

aws_access_key_id = AKIAIOSFODNN7EXAMPLE

Para obtener más información sobre pares de claves, consulte ID de clave de acceso y clave de acceso secreta.

aws_secret_access_key

Especifica la clave secreta de AWS que se utiliza como parte de las credenciales para autenticar la solicitud del comando. Aunque puede estar almacenada en el archivo config, recomendamos almacenar esta información en el archivo credentials.

Se puede anular mediante la variable de entorno AWS_SECRET_ACCESS_KEY. No se puede especificar la clave de acceso secreta como una opción de línea de comandos.

aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Para obtener más información sobre pares de claves, consulte ID de clave de acceso y clave de acceso secreta.

aws_session_token

Especifica un token de sesión de AWS. Un token de sesión solo es necesario si especifica manualmente credenciales de seguridad temporales. Aunque puede estar almacenada en el archivo config, recomendamos almacenar esta información en el archivo credentials.

Se puede anular mediante la variable de entorno AWS_SESSION_TOKEN. No se puede especificar un token de sesión como una opción de línea de comandos.

aws_session_token = AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
ca_bundle

Especifica un paquete de certificados de CA (un archivo con la extensión .pem) que se utiliza para verificar certificados SSL.

Se puede anular mediante la variable de entorno AWS_CA_BUNDLE o la opción de línea de comandos --ca-bundle.

ca_bundle = dev/apps/ca-certs/cabundle-2019mar05.pem
cli_auto_prompt

Habilita la petición automática para la versión 2 de AWS CLI. Hay dos configuraciones que se pueden usar:

  • on utiliza el modo de petición automática completa cada vez que intenta ejecutar un comando de aws. Esto incluye presionar ENTER (INTRO) después de un comando completo o un comando incompleto.

    cli_auto_prompt = on
  • on-partial utiliza el modo de petición automática parcial. Si un comando está incompleto o no se puede ejecutar debido a errores de validación del lado del cliente, se utiliza la petición automática. Este modo es especialmente útil si tiene scripts preexistentes, runbooks, o solo desea que se le pregunte automáticamente sobre los comandos con los que no está familiarizado en lugar de preguntarle sobre cada comando.

    cli_auto_prompt = on-partial

Puede anular esta configuración mediante la variable de entorno de aws_cli_auto_prompt o los parámetros de la línea de comandos --cli-auto-prompt y --no-cli-auto-prompt.

Para obtener información sobre la características de petición automática de la versión 2 de AWS CLI, consulte Cómo tener una solicitud de AWS CLI para los comandos.

cli_binary_format

Especifica cómo la versión 2 de AWS CLI interpreta los parámetros de entrada binarios. Puede ser uno de los siguientes valores:

  • base64: este es el valor predeterminado. Un parámetro de entrada escrito como un objeto binario grande (BLOB) acepta una cadena codificada en base64. Para pasar verdadero contenido binario, coloque el contenido en un archivo y proporcione la ruta y el nombre del archivo con el prefijo fileb:// como valor del parámetro. Para pasar el texto codificado en base64 incluido en un archivo, proporcione la ruta y el nombre del archivo con el prefijo file:// como valor del parámetro.

  • raw-in-base64-out: proporciona compatibilidad hacia atrás con el comportamiento de la versión 1 de AWS CLI, según el cual los valores binarios deben pasarse literalmente.

Esta entrada no tiene una variable de entorno equivalente. Puede especificar el valor en un solo comando mediante el parámetro --cli-binary-format raw-in-base64-out.

cli_binary_format = raw-in-base64-out

Si hace referencia a un valor binario en un archivo mediante la notación del prefijo fileb://, la AWS CLI siempre espera que el archivo incluya contenido binario sin codificar y no intenta convertir el valor.

Si hace referencia a un valor binario en un archivo mediante la notación del prefijo file://, la AWS CLI tratará el archivo de acuerdo con el valor de cli_binary_format actual. Si el valor de esa configuración es base64 (el valor predeterminado cuando no se establece explícitamente), la AWS CLI espera que el archivo contenga texto codificado en base64. Si el valor de esa configuración es raw-in-base64-out, la AWS CLI espera que el archivo incluya contenido binario sin codificar.

cli_history

Está deshabilitado de forma predeterminada. Esta configuración habilita el historial de comandos para la AWS CLI. Después de habilitar esta configuración, la AWS CLI registra el historial de comandos aws.

cli_history = enabled

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.

cli_pager

Especifica el programa de paginación utilizado para la salida. De forma predeterminada, la versión 2 de AWS CLI devuelve todas las salidas a través del paginador predeterminado de su sistema operativo.

Puede ser anulado por la variable de entorno AWS_PAGER.

cli_pager=less

Para deshabilitar todo el uso de un programa de paginación externo, establezca la variable en una cadena vacía como se muestra en el siguiente ejemplo.

cli_pager=
cli_timestamp_format

Especifica el formato de los valores de la marca temporal incluidos en la salida. Puede especificar cualquiera de los siguientes valores:

  • iso8601: el valor predeterminado para la versión 2 de AWS CLI. Si se especifica, la AWS CLI cambia el formato de todas las marcas temporales conforme a ISO 8601.

    Las marcas temporales con formato ISO 8601 se parecen a los siguientes ejemplos. El primer ejemplo muestra la hora en hora universal coordinada (UTC) mediante la inclusión de una Z después de la hora. La fecha y la hora están separadas por una T.

    2019-10-31T22:21:41Z

    Para especificar una zona horaria diferente, en lugar de Z, especifique + o - y el número de horas que esta zona horaria está por delante o por detrás de UTC mediante un valor de dos dígitos. En el siguiente ejemplo, se muestra la misma hora que en el ejemplo anterior, pero ajustada a la hora estándar del Pacífico, que va ocho horas por detrás de UTC:

    2019-10-31T14:21:41-08
  • wire: el valor predeterminado para la versión 1 de AWS CLI. Si se especifica, la AWS CLI muestra todos los valores de las marcas temporales exactamente como se recibieron en la respuesta de la consulta HTTP.

Esta entrada no tiene una variable de entorno equivalente ni una opción de línea de comandos.

cli_timestamp_format = iso8601
credential_process

Especifica un comando externo que la AWS CLI ejecuta para generar o recuperar las credenciales de autenticación que se van a utilizar para este comando. El comando debe devolver las credenciales en un formato específico. Para obtener más información sobre el uso de esta configuración, consulte Obtención de credenciales con un proceso externo.

Esta entrada no tiene una variable de entorno equivalente ni una opción de línea de comandos.

credential_process = /opt/bin/awscreds-retriever --username susan
credential_source

Se utiliza en instancias o en contenedores de Amazon EC2 para especificar dónde la AWS CLI puede encontrar credenciales para usar a fin de asumir el rol que usted especificó con el parámetro role_arn. No puede especificar source_profile y credential_source en el mismo perfil.

Este parámetro puede tener uno de tres valores:

  • Environment (entorno): especifica que la AWS CLI va a recuperar las credenciales fuente a partir de las variables de entorno.

  • Ec2InstanceMetadata: especifica que la AWS CLI va a utilizar el rol de IAM asociado al perfil de instancia EC2 para obtener las credenciales fuente.

  • EcsContainer: especifica que la AWS CLI va a utilizar el rol de IAM asociado al contenedor de ECS como credenciales fuente.

credential_source = Ec2InstanceMetadata
duration_seconds

Especifica la duración máxima de la sesión de rol, en segundos. Este valor puede oscilar entre 900 segundos (15 minutos) y el valor de la duración máxima de la sesión para el rol (que puede ser 43200 como máximo). Se trata de un parámetro opcional y, de forma predeterminada, el valor se establece en 3600 segundos.

external_id

Especifica un identificador único utilizado por terceros para adoptar un rol en las cuentas de los clientes. Se asigna al parámetro ExternalId en la operación AssumeRole. Este parámetro solo es necesario si la política de confianza del rol especifica un valor para ExternalId. Para obtener más información, consulte Cómo utilizar un ID externo al conceder acceso a los recursos de AWS a terceros en la Guía del usuario de IAM.

max_attempts

Especifica un valor de los intentos de reintento máximos que utiliza el controlador de reintentos de AWS CLI, donde la llamada inicial cuenta hasta el valor max_attempts que usted le proporciona.

Puede invalidar este valor mediante la variable de entorno de AWS_MAX_ATTEMPTS.

max_attempts = 3
mfa_serial

El número de identificación del dispositivo MFA que se debe utilizar al asumir un rol. Este valor solo es obligatorio si la política de confianza del rol que se ha asumido incluye una condición que requiere autenticación MFA. El valor puede ser un número de serie de un dispositivo de hardware (como GAHT12345678) o un nombre de recurso de Amazon (ARN) de un dispositivo MFA virtual (como arn:aws:iam::123456789012:mfa/user).

output

Especifica el formato de la salida predeterminado para los comandos solicitados con este perfil. Puede especificar cualquiera de los siguientes valores:

  • json: la salida se formatea como una cadena JSON.

  • yaml: la salida se formatea como una cadena YAML.

  • yaml-stream: la salida se transmite y se formatea como una cadena YAML. El streaming permite un manejo más rápido de tipos de datos de gran tamaño.

  • text: la salida tiene el formato de varias líneas de valores de cadena separados por tabuladores. Esto puede ser útil para pasar la salida a un procesador de texto, como grep, sed o awk.

  • table: el resultado tiene el formato de una tabla en la que se usan los caracteres +|- para los bordes de celda. Normalmente, la información se presenta en un formato que es más fácil de leer que los demás formatos, pero que no es útil para programar.

Se puede anular mediante la variable de entorno AWS_DEFAULT_OUTPUT o la opción de línea de comandos --output.

output = table
parameter_validation

Especifica si el cliente de la AWS CLI intenta validar parámetros antes de enviarlos al punto de enlace de servicio de AWS.

  • true (verdadero): es el valor predeterminado. Si se especifica, la AWS CLI realiza la validación local de los parámetros de la línea de comandos.

  • false (falso): si se especifica, la AWS CLI no valida los parámetros de la línea de comandos antes de enviarlos al punto de enlace de servicio de AWS.

Esta entrada no tiene una variable de entorno equivalente ni una opción de línea de comandos.

parameter_validation = false
region

Especifica la Región de AWS a la que se envían solicitudes para los comandos solicitados con este perfil.

  • Puede especificar cualquiera de los códigos de región disponibles para el servicio elegido que se muestran en Regiones y puntos de enlace de AWS en la Referencia general de Amazon Web Services.

  • aws_global le permite especificar el punto de conexión global para los servicios que admiten un punto de conexión global además de puntos de conexión regionales, como AWS Security Token Service (AWS STS) y Amazon Simple Storage Service (Amazon S3).

Puede invalidar este valor mediante la variable de entorno AWS_REGION, variable de entorno AWS_DEFAULT_REGION o la opción de línea de comandos --region.

region = us-west-2
retry_mode

Especifica qué modo de reintento utiliza AWS CLI. Hay tres modos de reintento disponibles: heredado (predeterminado), estándar y adaptativo. Para obtener más información acerca de los reintentos, consulte Reintentos de AWS CLI.

Puede invalidar este valor mediante la variable de entorno de AWS_RETRY_MODE.

retry_mode = standard
role_arn

Especifica el nombre de recurso de Amazon (ARN) del rol de IAM que desea utilizar para ejecutar los comandos de la AWS CLI. También debe especificar uno de los siguientes parámetros para identificar las credenciales que tienen permiso para asumir este rol:

  • source_profile

  • credential_source

role_arn = arn:aws:iam::123456789012:role/role-name

La variable de entorno AWS_ROLE_ARN anula esta configuración.

Para obtener más información sobre el uso de las identidades web, consulte Adopción de un rol con una identidad web.

role_session_name

Especifica el nombre que se va a asociar a la sesión de rol. Este valor se proporciona al parámetro RoleSessionName cuando la AWS CLI llama a la operación AssumeRole y pasa a formar parte del ARN del usuario del rol asumido: arn:aws:sts::123456789012:assumed-role/role_name/role_session_name. Se trata de un parámetro opcional. Si no proporciona este valor, se genera automáticamente un nombre de sesión. Este nombre aparece en los registros de AWS CloudTrail correspondientes a las entradas asociadas a esta sesión.

role_session_name = maria_garcia_role

La variable de entorno AWS_ROLE_SESSION_NAME anula esta configuración.

Para obtener más información sobre el uso de las identidades web, consulte Adopción de un rol con una identidad web.

source_profile

Especifica un perfil con nombre con credenciales duraderas que la AWS CLI puede utilizar para asumir el rol que ha especificado con el parámetro role_arn. No puede especificar source_profile y credential_source en el mismo perfil.

source_profile = production-profile
sso_account_id

Especifica el ID de la cuenta de AWS que contiene el rol de IAM con el permiso que desea conceder al usuario de IAM Identity Center asociado.

Esta configuración no tiene ninguna variable de entorno ni ninguna opción de línea de comandos.

sso_account_id = 123456789012
sso_region

Especifica la región de AWS que contiene el host del portal de acceso de AWS. Esto es independiente (y puede ser una región diferente) del parámetro region predeterminado de la CLI.

Esta configuración no tiene ninguna variable de entorno ni ninguna opción de línea de comandos.

sso_region = us_west-2
sso_role_name

Especifica el nombre descriptivo del rol de IAM que define los permisos que tiene el usuario cuando utiliza este perfil.

Esta configuración no tiene ninguna variable de entorno ni ninguna opción de línea de comandos.

sso_role_name = ReadAccess
sso_start_url

Especifica la URL que apunta al portal de acceso de AWS de la organización. La AWS CLI utiliza esta dirección URL para establecer una sesión con el servicio IAM Identity Center para autenticar a sus usuarios. Para encontrar la URL del portal de acceso de AWS, puede usar una de las opciones siguientes:

  • Abra el correo electrónico de invitación, aparece la URL del portal de acceso de AWS.

  • Abra la consola de AWS IAM Identity Center (successor to AWS Single Sign-On) en https://console.aws.amazon.com/singlesignon/. La URL del portal de acceso de AWS aparece en la configuración.

Esta configuración no tiene ninguna variable de entorno ni ninguna opción de línea de comandos.

sso_start_url = https://my-sso-portal.awsapps.com/start
web_identity_token_file

Especifica la ruta de un archivo que contiene un token de acceso de OAuth 2.0 o un token de ID de OpenID Connect proporcionado por un proveedor de identidades. La AWS CLI carga el contenido de este archivo y lo pasa como argumento WebIdentityToken a la operación AssumeRoleWithWebIdentity.

La variable de entorno AWS_WEB_IDENTITY_TOKEN_FILE anula esta configuración.

Para obtener más información sobre el uso de las identidades web, consulte Adopción de un rol con una identidad web.

tcp_keepalive

Especifica si el cliente de la AWS CLI utiliza paquetes keep-alive de TCP.

Esta entrada no tiene una variable de entorno equivalente ni una opción de línea de comandos.

tcp_keepalive = false

Configuración de comandos personalizados de S3

Amazon S3 admite varios ajustes que configuran la forma en que la AWS CLI realiza operaciones de Amazon S3. Algunos se aplican a todos los comandos de S3 tanto en los espacios de nombres s3 como s3api. Otros son específicos de los comandos "personalizados" de S3 que abstraen operaciones comunes y hacen más que un mapeo uno a uno en una operación de la API. Los comandos de aws s3 de transferencia cp, sync, mv y rm tienen opciones adicionales que puede utilizar para controlar las transferencias de S3.

Para configurar todas estas opciones, especifique la configuración s3 anidada en su archivo config. A continuación, se introduce con sangría cada configuración en su propia línea.

nota

Estos ajustes son completamente opcionales. Debe poder utilizar los comandos de transferencia de aws s3 sin configurar ninguno de estos ajustes. Estas opciones se ofrecen para afinar el rendimiento o para tener en cuenta el entorno específico en el que se ejecutan estos comandos de aws s3.

Estos ajustes se establecen con una clave de s3 de alto nivel en el archivo config, tal y como se muestra en el siguiente ejemplo del perfil development.

[profile development] s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path

Los siguientes ajustes se aplican a cualquier comando de S3 en el espacio de nombres s3 o s3api.

addressing_style

Especifica qué estilo de direccionamiento debe usarse. Esto controla si el nombre del bucket está en el hostname o es parte de la URL. Los valores válidos son path, virtual y auto. El valor predeterminado es auto.

Hay dos estilos para crear un punto enlace de Amazon S3. El primero se llama virtual e incluye el nombre del bucket como parte del nombre de host. Por ejemplo: https://bucketname.s3.amazonaws.com. Si lo desea, también puede utilizar el estilo path, que tratará el nombre del bucket como si fuera una ruta del URI; por ejemplo, https://s3.amazonaws.com/bucketname. El valor predeterminado en la CLI es utilizar auto, que intenta utilizar el estilo virtual siempre que puede, pero usará el estilo path cuando sea necesario. Por ejemplo, si el nombre del bucket no es compatible con DNS, el nombre del bucket no puede formar parte del nombre de host y debe estar en la ruta. Con auto, la CLI detectará esta condición y cambiará automáticamente al estilo path. Si establece el estilo de direccionamiento en path, debe asegurarse de que la región de AWS que ha configurado en la AWS CLI coincida con la región del bucket.

payload_signing_enabled

Especifica si firma con SHA256 cargas de sigv4. De forma predeterminada, esta opción está deshabilitada para cargas de streaming (UploadPart y PutObject) cuando se utiliza https. De forma predeterminada, la opción está configurada en false para cargas de streaming (UploadPart y PutObject), pero solo si está presente un ContentMD5 (se genera de forma predeterminada) y el punto de enlace utiliza HTTPS.

Si se establece en verdadero, las solicitudes de S3 reciben validación de contenido adicional en forma de suma de comprobación SHA256 que se calcula automáticamente y se incluye en la firma de la solicitud. Si se establece en falso, la suma de comprobación no se calcula. Deshabilitar esta opción puede ser útil para reducir la sobrecarga de rendimiento creada por el cálculo de la suma de comprobación.

use_dualstack_endpoint

Utilice el punto de enlace IPv4/IPv6 doble de Amazon S3 para todos los comandos s3 y s3api. El valor predeterminado es false. Es mutuamente excluyente con la configuración use_accelerate_endpoint.

Si se establece en true (verdadero), la AWS CLI dirige todas las solicitudes de Amazon S3 al punto de enlace IPv4/IPv6 dual de la región configurada.

use_accelerate_endpoint

Utilice el punto de enlace de aceleración de Amazon S3 para todos los comandos s3 y s3api. El valor predeterminado es false. Es mutuamente excluyente con la configuración use_dualstack_endpoint.

Si se establece en true (verdadero), la AWS CLI dirige todas las solicitudes de Amazon S3 al punto de enlace de S3 Accelerate en s3-accelerate.amazonaws.com. Para utilizar este punto de enlace, debe habilitar el bucket para que use S3 Accelerate. Todas las solicitudes se envían mediante el direccionamiento al bucket de estilo virtual: my-bucket.s3-accelerate.amazonaws.com. Las solicitudes ListBuckets, CreateBucket y DeleteBucket no se envían al punto de enlace de S3 Accelerate, ya que este punto de enlace no admite estas operaciones. Este comportamiento también se puede establecer si el parámetro --endpoint-url está establecido en https://s3-accelerate.amazonaws.com o http://s3-accelerate.amazonaws.com para cualquier comando s3api o s3.

Estos ajustes de configuración solo se aplican a los comandos del conjunto de comandos del espacio de nombres de s3:

max_bandwidth

Especifica el ancho de banda máximo que puede ser consumido para cargar y descargar datos desde y hacia Amazon S3. El valor predeterminado es sin límite.

Esto limita el ancho de banda máximo que los comandos de S3 pueden utilizar para transferir datos desde y hacia Amazon S3. Este valor se aplica únicamente a cargas y descargas; no se aplica a copias o eliminaciones. El valor se expresa como bytes por segundo. El valor puede especificarse como:

  • Un número entero. Por ejemplo, 1048576 establece el uso de ancho de banda máximo en 1 megabyte por segundo.

  • Un número entero seguido de un sufijo de velocidad. Puede especificar sufijos de velocidad mediante: KB/s, MB/s o GB/s. Por ejemplo, 300KB/s, 10MB/s.

En general, se recomienda intenta reducir primero el consumo de ancho de banda, disminuyendo las max_concurrent_requests. Si así no se reduce el consumo de ancho de banda lo suficiente para conseguir la velocidad deseada, puede utilizar la opción max_bandwidth para limitar más el consumo de ancho de banda. Esto se debe a que max_concurrent_requests controla la cantidad de subprocesos se están ejecutando en este momento. Si en su lugar reduce primero max_bandwidth pero deja max_concurrent_requests en un valor alto, puede provocar que los subprocesos tengan que esperar innecesariamente. Esto puede provocar un consumo excesivo de recursos y que se agoten los tiempos de espera de conexión.

max_concurrent_requests

Especifica el número máximo de solicitudes concurrentes. El valor predeterminado es 10.

Los comandos de transferencia de aws s3 tienen varios subprocesos. En un momento dado, es posible que se estén ejecutando varias solicitudes de Amazon S3. Por ejemplo, cuando utiliza el comando aws s3 cp localdir s3://bucket/ --recursive para cargar archivos en un bucket de S3, la AWS CLI puede cargar los archivos localdir/file1, localdir/file2 y localdir/file3 en paralelo. La configuración max_concurrent_requests especifica el número máximo de operaciones de transferencia que se pueden ejecutar al mismo tiempo.

Es posible que tenga que cambiar este valor por varios motivos:

  • Reducir el valor: en algunos entornos, el valor predeterminado de 10 solicitudes simultáneas puede ser demasiado para un sistema. Esto puede provocar tiempos de espera de conexión o ralentizar la capacidad de respuesta del sistema. Al reducir este valor, los comandos de transferencia de S3 consumen menos recursos. La desventaja es que las transferencias de S3 puede tardar más en completarse. Puede ser necesario reducir este valor si utiliza una herramienta para limitar el ancho de banda.

  • Aumentar el valor: en algunos casos, puede ser conveniente que las transferencias de Amazon S3 se completen lo más rápido posible, con el mayor ancho de banda de red según sea necesario. En este caso, el número predeterminado de solicitudes simultáneas podría no ser suficiente para utilizar todo el ancho de banda de red disponible. Al aumentar este valor puede mejorar el tiempo que se tarda en completar una transferencia de Amazon S3.

max_queue_size

Especifica el número máximo de tareas en la cola. El valor predeterminado es 1000.

La AWS CLI utiliza internamente un modelo que pone en cola las tareas de Amazon S3 que luego ejecutan los consumidores, cuyo número está limitado por max_concurrent_requests. Una tarea, por lo general, se asigna a una sola operación de Amazon S3. Por ejemplo, una tarea puede ser PutObjectTask, GetObjectTask o UploadPartTask. La velocidad a la que se añaden tareas a la cola puede ser mucho más rápida que la velocidad en la que los consumidores finalizan las tareas. Para evitar el crecimiento ilimitado, el tamaño de la cola de tareas se limita a un tamaño específico. Esta configuración cambia el valor de ese número máximo.

Por lo general, no tendrá que cambiar este ajuste. Esta configuración también se corresponde con el número de tareas que la AWS CLI sabe que tienen que ejecutarse. Esto significa que, de forma predeterminada, la AWS CLI solo puede ver 1000 tareas. Aumentar este valor significa que la AWS CLI puede saber con mayor rapidez el número total de tareas necesario, suponiendo que la velocidad de la cola sea más rápida que la velocidad de finalización de la tarea. La desventaja es que un valor mayor en max_queue_size, exige también más memoria.

multipart_chunksize

Especifica el tamaño del fragmento que la AWS CLI utiliza en las transferencias multiparte de archivos individuales. El valor predeterminado es 8 MB, con un mínimo de 5 MB.

Cuando la transferencia de un archivo supera el multipart_threshold, la AWS CLI divide el archivo en fragmentos de este tamaño. Este valor puede especificarse utilizando la misma sintaxis que en multipart_threshold, ya sea especificando el número de bytes como un número entero o especificando un tamaño y un sufijo.

multipart_threshold

Especifica el umbral de tamaño que la AWS CLI utiliza en las transferencias multiparte de archivos individuales. El valor predeterminado es 8 MB.

Al cargar, descargar o copiar un archivo, los comandos de Amazon S3 cambian a operaciones multiparte si el archivo supera este tamaño. Puede especificar este valor de una de las dos formas siguientes:

  • El tamaño del archivo en bytes. Por ejemplo, 1048576.

  • El tamaño del archivo con un sufijo de tamaño. Puede utilizar KB, MB, GB o TB. Por ejemplo: 10MB, 1GB.

    nota

    S3 puede imponer restricciones en los valores válidos que se pueden utilizar para las operaciones multiparte. Para obtener más información, consulte la documentación Carga multiparte de S3 en la Guía de del usuario de Amazon Simple Storage Service.