Os 10 Comandos Essenciais do AWS CLI para Gerenciamento Diário de Recursos

Desbloqueie todo o potencial da AWS com esta folha de dicas essencial dos 10 principais comandos do AWS CLI. Este guia abrange comandos vitais para o gerenciamento diário de recursos em armazenamento S3, instâncias de computação EC2 e administração de usuários IAM. Aprenda a listar, copiar, sincronizar, iniciar, parar, encerrar e gerenciar permissões de usuário de forma eficiente. Aumente sua produtividade, automatize tarefas e otimize suas operações AWS com exemplos práticos e melhores práticas. Ideal para desenvolvedores, engenheiros de operações e administradores de nuvem que buscam dominar o AWS CLI.

32 visualizações

Os 10 Comandos Essenciais da AWS CLI para Gerenciamento Diário de Recursos

Introdução

No mundo dinâmico da computação em nuvem, o Amazon Web Services (AWS) se destaca como uma plataforma líder, oferecendo uma vasta gama de serviços. Embora o Console de Gerenciamento da AWS forneça uma interface gráfica amigável, a AWS Command Line Interface (CLI) oferece poder e flexibilidade incomparáveis para gerenciar recursos. A CLI é uma ferramenta de código aberto que permite interagir com os serviços da AWS usando comandos no seu terminal, tornando-a indispensável para automação, scripting e tarefas operacionais diárias eficientes.

Dominar a AWS CLI pode aumentar significativamente sua produtividade, permitindo inspecionar, criar, modificar e excluir recursos rapidamente em suas contas AWS. Este artigo serve como uma folha de consulta crucial, destacando os 10 comandos essenciais da AWS CLI que todo usuário AWS deve conhecer para o gerenciamento diário de recursos, com foco específico no Amazon S3 (armazenamento), Amazon EC2 (computação) e AWS IAM (identidade e gerenciamento de acesso).

Seja você um desenvolvedor, um engenheiro de operações ou um administrador de nuvem, esses comandos o equiparão com as ferramentas para gerenciar seu ambiente AWS de forma mais eficaz, solucionar problemas mais rapidamente e automatizar tarefas repetitivas. Vamos mergulhar nos comandos que acelerarão seu fluxo de trabalho diário.

Pré-requisitos

Antes de começar, certifique-se de ter a AWS CLI instalada e configurada em seu sistema. Se não, siga a documentação oficial da AWS para instalá-la e configurar suas credenciais (ID da chave de acesso, chave de acesso secreta e região padrão).

# Verificar a versão da AWS CLI
aws --version

# Configurar a AWS CLI (se ainda não foi feito)
aws configure

Comandos Essenciais da AWS CLI para Amazon S3 (Simple Storage Service)

O Amazon S3 é um serviço de armazenamento de objetos altamente escalável, durável e disponível. Estes comandos são vitais para gerenciar seus buckets e objetos.

1. aws s3 ls - Listar Buckets e Objetos S3

Este comando permite listar seus buckets S3 ou os objetos dentro de um bucket específico. Geralmente é o primeiro passo para entender seu cenário de armazenamento.

Propósito: Visualizar buckets S3 ou o conteúdo de um bucket.

Exemplo:

# Listar todos os buckets S3 em sua conta
aws s3 ls

# Listar objetos em um bucket específico
aws s3 ls s3://nome-do-seu-bucket/

# Listar objetos recursivamente com tamanhos e datas legíveis por humanos
aws s3 ls s3://nome-do-seu-bucket/ --recursive --human-readable --summarize

Dicas:
* Use --recursive para listar todos os objetos e subpastas. --summarize fornece uma contagem total e tamanho.
* Você também pode especificar um caminho dentro de um bucket: aws s3 ls s3://nome-do-seu-bucket/prefixo/.

2. aws s3 cp - Copiar Arquivos para e de S3

O comando cp é fundamental para transferir arquivos entre seu sistema de arquivos local e o S3, ou mesmo entre buckets S3.

Propósito: Copiar arquivos locais para S3, objetos S3 para local, ou objetos S3 entre buckets.

Exemplo:

# Copiar um arquivo local para um bucket S3
aws s3 cp arquivo-local.txt s3://nome-do-seu-bucket/pasta/arquivo-remoto.txt

# Copiar um objeto do S3 para sua máquina local
aws s3 cp s3://nome-do-seu-bucket/pasta/arquivo-remoto.txt copia-local.txt

