AWS CLI: 50 comandos esenciales con emulador cloud FREE
Practica AWS de forma segura con retos guiados, output textual y canvas visual de arquitectura.
Este laboratorio no crea recursos reales. Los comandos están preparados para aprendizaje y usan placeholders como <VPC_ID>, <INSTANCE_ID> o <ACCOUNT_ID>.
Lista de 50 comandos AWS para copiar y ejecutar
Usa Copiar para llevar el comando al portapapeles. Usa Cargar para intentar colocarlo en el input del emulador o disparar el evento del plugin.
| # | Área | Comando | ¿Para qué sirve? | Canvas / output | Acción |
|---|---|---|---|---|---|
| 1 | Fundamentos | aws --version | Verifica la versión instalada de AWS CLI v2. | Muestra herramienta, versión y entorno local del usuario. | |
| 2 | Fundamentos | aws configure list | Lista la configuración activa de credenciales, región y perfil. | Identifica perfil, región y origen de credenciales sin revelar secretos. | |
| 3 | Fundamentos | aws configure get region | Consulta la región configurada por defecto. | Ubica el contexto regional donde se simularán los recursos. | |
| 4 | Identidad | aws sts get-caller-identity | Valida la identidad activa de AWS: cuenta, usuario o rol. | Dibuja la cuenta activa, ARN, perfil y permisos simulados. | |
| 5 | Regiones | aws ec2 describe-regions --all-regions --query "Regions[].RegionName" --output table | Lista regiones disponibles de EC2. | Muestra el selector de región y marca la región del laboratorio. | |
| 6 | Red VPC | aws ec2 create-vpc --cidr-block 10.10.0.0/16 --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=ww-aws-vpc}]' | Crea una VPC base para el laboratorio. | Agrega la capa de red con CIDR 10.10.0.0/16. | |
| 7 | Etiquetas | aws ec2 create-tags --resources <VPC_ID> --tags Key=Project,Value=Weisewelt Key=Environment,Value=FreeLab | Agrega etiquetas de proyecto y ambiente a la VPC. | Actualiza el inventario visual con metadatos de gobierno. | |
| 8 | Red VPC | aws ec2 describe-vpcs --filters "Name=tag:Name,Values=ww-aws-vpc" | Consulta la VPC creada por nombre. | Resalta la VPC encontrada y muestra VPC ID simulado. | |
| 9 | Subred pública | aws ec2 create-subnet --vpc-id <VPC_ID> --cidr-block 10.10.1.0/24 --availability-zone us-east-1a --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=ww-public-a},{Key=Visibility,Value=public}]' | Crea una subred pública en una zona de disponibilidad. | Dibuja una zona pública con CIDR, AZ y salida a Internet pendiente. | |
| 10 | Subred privada | aws ec2 create-subnet --vpc-id <VPC_ID> --cidr-block 10.10.11.0/24 --availability-zone us-east-1a --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=ww-private-a},{Key=Visibility,Value=private}]' | Crea una subred privada para bases de datos o nodos internos. | Dibuja una zona privada sin IP pública ni ruta directa a Internet. | |
| 11 | Internet Gateway | aws ec2 create-internet-gateway --tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=ww-igw}]' | Crea un Internet Gateway para permitir salida/entrada pública. | Agrega el componente IGW fuera de la VPC. | |
| 12 | Internet Gateway | aws ec2 attach-internet-gateway --internet-gateway-id <IGW_ID> --vpc-id <VPC_ID> | Conecta el Internet Gateway a la VPC. | Conecta visualmente la VPC con Internet. | |
| 13 | Rutas | aws ec2 create-route-table --vpc-id <VPC_ID> --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=ww-public-rt}]' | Crea una tabla de rutas pública. | Agrega tabla de rutas asociada a la zona pública. | |
| 14 | Rutas | aws ec2 create-route --route-table-id <ROUTE_TABLE_ID> --destination-cidr-block 0.0.0.0/0 --gateway-id <IGW_ID> | Agrega ruta por defecto hacia Internet. | Marca la subred pública como salida 0.0.0.0/0 por IGW. | |
| 15 | Rutas | aws ec2 associate-route-table --subnet-id <PUBLIC_SUBNET_ID> --route-table-id <ROUTE_TABLE_ID> | Asocia la tabla de rutas a la subred pública. | Activa la conectividad pública para esa subred. | |
| 16 | Seguridad | aws ec2 create-security-group --group-name ww-web-sg --description "Web access for Weisewelt lab" --vpc-id <VPC_ID> | Crea un Security Group para instancias web. | Dibuja el firewall lógico de entrada/salida. | |
| 17 | Seguridad | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 22 --cidr 203.0.113.10/32 | Permite SSH solo desde una IP de ejemplo controlada. | Muestra regla restrictiva para administración. | |
| 18 | Seguridad | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 80 --cidr 0.0.0.0/0 | Permite tráfico HTTP público. | Abre puerto 80 en el canvas con advertencia de exposición pública. | |
| 19 | Seguridad | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 443 --cidr 0.0.0.0/0 | Permite tráfico HTTPS público. | Abre puerto 443 y marca acceso web seguro. | |
| 20 | Seguridad | aws ec2 describe-security-groups --group-ids <SG_ID> --output table | Consulta reglas del Security Group. | Presenta reglas de entrada/salida en el inventario de seguridad. | |
| 21 | EC2 | aws ec2 create-key-pair --key-name ww-key --query 'KeyMaterial' --output text > ww-key.pem | Crea un par de llaves para acceso a EC2. | Agrega credencial de acceso y alerta sobre resguardo seguro. | |
| 22 | EC2 | aws ec2 run-instances --image-id ami-0123456789abcdef0 --count 1 --instance-type t3.micro --key-name ww-key --security-group-ids <SG_ID> --subnet-id <PUBLIC_SUBNET_ID> --associate-public-ip-address --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=ww-web-01}]' | Lanza una instancia EC2 en la subred pública. | Dibuja servidor web con IP privada y pública simulada. | |
| 23 | EC2 | aws ec2 describe-instances --filters "Name=tag:Name,Values=ww-web-01" --query "Reservations[].Instances[].{Id:InstanceId,State:State.Name,PrivateIP:PrivateIpAddress,PublicIP:PublicIpAddress}" --output table | Consulta estado e IPs de la instancia. | Actualiza estado running/stopped e IP pública/privada. | |
| 24 | EC2 | aws ec2 describe-instance-status --instance-ids <INSTANCE_ID> --include-all-instances | Revisa salud del sistema y de la instancia. | Muestra checks de salud en capa de monitoreo. | |
| 25 | Elastic IP | aws ec2 allocate-address --domain vpc | Reserva una Elastic IP para la VPC. | Agrega IP pública fija al inventario. | |
| 26 | Elastic IP | aws ec2 associate-address --instance-id <INSTANCE_ID> --allocation-id <ALLOCATION_ID> | Asocia la Elastic IP a la instancia EC2. | Conecta IP pública fija al servidor web. | |
| 27 | EC2 | aws ec2 stop-instances --instance-ids <INSTANCE_ID> | Detiene una instancia EC2. | Cambia el estado visual a stopped y conserva configuración. | |
| 28 | EC2 | aws ec2 start-instances --instance-ids <INSTANCE_ID> | Inicia una instancia detenida. | Cambia el estado visual a running. | |
| 29 | EC2 | aws ec2 terminate-instances --instance-ids <INSTANCE_ID> | Elimina una instancia EC2. | Remueve el servidor y deja historial de acción. | |
| 30 | EBS | aws ec2 create-volume --availability-zone us-east-1a --size 20 --volume-type gp3 --tag-specifications 'ResourceType=volume,Tags=[{Key=Name,Value=ww-data-vol}]' | Crea un volumen EBS gp3. | Agrega disco persistente en la misma zona de disponibilidad. | |
| 31 | EBS | aws ec2 attach-volume --volume-id <VOLUME_ID> --instance-id <INSTANCE_ID> --device /dev/sdf | Adjunta un volumen EBS a una instancia. | Conecta almacenamiento persistente al servidor. | |
| 32 | EBS Snapshot | aws ec2 create-snapshot --volume-id <VOLUME_ID> --description "Snapshot Weisewelt Free Lab" | Crea snapshot de un volumen EBS. | Agrega respaldo incremental en la capa de protección. | |
| 33 | S3 | aws s3 mb s3://ww-free-lab-<ACCOUNT_ID>-demo --region us-east-1 | Crea un bucket S3 para el laboratorio. | Dibuja bucket de objetos con región y nombre único. | |
| 34 | S3 | aws s3 cp ./index.html s3://ww-free-lab-<ACCOUNT_ID>-demo/index.html | Copia un archivo local al bucket. | Muestra objeto cargado dentro del bucket. | |
| 35 | S3 | aws s3 sync ./site s3://ww-free-lab-<ACCOUNT_ID>-demo --delete | Sincroniza una carpeta local con S3. | Simula despliegue de sitio estático y cambios incrementales. | |
| 36 | S3 | aws s3 ls s3://ww-free-lab-<ACCOUNT_ID>-demo --recursive --human-readable --summarize | Lista objetos del bucket con resumen. | Actualiza conteo de objetos y tamaño total. | |
| 37 | S3 Versioning | aws s3api put-bucket-versioning --bucket ww-free-lab-<ACCOUNT_ID>-demo --versioning-configuration Status=Enabled | Activa versionado en S3. | Marca protección contra sobrescritura accidental. | |
| 38 | IAM | aws iam create-role --role-name ww-lambda-exec --assume-role-policy-document file://trust-policy.json | Crea un rol IAM para ejecución de Lambda. | Agrega identidad de servicio y relación de confianza. | |
| 39 | IAM | aws iam attach-role-policy --role-name ww-lambda-exec --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole | Adjunta permisos administrados para logs básicos de Lambda. | Actualiza permisos efectivos del rol. | |
| 40 | Lambda | aws lambda create-function --function-name ww-hello-free --runtime python3.12 --role arn:aws:iam::<ACCOUNT_ID>:role/ww-lambda-exec --handler app.handler --zip-file fileb://function.zip | Crea una función Lambda desde un paquete ZIP. | Dibuja función serverless conectada a IAM y CloudWatch Logs. | |
| 41 | Lambda | aws lambda invoke --function-name ww-hello-free response.json | Ejecuta la función Lambda y guarda la respuesta. | Muestra evento, ejecución y respuesta simulada. | |
| 42 | CloudWatch Logs | aws logs describe-log-groups --log-group-name-prefix /aws/lambda/ww-hello-free | Consulta grupos de logs de Lambda. | Abre la capa de observabilidad y trazas. | |
| 43 | CloudWatch | aws cloudwatch put-metric-alarm --alarm-name ww-cpu-high --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 80 --comparison-operator GreaterThanThreshold --dimensions Name=InstanceId,Value=<INSTANCE_ID> --evaluation-periods 2 | Crea alarma por CPU alta en EC2. | Agrega alerta de monitoreo sobre la instancia. | |
| 44 | RDS | aws rds create-db-subnet-group --db-subnet-group-name ww-db-subnets --db-subnet-group-description "Weisewelt private DB subnets" --subnet-ids <PRIVATE_SUBNET_ID_A> <PRIVATE_SUBNET_ID_B> | Crea grupo de subredes privadas para RDS. | Ubica base de datos dentro de red privada. | |
| 45 | RDS | aws rds create-db-instance --db-instance-identifier ww-mysql-free --db-instance-class db.t4g.micro --engine mysql --master-username admin --master-user-password <STRONG_PASSWORD> --allocated-storage 20 --db-subnet-group-name ww-db-subnets --no-publicly-accessible | Crea instancia RDS MySQL privada. | Dibuja base de datos sin IP pública y con acceso interno. | |
| 46 | EKS | aws eks create-cluster --name ww-eks-free --role-arn arn:aws:iam::<ACCOUNT_ID>:role/ww-eks-cluster-role --resources-vpc-config subnetIds=<PUBLIC_SUBNET_ID>,<PRIVATE_SUBNET_ID>,securityGroupIds=<SG_ID> | Crea el plano de control de Amazon EKS. | Agrega cluster Kubernetes administrado con red configurada. | |
| 47 | EKS | aws eks describe-cluster --name ww-eks-free --query "cluster.{Name:name,Status:status,Endpoint:endpoint,Version:version}" --output table | Consulta estado, endpoint y versión del cluster EKS. | Actualiza el estado del plano de control. | |
| 48 | EKS | aws eks create-nodegroup --cluster-name ww-eks-free --nodegroup-name ww-ng-free --node-role arn:aws:iam::<ACCOUNT_ID>:role/ww-eks-node-role --subnets <PRIVATE_SUBNET_ID_A> <PRIVATE_SUBNET_ID_B> --instance-types t3.medium --scaling-config minSize=1,maxSize=3,desiredSize=1 | Crea grupo de nodos administrado para EKS. | Dibuja nodos privados y capacidad escalable. | |
| 49 | EKS | aws eks update-kubeconfig --region us-east-1 --name ww-eks-free | Configura kubeconfig local para conectarse al cluster. | Marca acceso administrativo desde la terminal. | |
| 50 | CloudFormation | aws cloudformation deploy --template-file template.yaml --stack-name ww-free-stack --capabilities CAPABILITY_NAMED_IAM --parameter-overrides Environment=free | Despliega infraestructura como código con CloudFormation. | Agrupa recursos en un stack y muestra dependencias. |