AWS CLI : 50 commandes essentielles avec émulateur cloud FREE
Pratiquez AWS en toute sécurité avec des défis guidés, une sortie textuelle et un canvas visuel d’architecture.
Ce laboratoire ne crée aucune ressource réelle. Les commandes sont préparées pour l’apprentissage et utilisent des placeholders comme <VPC_ID>, <INSTANCE_ID> ou <ACCOUNT_ID>.
Liste de 50 commandes AWS à copier et exécuter
Utilisez Copier pour envoyer la commande dans le presse-papiers. Utilisez Charger pour essayer de la placer dans l’entrée de l’émulateur ou déclencher l’événement du plugin.
| # | Domaine | Commande | À quoi ça sert ? | Canvas / sortie | Action |
|---|---|---|---|---|---|
| 1 | Bases | aws --version | Vérifie la version installée d’AWS CLI v2. | Affiche la CLI, la version et l’environnement local. | |
| 2 | Bases | aws configure list | Liste les identifiants actifs, la région et la configuration du profil. | Identifie le profil, la région et la source des identifiants sans exposer de secrets. | |
| 3 | Bases | aws configure get region | Récupère la région configurée par défaut. | Place le contexte régional où les ressources du laboratoire seront simulées. | |
| 4 | Identité | aws sts get-caller-identity | Valide l’identité AWS active : compte, utilisateur ou rôle. | Dessine le compte actif, l’ARN, le profil et les permissions simulées. | |
| 5 | Régions | aws ec2 describe-regions --all-regions --query "Regions[].RegionName" --output table | Liste les régions EC2 disponibles. | Affiche le sélecteur de région et met en évidence la région du laboratoire. | |
| 6 | Réseau VPC | aws ec2 create-vpc --cidr-block 10.10.0.0/16 --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=ww-aws-vpc}]' | Crée le VPC de base pour le laboratoire. | Ajoute la couche réseau avec le CIDR 10.10.0.0/16. | |
| 7 | Tags | aws ec2 create-tags --resources <VPC_ID> --tags Key=Project,Value=Weisewelt Key=Environment,Value=FreeLab | Ajoute des tags de projet et d’environnement au VPC. | Met à jour l’inventaire visuel avec les métadonnées de gouvernance. | |
| 8 | Réseau VPC | aws ec2 describe-vpcs --filters "Name=tag:Name,Values=ww-aws-vpc" | Interroge le VPC créé par nom. | Met en évidence le VPC trouvé et affiche un ID de VPC simulé. | |
| 9 | Sous-réseau public | 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}]' | Crée un sous-réseau public dans une zone de disponibilité. | Dessine une zone publique avec CIDR, AZ et route Internet en attente. | |
| 10 | Sous-réseau privé | 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}]' | Crée un sous-réseau privé pour bases de données ou nœuds internes. | Dessine une zone privée sans IP publique ni route Internet directe. | |
| 11 | Passerelle Internet | aws ec2 create-internet-gateway --tag-specifications 'ResourceType=internet-gateway,Tags=[{Key=Name,Value=ww-igw}]' | Crée une passerelle Internet pour la connectivité publique. | Ajoute le composant IGW en dehors du VPC. | |
| 12 | Passerelle Internet | aws ec2 attach-internet-gateway --internet-gateway-id <IGW_ID> --vpc-id <VPC_ID> | Attache la passerelle Internet au VPC. | Connecte visuellement le VPC à Internet. | |
| 13 | Routes | aws ec2 create-route-table --vpc-id <VPC_ID> --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=ww-public-rt}]' | Crée une table de routes publique. | Ajoute une table de routes associée à la zone publique. | |
| 14 | Routes | aws ec2 create-route --route-table-id <ROUTE_TABLE_ID> --destination-cidr-block 0.0.0.0/0 --gateway-id <IGW_ID> | Ajoute la route par défaut vers la passerelle Internet. | Marque la route 0.0.0.0/0 du sous-réseau public via l’IGW. | |
| 15 | Routes | aws ec2 associate-route-table --subnet-id <PUBLIC_SUBNET_ID> --route-table-id <ROUTE_TABLE_ID> | Associe la table de routes au sous-réseau public. | Active la connectivité publique pour ce sous-réseau. | |
| 16 | Sécurité | aws ec2 create-security-group --group-name ww-web-sg --description "Web access for Weisewelt lab" --vpc-id <VPC_ID> | Crée un Security Group pour les instances web. | Dessine le pare-feu logique entrant/sortant. | |
| 17 | Sécurité | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 22 --cidr 203.0.113.10/32 | Autorise SSH uniquement depuis une IP d’exemple contrôlée. | Affiche une règle d’administration restrictive. | |
| 18 | Sécurité | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 80 --cidr 0.0.0.0/0 | Autorise le trafic HTTP public. | Ouvre le port 80 sur le canvas avec un avertissement d’exposition publique. | |
| 19 | Sécurité | aws ec2 authorize-security-group-ingress --group-id <SG_ID> --protocol tcp --port 443 --cidr 0.0.0.0/0 | Autorise le trafic HTTPS public. | Ouvre le port 443 et marque l’accès web sécurisé. | |
| 20 | Sécurité | aws ec2 describe-security-groups --group-ids <SG_ID> --output table | Affiche les règles du Security Group. | Affiche les règles entrantes/sortantes dans l’inventaire de sécurité. | |
| 21 | EC2 | aws ec2 create-key-pair --key-name ww-key --query 'KeyMaterial' --output text > ww-key.pem | Crée une paire de clés pour l’accès EC2. | Ajoute des identifiants d’accès et avertit sur leur stockage sécurisé. | |
| 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}]' | Lance une instance EC2 dans le sous-réseau public. | Dessine un serveur web avec des IP privées et publiques simulées. | |
| 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 | Affiche l’état de l’instance et ses adresses IP. | Met à jour l’état running/stopped et les IP publiques/privées. | |
| 24 | EC2 | aws ec2 describe-instance-status --instance-ids <INSTANCE_ID> --include-all-instances | Vérifie la santé du système et de l’instance. | Affiche les health checks dans la couche de supervision. | |
| 25 | Elastic IP | aws ec2 allocate-address --domain vpc | Alloue une Elastic IP pour le VPC. | Ajoute une IP publique fixe à l’inventaire. | |
| 26 | Elastic IP | aws ec2 associate-address --instance-id <INSTANCE_ID> --allocation-id <ALLOCATION_ID> | Associe l’Elastic IP à l’instance EC2. | Connecte l’IP publique fixe au serveur web. | |
| 27 | EC2 | aws ec2 stop-instances --instance-ids <INSTANCE_ID> | Arrête une instance EC2. | Change l’état visuel en stopped et conserve la configuration. | |
| 28 | EC2 | aws ec2 start-instances --instance-ids <INSTANCE_ID> | Démarre une instance arrêtée. | Change l’état visuel en running. | |
| 29 | EC2 | aws ec2 terminate-instances --instance-ids <INSTANCE_ID> | Termine une instance EC2. | Supprime le serveur et conserve l’historique de l’action. | |
| 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}]' | Crée un volume EBS gp3. | Ajoute du stockage persistant dans la même zone de disponibilité. | |
| 31 | EBS | aws ec2 attach-volume --volume-id <VOLUME_ID> --instance-id <INSTANCE_ID> --device /dev/sdf | Attache un volume EBS à une instance. | Connecte le stockage persistant au serveur. | |
| 32 | Snapshot EBS | aws ec2 create-snapshot --volume-id <VOLUME_ID> --description "Snapshot Weisewelt Free Lab" | Crée un snapshot depuis un volume EBS. | Ajoute une sauvegarde incrémentale dans la couche de protection. | |
| 33 | S3 | aws s3 mb s3://ww-free-lab-<ACCOUNT_ID>-demo --region us-east-1 | Crée un bucket S3 pour le laboratoire. | Dessine un bucket d’objets avec région et nom unique. | |
| 34 | S3 | aws s3 cp ./index.html s3://ww-free-lab-<ACCOUNT_ID>-demo/index.html | Copie un fichier local dans le bucket. | Affiche l’objet téléversé dans le bucket. | |
| 35 | S3 | aws s3 sync ./site s3://ww-free-lab-<ACCOUNT_ID>-demo --delete | Synchronise un dossier local avec S3. | Simule le déploiement d’un site statique et les changements incrémentaux. | |
| 36 | S3 | aws s3 ls s3://ww-free-lab-<ACCOUNT_ID>-demo --recursive --human-readable --summarize | Liste les objets du bucket avec un résumé. | Met à jour le nombre d’objets et la taille totale. | |
| 37 | Versioning S3 | aws s3api put-bucket-versioning --bucket ww-free-lab-<ACCOUNT_ID>-demo --versioning-configuration Status=Enabled | Active le versioning du bucket S3. | Marque la protection contre les écrasements accidentels. | |
| 38 | IAM | aws iam create-role --role-name ww-lambda-exec --assume-role-policy-document file://trust-policy.json | Crée un rôle IAM pour l’exécution Lambda. | Ajoute une identité de service et une relation de confiance. | |
| 39 | IAM | aws iam attach-role-policy --role-name ww-lambda-exec --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole | Attache la stratégie gérée pour les logs Lambda de base. | Met à jour les permissions effectives du rôle. | |
| 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 | Crée une fonction Lambda à partir d’un package ZIP. | Dessine une fonction serverless connectée à IAM et CloudWatch Logs. | |
| 41 | Lambda | aws lambda invoke --function-name ww-hello-free response.json | Invoque la fonction Lambda et stocke la réponse. | Affiche l’événement, l’exécution et la réponse simulée. | |
| 42 | CloudWatch Logs | aws logs describe-log-groups --log-group-name-prefix /aws/lambda/ww-hello-free | Affiche les groupes de logs Lambda. | Ouvre la couche d’observabilité et les traces. | |
| 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 | Crée une alarme CPU élevée pour EC2. | Ajoute une alerte de supervision à l’instance. | |
| 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> | Crée un groupe de sous-réseaux privés pour RDS. | Place la base de données dans le réseau privé. | |
| 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 | Crée une instance RDS MySQL privée. | Dessine une base de données sans IP publique avec accès interne. | |
| 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> | Crée le plan de contrôle Amazon EKS. | Ajoute un plan de contrôle Kubernetes géré avec configuration réseau. | |
| 47 | EKS | aws eks describe-cluster --name ww-eks-free --query "cluster.{Name:name,Status:status,Endpoint:endpoint,Version:version}" --output table | Affiche l’état, l’endpoint et la version du cluster EKS. | Met à jour l’état du plan de contrôle. | |
| 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 | Crée un groupe de nœuds géré pour EKS. | Dessine des nœuds privés et une capacité évolutive. | |
| 49 | EKS | aws eks update-kubeconfig --region us-east-1 --name ww-eks-free | Met à jour le kubeconfig local pour accéder au cluster. | Marque l’accès administratif depuis le terminal. | |
| 50 | CloudFormation | aws cloudformation deploy --template-file template.yaml --stack-name ww-free-stack --capabilities CAPABILITY_NAMED_IAM --parameter-overrides Environment=free | Déploie l’infrastructure as code avec CloudFormation. | Regroupe les ressources dans une stack et affiche les dépendances. |