# Copiar um objeto de um bucket S3 para outro
aws s3 cp s3://bucket-origem/arquivo.txt s3://bucket-destino/novo-arquivo.txt

# Copiar um diretório local para S3 recursivamente
aws s3 cp --recursive pasta-local/ s3://nome-do-seu-bucket/pasta-remota/

Dicas:
* --recursive é crucial para copiar diretórios inteiros.
* Use --exclude e --include para filtrar arquivos durante cópias recursivas.

3. aws s3 sync - Sincronizar Diretórios Locais com S3

sync é um comando poderoso que sincroniza o conteúdo de um diretório com um prefixo S3, ou vice-versa. Ele copia apenas arquivos novos ou modificados, tornando-o altamente eficiente para backups e implantações.

Propósito: Sincronizar eficientemente um diretório local com um bucket/prefixo S3.

Exemplo:

# Sincronizar um diretório local com um bucket S3
aws s3 sync diretorio-local/ s3://nome-do-seu-bucket/caminho-remoto/

# Sincronizar um bucket S3 com um diretório local
aws s3 sync s3://nome-do-seu-bucket/caminho-remoto/ diretorio-local/

# Execução de teste para ver quais alterações seriam feitas sem realmente realizá-las
aws s3 sync diretorio-local/ s3://nome-do-seu-bucket/caminho-remoto/ --dryrun

Melhor Prática: Sempre use --dryrun primeiro para pré-visualizar as alterações antes de executar uma operação de sync, especialmente para dados críticos.

4. aws s3 rm - Remover Objetos e Buckets S3

Este comando é usado para excluir objetos de um bucket S3 ou para remover um bucket vazio.

Propósito: Excluir objetos ou buckets vazios do S3.

Exemplo:

# Excluir um único objeto de um bucket
aws s3 rm s3://nome-do-seu-bucket/caminho/para/objeto.txt

# Excluir todos os objetos em uma pasta (prefixo) recursivamente
aws s3 rm s3://nome-do-seu-bucket/pasta/ --recursive

# Excluir um bucket vazio
aws s3 rb s3://nome-do-seu-bucket/

# Remover um bucket e todo o seu conteúdo forçadamente (USE COM EXTREMA CAUTELA!)
aws s3 rb s3://nome-do-seu-bucket/ --force

Aviso: O comando aws s3 rb --force é destrutivo e irreversível. Use-o com extremo cuidado, pois ele excluirá todos os objetos e versões dentro do bucket especificado.

Comandos Essenciais da AWS CLI para Amazon EC2 (Elastic Compute Cloud)

O EC2 fornece capacidade de computação escalável na nuvem AWS. Estes comandos ajudam a gerenciar seus servidores virtuais.

5. aws ec2 describe-instances - Obter Detalhes de Instâncias EC2

Este é o seu comando principal para coletar informações sobre suas instâncias EC2, incluindo seu estado, IPs públicos/privados, tags e muito mais.

Propósito: Recuperar informações detalhadas sobre uma ou mais instâncias EC2.

Exemplo:

# Descrever todas as instâncias EC2 na região atual
aws ec2 describe-instances

# Descrever instâncias com uma tag específica (por exemplo, Environment=Production)
aws ec2 describe-instances \n    --filters "Name=tag:Environment,Values=Production"

# Descrever instâncias por ID de instância
aws ec2 describe-instances --instance-ids i-0abcdef1234567890

# Descrever instâncias e filtrar informações específicas usando JMESPath (por exemplo, PublicIpAddress)
aws ec2 describe-instances \n    --query "Reservations[*].Instances[*].{InstanceId:InstanceId,PublicIp:PublicIpAddress,State:State.Name}" \n    --output table

Dicas:
* --filters é poderoso para refinar os resultados com base no estado da instância, tags, tipos de instância e muito mais.
* --query permite extrair campos de dados específicos e reformatar a saída (por exemplo, usando expressões JMESPath).

6. aws ec2 start-instances - Iniciar Instâncias EC2 Paradas

Use este comando para iniciar uma ou mais instâncias EC2 paradas. As instâncias manterão seus endereços IP privados.

Propósito: Iniciar o processo de inicialização para instâncias EC2 paradas.

Exemplo:

# Iniciar uma única instância EC2
aws ec2 start-instances --instance-ids i-0abcdef1234567890

# Iniciar várias instâncias EC2
aws ec2 start-instances --instance-ids i-0abcdef1234567890 i-0fedcba9876543210

