Otherwise, it resolves to classic. Between versions of the AWS CLI, auto resolution criteria may change. To guarantee use of a specific transfer client, set the preferred_transfer_client configuration variable to the appropriate transfer client listed below.
classic - Use the builtin, Python-based transfer client that supports all s3 commands, parameters, and most configuration values.
crt - Use the AWS Common Runtime (CRT) transfer client when possible. It is a C-based S3 transfer client that can improve transfer throughput. Currently, the CRT transfer client does not support all of the functionality available in the classic transfer client. The list below details what functionality is currently not supported by the crt transfer client option and the corresponding behavior of the AWS CLI if it is configured to prefer the crt transfer client:
S3 to S3 copies - Falls back to using the classic transfer client
Region redirects - Transfers fail for requests sent to a region that does not match the region of the targeted S3 bucket.
max_concurrent_requests, max_queue_size, multipart_threshold, and max_bandwidth configuration values - Ignores these configuration values.
I have been struggling with transfers in AWS between EC2 and S3 being way slower than the advertised EC2 bandwidth
Last week I learned about:
aws configure set s3.preferred_transfer_client crt
and now transfers are super duper fast.
The more you know