Guía de migración para la versión 2 de la AWS CLI - AWS Command Line Interface

Guía de migración para la versión 2 de la AWS CLI

Esta sección contiene instrucciones para actualizar la AWS CLI versión 1 a la AWS CLI versión 2. La versión 2 de la AWS CLI se basa en la versión 1 de la AWS CLI e incluye características y mejoras basadas en los comentarios de la comunidad. La versión 2 de la AWS CLI es la versión principal y más reciente de la AWS CLI y es compatible con todas las características más recientes. ‎Algunas características ingresadas en la versión 2 no son compatibles con la versión 1 y debe realizar una actualización para acceder a esas características.

Para evitar problemas inesperados, antes de migrar a la versión 2, consulte las diferencias entre las versiones. La versión 2 de la AWS CLI incluye nuevas características y cambios que podrían requerir la actualización de los scripts o los comandos para obtener compatibilidad con versiones anteriores.

Las versiones 1 y 2 de la AWS CLI utilizan el mismo nombre de comando de aws. Si tiene ambas versiones instaladas, el equipo utiliza la primera que encuentra en la ruta de búsqueda. Esto puede provocar que el nombre de comando aws ejecute la versión anterior de AWS CLI, incluso si tiene instalada la versión nueva.

Para actualizar a la versión 2 de AWS CLI, siga una de las siguientes instrucciones:

Uso de herramientas de migración de la AWS CLI para mitigar las interrupciones

Hay cambios de comportamiento entre la versión 1 de la AWS CLI y la versión 2 de la AWS CLI que pueden requerir que actualice los scripts o comandos. Al actualizar a la versión 2 de la AWS CLI sin comprobar que los scripts existentes se migran de forma segura, se corre el riesgo de que se produzcan efectos inesperados al ejecutar los scripts con la versión 2 de la AWS CLI, como realizar cambios no deseados en los recursos de las cuentas de AWS.

Existen dos herramientas de AWS que puede utilizar para guiar la migración. Independientemente de la herramienta que utilice, recomendamos que se consulte Cambios importantes entre la AWS CLI versión 1 y la AWS CLI versión 2 en la guía de Nuevas características y cambios en la versión 2 de la AWS CLI.

Modo de depuración de actualizaciones

El modo de depuración de actualizaciones es una característica de la versión 1 de la AWS CLI que está disponible en las versiones 1.44.0 y superiores. Cuando esta característica está habilitada, se comprueba cada comando de la AWS CLI que ejecute para determinar si es probable que tenga un comportamiento diferente en la versión 2 de la AWS CLI, suponiendo que el entorno de ejecución siga siendo el mismo. Si un comando ejecutado tuviera un comportamiento diferente en la versión 2 de la AWS CLI, se mostrará una advertencia junto al resultado del comando con las acciones sugeridas que se pueden tomar para preservar el comportamiento de la versión 1 de la AWS CLI en la versión 2 de la AWS CLI.

La razón principal para utilizar el modo de depuración de actualizaciones como guía para la migración es que tiene una gran cobertura para detectar si los comandos sufrirán un cambio de comportamiento. 14 de los 15 cambios importantes descritos en Cambios importantes entre la AWS CLI versión 1 y la AWS CLI versión 2 se pueden detectar con el modo de depuración de actualizaciones; consulte Limitaciones en Uso del modo de depuración de actualizaciones para actualizar la versión 1 de AWS CLI a la versión 2 de AWS CLI para las limitaciones de esta característica. Por otro lado, la principal desventaja de usar el modo de depuración de actualizaciones es que su resultado solo es relevante dentro de su entorno de ejecución; si algún ajuste de configuración de la AWS CLI cambia en el entorno después de migrar a la versión 2 de la AWS CLI, es posible que se sigan produciendo cambios importantes y debe volver a verificarlo mediante el modo de depuración de actualizaciones en el entorno actualizado.

Herramienta de migración de la AWS CLI v1-to-v2

La herramienta de migración de la AWS CLI v1-to-v2 es una herramienta independiente que se puede usar con Python 3.9 y versiones posteriores. Esta herramienta es un linter estático que se ejecuta de forma independiente de la AWS CLI. Realiza revisión lint de scripts bash que contienen comandos de la versión 1 de la AWS CLI que pueden tener un comportamiento diferente en la versión 2 de la AWS CLI. Para la mayoría de los comandos que detecta que tienen probabilidades de tener un comportamiento diferente en la versión 2 de la AWS CLI, puede actualizar automáticamente el comando dentro del script para conservar el comportamiento de la versión 1 de la AWS CLI en la versión 2 de la AWS CLI.