7. aws ec2 stop-instances - Parar Instâncias EC2 em Execução

Este comando para instâncias EC2 em execução. Você não será cobrado pelo uso da instância enquanto elas estiverem paradas, apenas pelos volumes EBS anexados.

Propósito: Parar instâncias EC2 em execução.

Exemplo:

# Parar uma única instância EC2
aws ec2 stop-instances --instance-ids i-0abcdef1234567890

# Parar várias instâncias EC2
aws ec2 stop-instances --instance-ids i-0abcdef1234567890 i-0fedcba9876543210

# Forçar a parada de uma instância (use com cautela para sistemas de produção)
aws ec2 stop-instances --instance-ids i-0abcdef1234567890 --force

Aviso: Forçar a parada de uma instância pode levar à perda de dados ou corrupção do sistema de arquivos se os aplicativos não forem encerrados graciosamente.

8. aws ec2 terminate-instances - Terminar Instâncias EC2

Terminar uma instância a exclui permanentemente, juntamente com seus volumes EBS associados (a menos que sejam configurados para persistir na terminação). Esta ação é irreversível.

Propósito: Excluir permanentemente instâncias EC2.

Exemplo:

# Terminar uma única instância EC2
aws ec2 terminate-instances --instance-ids i-0abcdef1234567890

# Terminar várias instâncias EC2
aws ec2 terminate-instances --instance-ids i-0abcdef1234567890 i-0fedcba9876543210

Aviso: A terminação é uma ação permanente e irreversível. Certifique-se de ter backups ou snapshots de dados críticos antes de terminar as instâncias.

Comandos Essenciais da AWS CLI para IAM (Identity and Access Management)

O IAM permite controlar o acesso aos serviços e recursos da AWS com segurança. Estes comandos ajudam a gerenciar usuários e suas permissões.

9. aws iam list-users - Listar Usuários IAM

Este comando fornece uma lista de todos os usuários IAM em sua conta AWS, juntamente com seus ARNs, datas de criação e IDs de usuário.

Propósito: Visualizar todos os usuários IAM configurados em sua conta AWS.

Exemplo:

# Listar todos os usuários IAM
aws iam list-users

# Listar usuários e extrair campos específicos usando JMESPath
aws iam list-users --query "Users[*].{UserName:UserName,CreateDate:CreateDate,Arn:Arn}" --output table

Melhor Prática: Revise regularmente sua lista de usuários IAM para garantir que apenas usuários necessários existam e que contas antigas e não utilizadas sejam removidas.

10. aws iam list-attached-user-policies - Listar Políticas Anexadas a um Usuário IAM

Compreender quais permissões um usuário IAM possui é crucial para a segurança e solução de problemas de acesso. Este comando lista as políticas gerenciadas diretamente anexadas a um usuário específico.

Propósito: Exibir políticas gerenciadas anexadas a um usuário IAM.

Exemplo:

# Listar todas as políticas gerenciadas anexadas a um usuário IAM específico
aws iam list-attached-user-policies --user-name SeuNomeDeUsuarioIAM

# Listar políticas inline anexadas a um usuário IAM específico
aws iam list-user-policies --user-name SeuNomeDeUsuarioIAM

Dicas:
* Lembre-se de que os usuários também podem herdar permissões de grupos (aws iam list-groups-for-user) e roles, ou ter políticas inline (aws iam list-user-policies).
* Para obter os detalhes de uma política específica, use aws iam get-policy --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess e, em seguida, aws iam get-policy-version.

Conclusão

A AWS CLI é uma ferramenta incrivelmente poderosa para qualquer pessoa que gerencie recursos no Amazon Web Services. Os dez comandos descritos neste guia – cobrindo S3, EC2 e IAM – formam a base das tarefas operacionais diárias, permitindo que você liste, crie, modifique e exclua recursos de nuvem com eficiência e precisão.

Ao integrar esses comandos em sua rotina, você pode otimizar seus fluxos de trabalho, automatizar tarefas repetitivas e obter insights mais profundos sobre seu ambiente AWS. Lembre-se de que a AWS CLI oferece funcionalidades extensas além desses comandos essenciais; encorajamos você a explorar a documentação oficial da AWS CLI para expandir ainda mais seu kit de ferramentas e descobrir recursos mais avançados. A prática regular e a exploração solidificarão sua expertise e o capacitarão a aproveitar todo o potencial da AWS.

Comece a praticar esses comandos hoje mesmo e veja sua produtividade no gerenciamento de nuvem disparar!