Guia de migração para a AWS CLI versão 2 - AWS Command Line Interface

Guia de migração para a AWS CLI versão 2

Esta seção contém instruções para atualizar oAWS CLIversion 1 paraAWS CLIversão 2. A versão 2 da AWS CLI se baseia na versão 1 da AWS CLI e inclui recursos e aprimoramentos com base no feedback da comunidade. A AWS CLI versão 2 é a versão principal mais recente da AWS CLI e oferece suporte a todos os recursos mais recentes. Alguns recursos introduzidos na versão 2 não são compatíveis com a versão 1, e você deve fazer a atualização para acessá-los.

Para evitar problemas inesperados, antes de migrar para a versão 2, saiba mais sobre as diferenças entre as versões. A versão 2 da AWS CLI inclui novos recursos e outras alterações que podem exigir que você atualize seus scripts ou comandos para compatibilidade com versões anteriores.

As versões 1 e 2 da AWS CLI usam o mesmo nome de comando da aws. Se você tiver as duas versões instaladas, o computador usará a primeira encontrada no caminho de pesquisa. Isso pode fazer com que seu nome de comando aws chame sua versão da AWS CLI antiga, mesmo quando você tem a nova instalada.

Para atualizar para a AWS CLI versão 2, siga uma das instruções abaixo:

Usar ferramentas de migração da AWS CLI para mitigar falhas

Há alterações no comportamento entre a AWS CLI versão 1 e a AWS CLI versão 2 que podem exigir que você atualize seus scripts ou comandos. Se você fizer a atualização para a AWS CLI versão 2 sem verificar se seus scripts existentes foram migrados com segurança, correrá o risco de encontrar efeitos inesperados ao executar os scripts com a AWS CLI versão 2, como alterações indesejadas em recursos de suas contas da AWS.

Há duas ferramentas de propriedade da AWS que podem ser usadas para orientar sua migração. Independentemente da ferramenta usada, é recomendável consultar Alterações de última hora entre a AWS CLI versão 1 e a AWS CLI versão 2 no guia Novos atributos e alterações na AWS CLI versão 2.

Modo de depuração de atualização

O modo de depuração de atualização é um recurso da AWS CLI versão 1 que está disponível na 1.44.0 e em versões posteriores. Quando esse recurso é habilitado, cada comando executado da AWS CLI é verificado para determinar se é provável que tenha um comportamento diferente na AWS CLI versão 2, supondo que o ambiente de execução permaneça o mesmo. Se um comando executado tiver um comportamento diferente na AWS CLI versão 2, será mostrado um aviso ao lado da saída do comando com ações sugeridas que podem ser executadas para preservar o comportamento da AWS CLI versão 1 na AWS CLI versão 2.

O principal motivo para usar o modo de depuração de atualização para orientar a migração é que ele oferece ampla cobertura para detectar se os comandos enfrentarão uma mudança de comportamento. Catorze das quinze alterações que causam incompatibilidade descritas em Alterações de última hora entre a AWS CLI versão 1 e a AWS CLI versão 2 podem ser detectadas com o modo de depuração de atualização. Consulte Limitações em Usar o modo de depuração de atualização para atualizar a AWS CLI versão 1 para a AWS CLI versão 2 para ver quais são as limitações desse recurso. Entretanto, a principal desvantagem do modo de depuração de atualização é que a saída que ele apresenta só é relevante no respectivo ambiente de execução. Se alguma configuração da AWS CLI mudar no ambiente após a migração para a AWS CLI versão 2, ainda assim poderá haver alterações que causam incompatibilidade, caso em que será necessário verificar novamente usando o modo de depuração de atualização no ambiente atualizado.

Usar a Ferramenta de Migração da AWS CLI v1 para v2

A Ferramenta de Migração da AWS CLI v1 para v2 é uma ferramenta independente que pode ser usada com o Python 3.9 e posterior. Essa ferramenta é um linter estático que é executado independentemente da AWS CLI. Ela vincula scripts bash que contêm comandos da AWS CLI versão 1 que podem ter um comportamento diferente na AWS CLI versão 2. Com relação à maioria dos comandos que ela detecta como prováveis de ter um comportamento diferente na AWS CLI versão 2, ela pode atualizar automaticamente o comando dentro do script para preservar o comportamento da AWS CLI versão 1 na AWS CLI versão 2.