La razón principal para utilizar la herramienta de migración de la AWS CLI v1-to-v2 para guiar la migración es que puede actualizar automáticamente los scripts para preservar el comportamiento de la versión 1 de la AWS CLI en la versión 2 de la AWS CLI, lo que ahorra tiempo y esfuerzo al realizar las actualizaciones la misma persona. Por otro lado, el principal inconveniente del uso de la herramienta de migración es que tiene una menor cobertura para detectar si los comandos sufrirán un cambio de comportamiento. Al ser una herramienta estática, no comprueba los cambios en el comportamiento que se determinan en tiempo de ejecución.

Elección entre el modo de depuración de actualizaciones y la herramienta de migración de la AWS CLI v1-to-v2

En la tabla siguiente, se destacan las principales diferencias entre el modo de depuración de actualizaciones y la herramienta de migración de la AWS CLI v1-to-v2, y se puede utilizar como guía para elegir la herramienta adecuada para su caso de uso.

Modo de depuración de actualizaciones Herramienta de migración de la AWS CLI v1-to-v2
Detecta 14 de los 15 cambios importantes entre la versión 1 de la AWS CLI y la versión 2 de la AWS CLI. Detecta 7 de los 15 cambios importantes entre la versión 1 de la AWS CLI y la versión 2 de la AWS CLI.
Compatible con cualquier programa de terminal que pueda ejecutar la AWS CLI. Solo admite linting scripts bash.
Requiere la versión 1 de la AWS CLI, la versión 1.44.0 o superior. Se ejecuta de forma independiente de la AWS CLI; no requiere que la AWS CLI esté instalada.
Se deben realizar correcciones manuales para preservar el comportamiento de la versión 1 de la AWS CLI en la versión 2 de la AWS CLI. Corrige automáticamente la mayoría de los comandos de la versión 1 de la AWS CLI que detecta que es probable que tengan un comportamiento diferente en la versión 2 de la AWS CLI.
Las detecciones y las correcciones sugeridas solo son relevantes para el entorno de ejecución (es decir, la configuración de la AWS CLI) en el que se ejecutan. Las detecciones y las correcciones sugeridas son independientes del entorno.
Requiere ejecutar cada comando de la AWS CLI sometido a prueba para comprobar el cambio de comportamiento. No requiere ejecutar ningún comando de la AWS CLI. Solo debe ejecutarse una vez por script bash.
Tiene exactamente 5 casos conocidos en los que generará detecciones de falsos positivos. Tiene exactamente 3 casos conocidos en los que generará detecciones de falsos positivos.

En la tabla siguiente, se muestran qué Cambios importantes entre la AWS CLI versión 1 y la AWS CLI versión 2 son compatibles con cada una de las dos herramientas de migración.

Cambios importantes Detectado mediante el modo de depuración de actualizaciones Detectado mediante la herramienta de migración de la AWS CLI v1-to-v2
Se ha agregado una variable de entorno para establecer la codificación de los archivos de texto No
Los parámetros binarios se pasan como cadenas codificadas en base64 de forma predeterminada
Mejora de la gestión de Amazon S3 de las propiedades y etiquetas de los archivos para las copias multiparte
No hay recuperación automática de las URL http:// o https:// para los parámetros No
Paginador usado para toda la salida de forma predeterminada
Los valores de salida de la marca de tiempo están estandarizados según el formato ISO 8601 No
Control mejorado de las implementaciones de CloudFormation que no producen cambios
Se ha cambiado el comportamiento predeterminado del punto de conexión regional de Amazon S3 para la región us-east-1 No
Se ha cambiado el comportamiento predeterminado de los puntos de conexión de AWS STS regionales No
Se ha eliminado ecr get-login y se ha reemplazado por ecr get-login-password
AWS CLIEl soporte de la versión 2 de la para complementos está cambiando No
Se ha eliminado la compatibilidad con los alias ocultos
No se admite la opción api_versions del archivo de configuración No
La AWS CLI versión 2 solo usa Signature v4 para autenticar las solicitudes de Amazon S3 No
La AWS CLI versión 2 es más coherente con los parámetros de paginación
La AWS CLI versión 2 proporciona códigos de retorno más coherentes en todos los comandos No No

Temas adicionales en esta sección