curso
Como usar a CLI do AWS: Um passo a passo guiado para iniciantes
A AWS é um provedor de serviços em nuvem que oferece uma ampla gama de serviços dimensionáveis e sob demanda, incluindo capacidade de computação, armazenamento, bancos de dados, aprendizado de máquina, rede, análise e muito mais, a partir de seus data centers em todo o mundo. Confira os cursos Introdução à AWS e Tecnologia e serviços de nuvem da AWS para saber mais!
Para interagir e configurar recursos no AWS, podemos usar o console de gerenciamento do AWS ou a CLI do AWS.
Neste tutorial, orientaremos você na instalação da CLI do AWS a partir do zero, configurando-a para se comunicar com sua conta do AWS e demonstrando como criar alguns recursos básicos usando a CLI.
O que é a CLI do AWS?
A CLI do AWS é uma ferramenta avançada que permite que os usuários interajam com os serviços do AWS diretamente da linha de comando do computador. Os comandos da CLI do AWS fornecem funcionalidade equivalente à execução de tarefas no Console de gerenciamento do AWS.
Por exemplo, para listar todos os grupos de segurança em uma região específica da AWS, você deve navegar até a seção "Grupos de segurança" no serviço EC2 por meio do console.
Visualize os grupos de segurança no console do AWS.
Da mesma forma, você pode obter o mesmo resultado usando o comando aws ec2 describe-security-groups
na CLI do AWS.
Visualize os grupos de segurança por meio da CLI do AWS no terminal local.
Instalando a CLI do AWS
Você verá como instalar o AWS CLI no Windows, Mac e Linux.
Há duas versões principais do AWS CLI, a versão 1 e a 2. Discutiremos apenas a versão 2, pois é a versão mais recente, com mais funcionalidades. Para obter as informações mais recentes sobre a instalação ou atualização para a versão mais recente da CLI do AWS, visite a documentação do AWS.
Instalação no Windows
Faça o download do instalador no site oficial da AWS. Abrao pacote do instalador do Windows "AWSCLIV2" e você verá a janela mostrada abaixo.
Assistente de configuração da CLI do AWS.
Selecione "Next" e prossiga para aceitar o contrato de licença.
Contrato de licença da AWS CLI.
Confirme o local de instalação e prossiga com a instalação. A instalação em si não deve levar mais de 5 minutos.
Confirme o local de instalação.
Instalação em andamento.
Instalação concluída.
Para verificar se a instalação foi bem-sucedida, abra o terminal e execute o comando aws --version
. O resultado deve ser semelhante ao que você vê abaixo.
Verifique a instalação da AWS CLI no Windows.
Instalando no macOS
Você pode instalar a CLI do AWS no MacOS por meio do Homebrew ou do instalador de pacotes. Abordarei os dois métodos de instalação.
Instalação do pacote
Faça o download do instalador .pkg no site oficial do AWS. Abra o arquivo AWSCLIV2.pkg
e você verá a janela abaixo.
Instalação da CLI do AWS.
Aceite a licença, confirme o local de instalação e prossiga com a instalação.
Mensagem de instalação bem-sucedida.
Para verificar se a instalação foi bem-sucedida, abra o terminal e execute o comando aws --version
. O resultado deve ser semelhante ao que você vê abaixo.
Verifique a instalação do AWS CLI no MacOS.
Homebrew
Certifique-se de que você tenha o Homebrew instalado localmente. Para verificar, execute brew --version
. Caso contrário, você pode consultar a página oficial do Homebrew para obter instruções de instalação.
Em seguida, execute os seguintes comandos para instalar a CLI:
# With brew installed, update Homebrew's formulae and cask definitions
brew update
# Install AWS CLI
brew install awscli
# Verify the installation
aws --version
atualização e instalação do brew
Verifique a instalação da cerveja.
Instalação no Linux
Para demonstrar a instalação no Linux, iniciei um Amazon Linux EC2 com a AMI ami-0bd55ebedabddc3c0. Embora você tenha a versão 2 da AWS CLI instalada por padrão, ela não é da versão secundária mais recente. As etapas de atualização e instalação são semelhantes.
# Switch to superuser
sudo su -
# If you’re on Amazon Linux, to install the latest version of the AWS CLI, you must first uninstall the pre-installed yum version
yum remove awscli
# Download the AWS CLI zip file
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# Unzip the file
unzip awscliv2.zip
# Run the installer
./aws/install
# Verify AWS CLI
aws --version
Faça o download e descompacte o instalador.
Execute o instalador e verifique a instalação.
Configuração da CLI do AWS
Depois de instalar o AWS CLI, precisamos configurá-lo antes de usá-lo para interagir com nossos recursos do AWS. A configuração inclui a definição das credenciais do AWS e algumas configurações padrão opcionais.
Quando fazemos login no console do AWS, fazemos login como um usuário ou assumimos uma função. Da mesma forma, quando usamos a CLI do AWS para interagir com nossos recursos, devemos fazê-lo como um usuário ou assumir uma função.
Configuração das credenciais do AWS
Há duas maneiras de fazer login no console do AWS. A primeira é usar um usuário criado por meio do serviço de gerenciamento de identidade e acesso (IAM).
Página de login do usuário IAM.
A segunda é usar um usuário criado por meio do serviço IAM Identity Center.
Página de login do AWS Access Portal.
Para configurar a CLI do AWS, você precisa definir os endereços aws_access_key_id
e aws_secret_access_key
em seu local. Esse par de chaves identifica sua conta e concede acesso ao AWS. Dependendo do modo como você está fazendo login, a obtenção deles difere um pouco.
Usuário IAM
Para usar a CLI do AWS como um usuário do IAM, navegue até o serviço IAM por meio do console do AWS, selecione um usuário existente ou crie um novo. Usarei um usuário existente.
Usuário IAM.
Selecione o usuário e navegue até a guia "Security Credentials" (Credenciais de segurança). Role a tela para baixo para ver as "Chaves de acesso". Para este tutorial, criarei outra chave de acesso. Selecione "Create access key" (Criar chave de acesso).
Guia Credenciais de segurança de um usuário IAM.
Selecione "Command Line Interface (CLI)".
Crie uma chave de acesso.
Confirme e crie.
Chave de acesso criada.
Faça o download do arquivo .csv para mantê-lo em segurança. Em seguida, execute o comando aws configure
localmente e insira o valor para o acesso e a chave de acesso secreta. Estamos gravando esse conjunto de credenciais no perfil "padrão", pois não especificamos um perfil com o sinalizador --profile
. Discutiremos os perfis em uma seção posterior.
Comando de configuração do AWS.
Uma pasta oculta chamada ".aws" será criada em seu diretório inicial (~
).
A pasta .aws.
Ele contém dois arquivos, config
e credentials
.
Conteúdo da pasta .aws.
O arquivo config
armazena a região padrão e a opção de saída que você inseriu acima. Já o arquivo credentials
armazena os arquivos aws_access_key_id
e aws_secret_access_key
. Para visualizar seu conteúdo, você pode executar os comandos cat config
e cat credentials
.
Execute o comando aws sts get-caller-identity
para validar se as credenciais funcionam e se a identidade IAM correta é retornada.
Validar credenciais.
Usuário do centro de identidade IAM
Depois de fazer login, você será direcionado ao Portal de acesso da AWS para selecionar a conta e a função da AWS a serem assumidas ao fazer login no console. Selecione "Access keys" (Chaves de acesso) para a conta e a função que você deseja usar para a CLI do AWS.
Portal de acesso ao AWS.
Será exibida uma janela idêntica à da captura de tela abaixo. Escolha a opção 2, copie e cole o texto fornecido em seu arquivo de credenciais do AWS.
Credenciais do AWS Access Portal.
Observe que, além de aws_access_key_id
e aws_secret_access_key
, há um aws_session_token
em comparação com as credenciais de um usuário IAM abordadas na seção anterior. Isso adiciona uma camada extra de segurança às credenciais do usuário criadas por meio do IAM Identity Center, pois o token de sessão expirará e o usuário terá que se autenticar novamente para atualizar o token.
Depois de colar o texto da opção 2 em seu arquivo de credenciais do AWS, você deve inserir o texto no arquivo de credenciais do AWS:
# Use the AWS profile that you have just added
export AWS_PROFILE=<<Account Number>_<Role Name>>
# Valid that the credentials work
aws sts get-caller-identity
Validar credenciais.
O token de sessão acabará expirando, e precisamos gerar um novo.
Token expirado.
Em vez de copiá-lo novamente do Access Portal, como fizemos acima, podemos executar o aws sso login
em nosso local. Siga os comandos abaixo para definir as configurações de Single Sign-On (SSO) em seu local.
# Configure SSO to refresh your session token. The ~/.aws/sso folder will be created.
aws configure sso
Comando AWS configure SSO.
Você será solicitado a fazer login.
Conceder acesso à CLI do AWS.
Solicitação de CLI da AWS aprovada.
Quando o token de sessão expirar novamente, basta executar aws sso login
.
Saída de login do AWS SSO.
Opções de configuração
Podemos personalizar várias configurações como opções padrão para atender às nossas preferências. Se você não especificar explicitamente, essas configurações padrão serão aplicadas ao comando AWS CLI.
Para atualizar ou adicionar valores de configuração no arquivo config
, você pode executar o comando abaixo ou modificá-lo manualmente por meio do vim ou nano.
aws configure set <setting> <value>
região
Os recursos do AWS que residem em uma região exigirão que você especifique o endereço region
ao executar os comandos da CLI do AWS.
Se o sinalizador "--region <region name>" não for especificado no comando, será usada a região padrão indicada no arquivo de configuração. Se nenhuma região padrão for definida, você encontrará o seguinte erro.
Erro quando nenhuma região é especificada.
saída
A configuração output
define o formato de saída retornado pelo comando AWS CLI.
Por exemplo, o formato de saída padrão que configuramos acima é "JSON", e o comando aws sts get-caller-identity
retornou a saída no formato JSON. Outras opções válidas são "table" (tabela) e "text" (texto).
Esta é a aparência da saída da tabela. Adicionei o sinalizador --output table
para substituir o valor de saída padrão "JSON".
aws sts get-caller-identity --output table.
role_arn e source_profile
Se você não quiser usar o usuário do IAM diretamente e, em vez disso, quiser que ele assuma uma função, especifique a configuração role_arn
e source_profile
.
aws configure set role_arn arn:aws:iam::<Account ID>:role/<Role name>
# Put “default” as the profile name if you do not know what to put
aws configure set source_profile <profile name>
Depois de especificá-los, verifique se a função de IAM é de fato assumida.
Validar credenciais.
cli_pager
Por padrão, a CLI do AWS canaliza sua saída por meio de um pager como o less, que exige que você pressione q para sair. Podemos alterar esse comportamento desativando o pager para configurar a saída a ser exibida diretamente no terminal, executando:
aws configure set cli_pager ""
Saída com o cli_pager desativado.
cli_history
Para manter um registro dos comandos da CLI do AWS que foram executados, ative o cli_history
executando:
aws configure set cli_history enabled
O histórico será mantido em um banco de dados SQLite localizado em ~/.aws/cli/history
.
# View your AWS CLI history
aws history list
# Show details of a specific command
aws history show <command-id>
Resumo da configuração
Resumo das opções de configuração padrão:
Chave de configuração |
Descrição |
região |
Região padrão do AWS (por exemplo, us-east-1, ap-southeast-1). |
saída |
Formato de saída: json, texto ou tabela. |
role_arn |
ARN da função de IAM a ser assumida. |
source_profile |
Perfil a ser usado como fonte ao assumir uma função. |
cli_pager |
Pager de saída de comando (por exemplo, menos, ou definido como "" para desativar). |
cli_history |
Ativar ou desativar o arquivo de histórico da CLI (ativado ou desativado). |
cli_timestamp_format |
Personalize o formato do registro de data e hora (nenhum, iso8601, iso8601_ms). |
Se você seguiu os exemplos acima, o arquivo ~/.aws/config
deve ser assim.
Conteúdo do arquivo de configuração.
Entendendo os comandos da CLI do AWS
Todos os comandos da CLI do AWS têm um formato padrão:
Formato dos comandos da CLI do AWS - imagem do autor.
A operação específica de cada serviço terá opções/bandas opcionais ou obrigatórias a serem adicionadas.
Comandos básicos
Nossa CLI do AWS agora pode acessar de forma programática nossa conta do AWS para interagir com os serviços. Vamos experimentar alguns comandos básicos em alguns serviços da AWS comumente usados!
EC2
Descrição |
Comando |
Descreve as instâncias especificadas ou todas as instâncias. |
aws ec2 describe-instances [--instance-ids <value>] |
Descreva os grupos de segurança especificados ou todos os seus grupos de segurança |
aws ec2 describe-security-groups [--group-ids <value>] |
Cria um instantâneo de um volume EBS e o armazena no Amazon S3 |
aws ec2 create-snapshot --volume-id <value> |
Criar uma VPC |
aws ec2 create-vpc [--cidr-block <value>] |
Resultado da descrição de todas as instâncias.
Para obter mais informações, consulte a documentação oficial do EC2.
S3
Descrição |
Comando |
Listar todos os buckets do S3 |
aws s3 ls |
Listar objetos em um bucket S3 |
aws s3 ls s3://<nome-do-bucket> --recursive |
Move um arquivo local ou objeto do S3 para outro local, localmente ou no S3 |
aws s3 mv <LocalPath> <S3Uri> ou <S3Uri> <LocalPath> ou <S3Uri> <S3Uri> |
Exclui um objeto em um bucket S3 |
aws s3 rm <S3Uri> |
Comandos S3.
Para obter mais informações, consulte a documentação oficial do S3.
Observe que, para o serviço AWS S3, além do comando aws s3
CLI discutido acima, há também o comando aws s3api
CLI. Os comandos aws s3
são bastante genéricos, enquanto os comandos aws s3api
são mais granulares e de nível inferior.
Para obter mais informações, consulte a documentação oficial do s3api.
Lambda
Descrição |
Comando |
Para listar todas as funções Lambda |
aws lambda list-functions |
Para obter informações sobre uma função Lambda |
aws lambda get-function --function-name <function name> |
Invoca uma função Lambda |
aws lambda invoke --function-name <nome da função> |
Retorna informações sobre a função.
Para obter mais informações, consulte a documentação oficial do Lambda.
Exemplo: Usando a CLI do AWS para o gerenciamento do EC2
Dê uma olhada no blog AWS EC2 Tutorial For Beginners (Tutorial do AWS EC2 para iniciantes ) para se atualizar sobre os conceitos básicos do EC2! Isso ajudará você a entender melhor os comandos a seguir.
# To create an EC2 instance
aws ec2 run-instances \
--image-id ami-0bd55ebedabddc3c0 \
--count 1 \
--instance-type t2.micro
Saída da criação de uma instância.
Execute aws ec2 describe-instances
para visualizar os detalhes de todas as instâncias do EC2, conforme abordado nos comandos básicos.
Se você quiser executar o comando para consultar uma instância ou instâncias específicas, adicione o sinalizador --instance-ids
com o ID da instância. E.g., aws ec2 describe-instances --instance-ids i-00836ea7575852f10
.
Resultado da descrição de uma instância.
# To stop the instance
aws ec2 stop-instances --instance-ids i-00836ea7575852f10
Saída da interrupção de uma instância.
# To start the instance
aws ec2 start-instances --instance-ids i-00836ea7575852f10
Saída do início de uma instância.
# To terminate the instance
aws ec2 terminate-instances --instance-ids i-00836ea7575852f10
Saída do encerramento de uma instância.
Exemplo: Trabalhando com buckets S3
Aqui estão alguns comandos úteis para você executar operações comuns com os buckets do S3, que são básicos na AWS!
# To create an S3 bucket. “mb” is short for “make bucket”
aws s3 mb s3://<bucket name> --region <region name>
# To list out all buckets
aws s3 ls
# To copy an object from your local or S3 object to another location locally or in S3. In the screenshot below, I used aws s3 cp <LocalPath> <S3Uri>
aws s3 cp <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>
# To delete an object from the S3 bucket
aws s3 rm <S3Uri>
# To sync the source directory to the destination. In the screenshot below, I used aws s3 sync <LocalPath> <S3Uri>
aws s3 sync <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>
# To list the objects in the bucket
aws s3 ls <S3Uri>
# To delete an S3 bucket, it has to be empty of objects and versioned objects before it can be deleted. “rb” is short for “remove bucket”
aws s3 rb s3://my-unique-bucket-name-gfht68
# The “aws s3 rb” command comes with the --force parameter to first remove all of the objects in the bucket and then remove the bucket itself.
aws s3 rb s3://mybucket --force
Saída dos comandos do AWS S3.
Recursos avançados da CLI da AWS
Agora que já praticamos alguns comandos básicos da CLI, podemos analisar alguns recursos mais avançados da interface e casos de uso.
Automatização de tarefas com a CLI do AWS
Os exemplos de CLI do AWS que abordamos até agora envolvem um único comando para obter informações ou executar uma ação no serviço. Vejamos exemplos de montagem de vários comandos da CLI em um script para automatizar tarefas.
Exemplo: Script automatizado de inicialização de instância EC2
Crie um arquivo launch_ec2.sh
com o seguinte conteúdo.
#!/bin/bash
# Set variables
INSTANCE_NAME="My_Demo_Instance"
AMI_ID="ami-0bd55ebedabddc3c0" # Replace with your preferred AMI ID
INSTANCE_TYPE="t2.micro" # Replace with the desired instance type
REGION="ap-southeast-1"
# Launch the EC2 instance
INSTANCE_ID=$(aws ec2 run-instances \
--image-id "$AMI_ID" \
--instance-type "$INSTANCE_TYPE" \
--region "$REGION" \
--query "Instances[0].InstanceId" \
--output text)
echo "Instance launched with ID: $INSTANCE_ID"
# Add a Name tag to the instance
aws ec2 create-tags \
--resources "$INSTANCE_ID" \
--tags Key=Name,Value="$INSTANCE_NAME" \
--region "$REGION"
echo "Tag added: Name=$INSTANCE_NAME"
# Wait for the instance to reach a running state
aws ec2 wait instance-running --instance-ids "$INSTANCE_ID" --region "$REGION"
echo "Instance is now running."
Você pode personalizar o script para incluir mais parâmetros, como o nome da chave (--key-name
), ID do grupo de segurança (--security-group-ids
), ID da sub-rede (--subnet-id
), etc.
# Grant the user permission to execute the shell script
chmod u+x ./launch_ec2.sh
# Run the script
./launch_ec2.sh
Inicie o script EC2.
Exemplo: Parada automatizada de todas as instâncias EC2 em execução
Crie um arquivo stop_ec2.sh
com o seguinte conteúdo:
#!/bin/bash
# Check if a region is provided as an argument
if [ -n "$1" ]; then
REGION="$1"
else
# Get the default region from AWS CLI configuration
REGION=$(aws configure get region)
if [ -z "$REGION" ]; then
echo "No region provided, and no default region found in AWS CLI configuration."
echo "Please provide a region as an argument: ./stop-all-ec2.sh <region>"
exit 1
fi
fi
echo "Using region: $REGION"
# Get a list of all running EC2 instance IDs
RUNNING_INSTANCES=$(aws ec2 describe-instances \
--filters Name=instance-state-name,Values=running \
--query "Reservations[*].Instances[*].InstanceId" \
--output text \
--region "$REGION")
if [ -z "$RUNNING_INSTANCES" ]; then
echo "No running EC2 instances found in region $REGION."
else
echo "Stopping the following EC2 instances in region $REGION:"
echo "$RUNNING_INSTANCES"
echo "Give it around 1 minute for the instances to be stopped."
# Stop the instances
aws ec2 stop-instances --instance-ids $RUNNING_INSTANCES --region "$REGION"
# Wait for the instances to stop
aws ec2 wait instance-stopped --instance-ids $RUNNING_INSTANCES --region "$REGION"
echo "All instances have been stopped successfully."
fi
# Grant the user permission to execute the shell script
chmod u+x ./stop_all_ec2.sh
# Run the script with the default region
./stop_all_ec2.sh
# Run the script overwriting the default region
./stop_all_ec2.sh us-west-1
Você pode parar o script EC2.
Usando a CLI do AWS com JSON e JQ
As saídas dos comandos da CLI do AWS contêm muitas informações. Em alguns casos, talvez não precisemos de todas as informações retornadas e desejemos apenas um subconjunto da saída.
Por exemplo, na seção "EC2" em "Comandos básicos" acima, vimos que o comando aws ec2 describe-instances
retornou uma saída JSON longa. Para analisar essa saída e obter apenas o que é necessário, podemos usar o sinalizador --query
ou o comando jq
.
Consulte os scripts de automação na seção "Automatização de tarefas com a CLI do AWS" acima para ver exemplos do sinalizador --query
.
Observe que o comando jq
só funciona em uma saída JSON. Portanto, configure a saída padrão como "JSON" ou passe o sinalizador --output json
para cada comando.
Verifique se o site jq
está instalado:
Verifique a versão do jq.
# Get a list of all EC2 instances and filter only the instance ID and state
aws ec2 describe-instances | jq '.Reservations[].Instances[] | {InstanceId: .InstanceId, State: .State.Name}'
# Count the number of EC2 instances in the "running" state.
aws ec2 describe-instances --output json | jq '[.Reservations[].Instances[] | select(.State.Name == "running")] | length'
# Extract Lambda Function Names and their runtimes
aws lambda list-functions --output json | jq '.Functions[] | {FunctionName: .FunctionName, Runtime: .Runtime}'
Comandos da CLI do AWS com jq.
Usando a CLI do AWS em um pipeline de CI/CD
Podemos utilizar a CLI do AWS na configuração do nosso pipeline para automatizar as interações com os serviços do AWS, como a implantação e a atualização dos nossos recursos do AWS sempre que o pipeline de CI/CD for executado.
No exemplo abaixo, usarei o pipeline do GitLab para demonstrar a implementação de uma função Lambda.
# .gitlab-ci.yml file configuration
stages:
- demo-cicd
datacamp_job:
image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest
stage: demo-cicd
id_tokens:
GITLAB_OIDC_TOKEN:
aud: https://gitlab.com
variables:
ROLE_ARN: "arn:aws:iam::717240872783:role/<Name of IAM Role that pipeline will use>"
AWS_DEFAULT_REGION: "ap-southeast-1"
script:
- aws --version
- >
export $(printf "AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s AWS_SESSION_TOKEN=%s"
$(aws sts assume-role-with-web-identity
--role-arn ${ROLE_ARN}
--role-session-name "GitLabRunner-${CI_PROJECT_ID}-${CI_PIPELINE_ID}"
--web-identity-token ${GITLAB_OIDC_TOKEN}
--duration-seconds 3600
--query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]'
--output text))
- aws sts get-caller-identity
- ls -l
- aws lambda create-function --function-name <function name> --runtime python3.13 --role <ARN of IAM role that Lambda function will use> --handler index.lambda_handler --zip-file fileb://lambda.zip
- unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
Registros de trabalho do pipeline do GitLab.
Você pode modificar a configuração do pipeline para passar os parâmetros junto com o comando da CLI do AWS como variáveis no trabalho do pipeline em vez de codificá-los, como fiz na captura de tela acima.
Dessa forma, sempre que quiser criar uma função Lambda, você poderá inserir e enviar as variáveis junto com a configuração do pipeline para o repositório Git.
Práticas recomendadas para usar a CLI do AWS
Como em todas as práticas recomendadas, conceda as permissões mínimas necessárias para executar a tarefa, independentemente de você usar um usuário ou uma função.
Vamos examinar outras práticas recomendadas específicas da CLI do AWS!
Usando funções do AWS IAM para segurança
As funções do AWS IAM fornecem credenciais de segurança temporárias para o acesso aos recursos do AWS. Essas credenciais são rotacionadas automaticamente e têm escopo para as permissões de uma função específica, reduzindo os riscos associados às chaves de acesso de longo prazo.
A maneira recomendada de usar uma função é por meio da função criada no IAM Identity Center, conforme mostrado na seção "IAM Identity Center" em "Configuração de credenciais da AWS" acima. Essa também é a abordagem recomendada pela AWS.
Abordagem recomendada pela AWS. Fonte da imagem: AWS.
Quando o administrador da nuvem cria o usuário por meio do IAM Identity Center, ele deve atribuir um conjunto de permissões.
Usuários no IAM Identity Center.
Para cada conjunto de permissões, o AWS criará uma função de IAM.
Conjuntos de permissões no IAM Identity Center.
Gerenciar vários perfis
Você provavelmente lidará com mais de uma conta do AWS em seu ambiente de trabalho. Usamos perfis para configurar vários conjuntos de credenciais nos arquivos ~/.aws/credentials
e ~/.aws/config
.
Na seção "Configuração das credenciais do AWS" acima, executamos o comando aws configure
sem especificar o perfil por meio do sinalizador --profile
ou da variável de ambiente AWS_PROFILE
. Assim, as credenciais e as informações de configuração são adicionadas ao perfil padrão. Para adicionar um novo perfil, você pode executar o aws configure --profile
para ter um conjunto separado de credenciais no novo perfil.
# Create a new profile called “dev”
aws configure --profile dev
# To run AWS CLI commands using the dev profile instead of the default profile, set the AWS_PROFILE environment variable to “dev”. Alternatively, add the “--profile dev” for every AWS CLI command.
export AWS_PROFILE=dev
# Validate that the IAM identity under the new profile is returned
aws sts get-caller-identity
Novas credenciais em um novo perfil.
Mantenha sua CLI do AWS atualizada
É importante atualizar nossa CLI do AWS para garantir uma interação eficaz com nossos serviços do AWS e aproveitar os recursos e aprimoramentos mais recentes.
Se você instalou o AWS CLI usando o pacote do instalador para Windows e Mac, precisou fazer o download de um arquivo para o computador local e executá-lo. Para atualizá-lo, você seguirá as mesmas etapas: Faça o download e execute o pacote de instalação mais recente.
Se você instalou o AWS CLI via brew no Mac, a atualização é tão simples quanto executar brew upgrade awscli
. Já tenho a versão mais recente instalada aqui.
Saída do comando awscli do brew upgrade.
No Linux, as etapas são as mesmas da instalação. Consulte o trecho de código na seção "Instalação no Linux". Siga os comandos para fazer o download do arquivo zip, descompactar e executar o instalador.
Registro e solução de problemas
A CLI do AWS é uma ferramenta incrível, mas também podemos enfrentar desafios ao trabalhar com ela. Vamos analisar como você pode superá-los.
Registro do histórico da CLI
Ocasionalmente, podemos nos esquecer de um comando e de seus parâmetros que executamos anteriormente ou querer visualizar a saída de um comando que foi executado. A ativação do cli_history
pode resolver essaspreocupações . Para obter mais informações, consulte a seção "Opções de configuração" acima.
Erros de configuração da CLI
Quando você encontrar erros de configuração da CLI do AWS, a execução do comando aws configure
ajudará a determinar se a CLI está lendo corretamente as informações das suas credenciais e do arquivo de configuração.
Erro "Não foi possível analisar o arquivo de configuração".
# View configuration for the existing profile
aws configure list
# Verify credentials
aws sts get-caller-identity
# Verify configuration values
aws configure get region
aws configure get role_arn
# Review Environment Variables. Variables like AWS_PROFILE, AWS_ACCESS_KEY_ID, and AWS_REGION can override configuration
env | grep AWS
Outros erros
Em raras ocasiões, podemos encontrar um erro desconhecido ao executar comandos da CLI do AWS. Para depurar o problema com a chamada de API ou reunir mais informações para entender o erro, talvez seja útil adicionar o sinalizador --debug
ao comando.
# Add the “--debug” flag
aws ec2 describe-instances --debug
Comando CLI do AWS com o sinalizador de depuração.
As informações adicionais devem ajudar você a entender e solucionar o problema.
Conclusão
A CLI do AWS é uma ferramenta avançada que permite que você interaja com os serviços do AWS de forma eficiente, automatize tarefas de rotina e gerencie facilmente os recursos da nuvem. Neste tutorial, ensinei a você como instalar, configurar e usar a CLI do AWS para realizar operações essenciais em vários serviços comuns do AWS.
Quer você seja um iniciante na nuvem ou um profissional experiente de DevOps, dominar a CLI da AWS pode aumentar significativamente a produtividade. Desde a criação e o gerenciamento de recursos até a automação de implementações, as possibilidades são praticamente infinitas com a CLI do AWS em seu kit de ferramentas.
Reserve um tempo para experimentar os comandos, explorar recursos avançados de script no seu pipeline e integrar a CLI do AWS às suas tarefas diárias. Feliz computação em nuvem!
Recomendo que você confira a trilha de habilidades do AWS Cloud Practitioner no DataCamp para se tornar um especialista em AWS.
Perguntas frequentes
Por que devo usar o AWS CLI em vez do AWS Management Console?
A CLI do AWS permite que você interaja com os serviços do AWS diretamente do seu terminal, fornecendo recursos de automação e fluxos de trabalho mais rápidos, que não são tão fáceis de obter com o Console do AWS.
Preciso verificar a soma de verificação do arquivo depois de fazer o download do pacote do instalador do AWS?
Embora não seja obrigatório, verificar a soma de verificação do pacote do instalador é uma boa prática.
Como posso verificar se o AWS CLI já está instalado no meu local?
Abra seu terminal e execute "aws --version". Se você receber "aws-cli/x.x.x...", a CLI do AWS está instalada. No entanto, a atualização para a versão mais recente é uma prática recomendada.
O que devo fazer se encontrar erros de autenticação ou de permissões ao usar a CLI do AWS?
Esses erros ocorrem devido a credenciais incorretas ou permissões insuficientes. Verifique novamente suas chaves de acesso ao AWS, certifique-se de que estejam associadas ao usuário ou à função de IAM correta e verifique se suas políticas de IAM permitem as ações necessárias. Se você estiver usando uma função e o token de sessão tiver expirado, execute o comando "aws sso login". Consulte a seção "Usuário do IAM Identity Center" para obter etapas detalhadas.
Como posso usar o AWS CLI para gerenciar recursos em várias regiões?
Você pode especificar a região do AWS em seus comandos usando o sinalizador "--region" ou pode definir uma região padrão usando o comando "aws configure". Consulte a seção "Opções de configuração" para obter mais informações.
Engenheiro experiente em infraestrutura de nuvem e DevOps, com experiência em Terraform, pipelines de CI/CD do GitLab e uma ampla gama de serviços da AWS, Kenny é especialista em projetar soluções de nuvem escaláveis, seguras e com custo otimizado. Ele se destaca na criação de infraestrutura reutilizável, automatizando fluxos de trabalho com Python e Bash e incorporando práticas recomendadas de segurança em pipelines de CI/CD. Com ampla experiência prática em Kubernetes e várias ferramentas de observabilidade, Kenny é especialista em gerenciar e orquestrar microsserviços e, ao mesmo tempo, garantir observabilidade e monitoramento de desempenho robustos. Reconhecido por sua liderança, orientação e compromisso com a inovação, Kenny fornece consistentemente soluções confiáveis e dimensionáveis para aplicativos modernos nativos da nuvem. Ele continua dedicado a permanecer na vanguarda das tendências do setor e das tecnologias emergentes, expandindo e aprofundando continuamente seu conjunto de habilidades.
Saiba mais sobre a AWS com estes cursos!
curso
AWS Security and Cost Management Concepts
curso
Introduction to AWS Boto in Python
blog
AWS Certified Cloud Practitioner: um guia completo

Srujana Maddula
27 min
blog
Certificações da AWS em 2024: Níveis, custos e como passar
tutorial
Primeiros passos com o AWS Athena: Um guia prático para iniciantes

Tim Lu
28 min
tutorial
Tutorial de armazenamento do AWS: Uma introdução prática ao S3 e ao EFS
tutorial
O guia completo para machine learning na AWS com o Amazon SageMaker
tutorial