A Ferramenta de Migração da AWS CLI v1 para v2 deve ser usada para orientar a migração principalmente porque ela pode atualizar automaticamente seus scripts para preservar o comportamento da CLI AWS versão 1 na AWS CLI versão 2, economizando para você o tempo e esforço necessários para fazer as atualizações por conta própria. Entretanto, a principal desvantagem da ferramenta de migração é que ela oferece uma cobertura menor para detectar se os comandos enfrentarão uma mudança de comportamento. Por ser uma ferramenta estática, ela não verifica alterações no comportamento que são determinadas no runtime.

Escolher entre o modo de depuração de atualização e a Ferramenta de Migração da AWS CLI v1 para v2

A tabela a seguir destaca as principais diferenças entre o modo de depuração de atualização e a Ferramenta de Migração da AWS CLI v1 para v2 e pode ser usada para ajudar você a escolher a ferramenta certa para seu caso de uso.

Modo de depuração de atualização Usar a Ferramenta de Migração da AWS CLI v1 para v2
Detecta 14 das 15 alterações que causam incompatibilidade entre a AWS CLI versão 1 e a AWS CLI versão 2. Detecta 7 das 15 alterações que causam incompatibilidade entre a AWS CLI versão 1 e a AWS CLI versão 2.
Compatível com qualquer programa de terminal que possa executar a AWS CLI. Só permite aplicar lint em scripts bash.
Requer a AWS CLI versão 1, versão 1.44.0 ou posterior. É executada independentemente da AWS CLI; não exige que a AWS CLI seja instalada.
Correções manuais devem ser feitas para preservar o comportamento da AWS CLI versão 1 na AWS CLI versão 2. Corrige automaticamente a maioria dos comandos da AWS CLI versão 1 que ela detecta como prováveis de ter um comportamento diferente na CLI AWS versão 2.
As detecções e correções sugeridas são relevantes apenas para o ambiente de execução (isto é, a configuração da AWS CLI) em que ele é executado. As detecções e correções sugeridas são independentes do ambiente.
Requer a execução de cada comando da AWS CLI em teste para mudança de comportamento. Não requer a execução de nenhum comando da AWS CLI. Só precisa ser executada uma vez por script bash.
Tem exatamente cinco casos conhecidos em que produzirá detecções de falso-positivos. Tem exatamente três casos conhecidos em que produzirá detecções de falso-positivos.

A tabela a seguir mostra quais Alterações de última hora entre a AWS CLI versão 1 e a AWS CLI versão 2 cada uma das duas ferramentas de migração detecta.

Alterações que causam incompatibilidade Detectada pelo modo de depuração de atualização Detectada pela Ferramenta de Migração da AWS CLI v1 para v2
Variável de ambiente adicionada para definir codificação de arquivo de texto Sim Não
Os parâmetros binários são passados como strings codificadas em base64, por padrão. Sim Sim
Manuseio aprimorado do Amazon S3 de propriedades e tags de arquivos cópias fracionadas. Sim Sim
Nenhuma recuperação automática de URLs http:// ou https:// para parâmetros Sim Não
Pager usado para todas as saídas por padrão Sim Sim
Os valores de saída de carimbo de timestamp são padronizados para o formato ISO 8601 Sim Não
Manuseio aprimorado das implantações do CloudFormation que resulta em nenhuma alteração Sim Sim
Comportamento padrão alterado para endpoint do Amazon S3 regional para a região us-east-1 Sim Não
Comportamento padrão alterado para endpoints regionais do AWS STS Sim Não
ecr get-login removido e substituído por ecr get-login-password Sim Sim
AWS CLIO suporte da versão 2 a plugins está sendo alterado Sim Não
Suporte a alias oculto removido Sim Sim
A configuração do arquivo de configuração api_versions não é compatível Sim Não
A AWS CLI versão 2 usa apenas o Signature v4 para autenticar solicitações do Amazon S3. Sim Não
A AWS CLI versão 2 é mais consistente com os parâmetros de paginação Sim Sim
A AWS CLI versão 2 fornece códigos de retorno mais consistentes em todos os comandos Não Não

Tópicos adicionais nesta seção