Comandos Frecuentes AWS CLI
Comandos Frecuentes AWS CLI
Recuerda buscar con CTRL+F con acentos y sin acentos, a veces lo escribía con teclado en inglés y no era fácil poner los acentos.
Por ejemplo si quieres ver como se pone una ip fija en CentOS busca "direccion" así sin acento y vas saltando entre las respuestas hasta que encuentres lo que buscas.
Los comandos más comunes en AWS CLI
Es una compilación de comandos AWS CLI que fui haciendo mientras aprendía y que aún uso de referencia, espero que también les sirva a ustedes tanto como me ha servido a mí.
Lo primero que se debe hacer es instalar y configurar AWS CLI
-- configurar las llaves
aws configure
-- Conocer el ID de la cuenta actual
aws sts get-caller-identity --query 'Account' --output text
868765432181
-- Ver el alias de la cuenta o el nombre amistoso que se le da a la cuenta
aws iam list-account-aliases --query 'AccountAliases[0]' --output text
-- identificar con que cuenta estamos trabajando tipo whoami en linux
aws sts get-caller-identity
El resultado será un json con más o menos la siguiente información:
{ "UserId": "AIDA52SZJW52SZM5KLUIS", "Account": "868765432181", "Arn": "arn:aws:iam::868765432181:user/hackvolution" }
-- Describir los trails de la cuenta
aws cloudTrail describe-trails
-- Obtener el estado de un trail
aws cloudTrail get-trail-status --name arn:aws:cloudtrail:us-east-1:053329225524:trail/kolibers-cloudtrail-org-prod-security
-- Listar las cuentas que forman parte de la organización
aws organizations list-accounts
-- Listar todos los usuarios de una cuenta y filtrar por el usuario que en su nombre contenga "luis", por favor nota que las comillas del nombre son backticks como se les conoce en inglés o comilla invertida, no es la comilla simple.
aws iam list-users --query 'Users[?contains(UserName, `luis`)].UserName' --output text --profile palig-dmz-nonprod
-- hacer grep a una salida de AWS CLI
aws iam list-users |grep luis
-- Listar todas las access keys de una cuenta
for user in $(AWS IAM list-users --output-text | awk '{print $NF}'); do aws iam list-access-keys --user $user --output text; done
-- Listar todas las access keys de una cuenta, si tienes más de un perfil agregar la opción --profile
for user in $(AWS IAM list-users --output-text --profile miperfil2aws | awk '{print $NF}'); do aws iam list-access-keys --user $user --output text --profile miperfil2aws; done
-- Listar los buckets s3 que hay en la cuenta (o a los que tienes acceso)
aws s3 ls
-- Listar los archivos de un bucket
aws s3 ls s3://el-nombre-de-tu-bucket/
-- calcular el tamaño del bucket
aws s3 ls s3://el-nombre-de-tu-bucket --recursive --human-readable --summarize
Te dará una salida como la siguiente:
2022-02-22 11:04:13 121Kib Bytes archivos_importantes/0054321.csv 2022-02-22 11:04:21 57.9 MiB Bytes archivos_importantes/hackvolution_ai-x000.csv 2022-02-22 11:04:40 0 Bytes archivos_importantes_kolibers/_EXITO 2022-02-22 11:04:40 0 Bytes media_kolibers/registros_27000.csv 2022-02-22 11:04:40 147 Bytes archivos_importantes_/hvt_20230404.csv
Total Objects: 2486 Total Size: 3.4 GiB
-- Listar todos los delivery streams de Kinesis:
aws firehose list-delivery-streams
-- Describir delivery streams específicos
aws firehose describe-delivery-stream --delivery-stream-name nombre-del-delivery-stream
-- Listar todos los waf de una cuenta
aws wafv2 list-web-acls --scope REGIONAL
-- Listar todos los grupos de CloudWatch
aws logs describe-log-groups
-- Listar los log streams dentro de un grupo:
aws logs describe-log-streams --log-group-name tu-log-group-del-waf
-- Para ver los logs de un stream específico usa el siguiente comando:
aws logs get-log-events --log-group-name mis-logs-waf --log-stream-name "us-east-1_prod-APIWAF_9"
-- Obtener los nombres de dominio asociados a un API Gateway
aws apigatewayv2 get-domain-names
-- Para solo filtrar el elemento DomainName del json del comando anterior se puede emplear la herramienta jq de la siguiente forma:
aws apigatewayv2 get-domain-names| jq '.Items[].DomainName'