AWS CLI: 50 comandi essenziali con emulatore cloud FREE
Esercitati con AWS in sicurezza usando sfide guidate, output testuale e canvas visivo dell’architettura.
Questo laboratorio non crea risorse reali. I comandi sono preparati per l’apprendimento e usano placeholder come <VPC_ID>, <INSTANCE_ID> o <ACCOUNT_ID>.
Elenco di 50 comandi AWS da copiare ed eseguire
Usa Copia per inviare il comando agli appunti. Usa Carica per provare a inserirlo nell’input dell’emulatore o attivare l’evento del plugin.
| # | Area | Comando | A cosa serve? | Canvas / output | Azione |
|---|---|---|---|---|---|
| 1 | Fondamenti | aws --version | Verifica la versione installata di AWS CLI v2. | Mostra CLI, versione e ambiente locale. | |
| 2 | Fondamenti | aws configure list | Elenca credenziali attive, regione e configurazione del profilo. | Identifica profilo, regione e origine delle credenziali senza esporre segreti. | |
| 3 | Fondamenti | aws configure get region | Recupera la regione configurata di default. | Imposta il contesto regionale in cui verranno simulate le risorse del laboratorio. | |
| 4 | Identità | aws sts get-caller-identity | Valida l’identità AWS attiva: account, utente o ruolo. | Disegna account attivo, ARN, profilo e permessi simulati. | |
| 5 | Regioni | aws ec2 describe-regions --all-regions --query "Regions[].RegionName" --output table | Elenca le regioni EC2 disponibili. | Mostra il selettore regione e mette in evidenza la regione del laboratorio. | |
| 6 | Rete VPC | aws ec2 create-vpc --cidr-block 10.10.0.0/16 --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=ww-aws-vpc}]' | Crea la VPC di base per il laboratorio. | Aggiunge il livello di rete con CIDR 10.10.0.0/16. | |
| 7 | Tag | aws ec2 create-tags --resources <VPC_ID> --tags Key=Project,Value=Weisewelt Key=Environment,Value=FreeLab | Aggiunge tag di progetto e ambiente alla VPC. | Aggiorna l’inventario visivo con metadati di governance. | |
| 8 | Rete VPC | aws ec2 describe-vpcs --filters "Name=tag:Name,Values=ww-aws-vpc" | Interroga la VPC creata per nome. | Evidenzia la VPC trovata e mostra un VPC ID simulato. | |
| 9 | Sottorete pubblica | 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 sottorete pubblica in una Availability Zone. | Disegna una zona pubblica con CIDR, AZ e route Internet in attesa. | |
| 10 | Sottorete privata | 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 sottorete privata per database o nodi interni. | Disegna una zona privata senza IP pubblico né route diretta a Internet. | |
| 11 | Gateway Internet | aws ec2 create-internet-gateway --tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=ww-igw}]' | Crea un Gateway Internet per la connettività pubblica. | Aggiunge il componente IGW fuori dalla VPC. | |
| 12 | Gateway Internet | aws ec2 attach-internet-gateway --internet-gateway-id <IGW_ID> --vpc-id <VPC_ID> | Collega il Gateway Internet alla VPC. | Connette visivamente la VPC a Internet. | |
| 13 | Route | aws ec2 create-route-table --vpc-id <VPC_ID> --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=ww-public-rt}]' | Crea una tabella di routing pubblica. | Aggiunge una tabella di routing associata alla zona pubblica. | |
| 14 | Route | aws ec2 create-route --route-table-id <ROUTE_TABLE_ID> --destination-cidr-block 0.0.0.0/0 --gateway-id <IGW_ID> | Aggiunge la route predefinita verso il Gateway Internet. | Marca la route 0.0.0.0/0 della sottorete pubblica tramite IGW. | |
| 15 | Route | aws ec2 associate-route-table --subnet-id <PUBLIC_SUBNET_ID> --route-table-id <ROUTE_TABLE_ID> | Associa la tabella di routing alla sottorete pubblica. | Attiva la connettività pubblica per quella sottorete. | |
| 16 | Sicurezza | aws ec2 create-security-group --group-name ww-web-sg --description "Web access for Weisewelt lab" --vpc-id <VPC_ID> | Crea un Security Group per istanze web. | Disegna il firewall logico in ingresso/uscita. | |
| 17 | Sicurezza | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 22 --cidr 203.0.113.10/32 | Consente SSH solo da un IP di esempio controllato. | Mostra una regola restrittiva di amministrazione. | |
| 18 | Sicurezza | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 80 --cidr 0.0.0.0/0 | Consente traffico HTTP pubblico. | Apre la porta 80 nel canvas con avviso di esposizione pubblica. | |
| 19 | Sicurezza | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 443 --cidr 0.0.0.0/0 | Consente traffico HTTPS pubblico. | Apre la porta 443 e marca l’accesso web sicuro. | |
| 20 | Sicurezza | aws ec2 describe-security-groups --group-ids <SG_ID> --output table | Mostra le regole del Security Group. | Mostra regole in ingresso/uscita nell’inventario di sicurezza. | |
| 21 | EC2 | aws ec2 create-key-pair --key-name ww-key --query 'KeyMaterial' --output text > ww-key.pem | Crea una coppia di chiavi per l’accesso EC2. | Aggiunge credenziali di accesso e avvisa sulla conservazione sicura. | |
| 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}]' | Avvia un’istanza EC2 nella sottorete pubblica. | Disegna un server web con IP privati e pubblici simulati. | |
| 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 | Mostra stato dell’istanza e indirizzi IP. | Aggiorna stato running/stopped e IP pubblici/privati. | |
| 24 | EC2 | aws ec2 describe-instance-status --instance-ids <INSTANCE_ID> --include-all-instances | Controlla salute del sistema e dell’istanza. | Mostra health check nel livello di monitoraggio. | |
| 25 | Elastic IP | aws ec2 allocate-address --domain vpc | Alloca un Elastic IP per la VPC. | Aggiunge un IP pubblico fisso all’inventario. | |
| 26 | Elastic IP | aws ec2 associate-address --instance-id <INSTANCE_ID> --allocation-id <ALLOCATION_ID> | Associa l’Elastic IP all’istanza EC2. | Collega l’IP pubblico fisso al server web. | |
| 27 | EC2 | aws ec2 stop-instances --instance-ids <INSTANCE_ID> | Arresta un’istanza EC2. | Cambia lo stato visivo in stopped e conserva la configurazione. | |
| 28 | EC2 | aws ec2 start-instances --instance-ids <INSTANCE_ID> | Avvia un’istanza arrestata. | Cambia lo stato visivo in running. | |
| 29 | EC2 | aws ec2 terminate-instances --instance-ids <INSTANCE_ID> | Termina un’istanza EC2. | Rimuove il server e mantiene la cronologia dell’azione. | |
| 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 volume EBS gp3. | Aggiunge storage persistente nella stessa Availability Zone. | |
| 31 | EBS | aws ec2 attach-volume --volume-id <VOLUME_ID> --instance-id <INSTANCE_ID> --device /dev/sdf | Collega un volume EBS a un’istanza. | Connette storage persistente al server. | |
| 32 | Snapshot EBS | aws ec2 create-snapshot --volume-id <VOLUME_ID> --description "Snapshot Weisewelt Free Lab" | Crea uno snapshot da un volume EBS. | Aggiunge un backup incrementale nel livello di protezione. | |
| 33 | S3 | aws s3 mb s3://ww-free-lab-<ACCOUNT_ID>-demo --region us-east-1 | Crea un bucket S3 per il laboratorio. | Disegna un bucket di oggetti con regione e nome univoco. | |
| 34 | S3 | aws s3 cp ./index.html s3://ww-free-lab-<ACCOUNT_ID>-demo/index.html | Copia un file locale nel bucket. | Mostra l’oggetto caricato nel bucket. | |
| 35 | S3 | aws s3 sync ./site s3://ww-free-lab-<ACCOUNT_ID>-demo --delete | Sincronizza una cartella locale con S3. | Simula deploy di sito statico e modifiche incrementali. | |
| 36 | S3 | aws s3 ls s3://ww-free-lab-<ACCOUNT_ID>-demo --recursive --human-readable --summarize | Elenca oggetti del bucket con riepilogo. | Aggiorna conteggio oggetti e dimensione totale. | |
| 37 | Versioning S3 | aws s3api put-bucket-versioning --bucket ww-free-lab-<ACCOUNT_ID>-demo --versioning-configuration Status=Enabled | Abilita il versioning del bucket S3. | Marca la protezione contro sovrascritture accidentali. | |
| 38 | IAM | aws iam create-role --role-name ww-lambda-exec --assume-role-policy-document file://trust-policy.json | Crea un ruolo IAM per l’esecuzione Lambda. | Aggiunge un’identità di servizio e una relazione di fiducia. | |
| 39 | IAM | aws iam attach-role-policy --role-name ww-lambda-exec --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole | Collega la policy gestita per i log Lambda di base. | Aggiorna i permessi effettivi del ruolo. | |
| 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 funzione Lambda da un pacchetto ZIP. | Disegna una funzione serverless collegata a IAM e CloudWatch Logs. | |
| 41 | Lambda | aws lambda invoke --function-name ww-hello-free response.json | Invoca la funzione Lambda e salva la risposta. | Mostra evento, esecuzione e risposta simulata. | |
| 42 | CloudWatch Logs | aws logs describe-log-groups --log-group-name-prefix /aws/lambda/ww-hello-free | Mostra i gruppi di log Lambda. | Apre il livello di osservabilità e le trace. | |
| 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 un allarme CPU alta per EC2. | Aggiunge un alert di monitoraggio all’istanza. | |
| 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 un gruppo di sottoreti private per RDS. | Posiziona il database nella rete privata. | |
| 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 un’istanza RDS MySQL privata. | Disegna un database senza IP pubblico e con accesso 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 il control plane Amazon EKS. | Aggiunge un control plane Kubernetes gestito con configurazione di rete. | |
| 47 | EKS | aws eks describe-cluster --name ww-eks-free --query "cluster.{Name:name,Status:status,Endpoint:endpoint,Version:version}" --output table | Mostra stato, endpoint e versione del cluster EKS. | Aggiorna lo stato del control plane. | |
| 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 un node group gestito per EKS. | Disegna nodi privati e capacità scalabile. | |
| 49 | EKS | aws eks update-kubeconfig --region us-east-1 --name ww-eks-free | Aggiorna il kubeconfig locale per accedere al cluster. | Marca l’accesso amministrativo dal terminale. | |
| 50 | CloudFormation | aws cloudformation deploy --template-file template.yaml --stack-name ww-free-stack --capabilities CAPABILITY_NAMED_IAM --parameter-overrides Environment=free | Distribuisce infrastruttura come codice con CloudFormation. | Raggruppa risorse in uno stack e mostra dipendenze. |