Guide complet des commandes AWS CLI : gérez les services cloud Amazon Web Services (EC2, S3, Lambda, IAM) avec efficacité et productivité maximale.
aws configure
Configure les identifiants AWS (Access Key, Secret Key, région)
--profilelistgetsetimportexport
aws configure list
Affiche la configuration actuelle
--profile
aws configure get region
Affiche la valeur de la région configurée
--profile
aws configure set region eu-west-1
Définit la région par défaut
--profile
aws configure list-profiles
Liste tous les profils configurés
aws sts get-caller-identity
Affiche l'identité de l'utilisateur/appelant actuel
--profile--region⚠️--output--query
aws sts assume-role --role-arn arn:aws:iam::123456789012:role/MonRole --role-session-name MaSession
Assume un rôle IAM et obtient des identifiants temporaires
--role-arn⚠️--role-session-name⚠️--duration-seconds--external-id--serial-number--token-code--policy--policy-arns
aws sts get-session-token --duration-seconds 3600
Obtient un token de session temporaire (MFA)
--duration-seconds--serial-number--token-code
aws sts decode-authorization-message --encoded-message <message>
Décode un message d'erreur d'autorisation encodé
--encoded-message
aws s3 ls
Liste tous les buckets S3
--profile--region⚠️--query--output
aws s3 ls s3://mon-bucket/
Liste le contenu d'un bucket S3
--recursive⚠️--human-readable⚠️--summarize--page-size
aws s3 mb s3://mon-bucket
Crée un nouveau bucket S3 (mb = make bucket)
--region⚠️--create-bucket-configuration
aws s3 mb s3://mon-bucket --region eu-west-1
Crée un bucket dans une région spécifique
--region⚠️
aws s3 rb s3://mon-bucket
Supprime un bucket S3 vide (rb = remove bucket)
--force⚠️
aws s3 rb s3://mon-bucket --force
Supprime un bucket et tout son contenu
--force⚠️
aws s3 cp monfichier.txt s3://mon-bucket/
Copie un fichier vers S3
--recursive⚠️--exclude--include--acl--storage-class--metadata--cache-control--content-type--content-encoding--content-disposition--content-language--expires--grants--sse--sse-c--sse-c-key--sse-kms-key-id--no-progress--quiet
aws s3 cp s3://mon-bucket/monfichier.txt .
Télécharge un fichier depuis S3
--recursive⚠️--exclude--include--no-progress--quiet
aws s3 cp monfichier.txt s3://mon-bucket/ --storage-class STANDARD_IA
Upload avec classe de stockage Standard-IA
--storage-class
aws s3 cp monfichier.txt s3://mon-bucket/ --sse AES256
Upload avec chiffrement SSE-S3
--sse
aws s3 cp monfichier.txt s3://mon-bucket/ --sse aws:kms --sse-kms-key-id mon-key-id
Upload avec chiffrement SSE-KMS
--sse--sse-kms-key-id
aws s3 mv monfichier.txt s3://mon-bucket/
Déplace un fichier vers S3 (mv = move)
--recursive⚠️--exclude--include--acl--storage-class
aws s3 rm s3://mon-bucket/monfichier.txt
Supprime un fichier de S3 (rm = remove)
--recursive⚠️--exclude--include--dryrun
aws s3 sync ./dossier s3://mon-bucket/dossier
Synchronise un dossier local vers S3
--delete--exclude--include--acl--storage-class--dryrun--exact-timestamps--no-progress--quiet--size-only
aws s3 sync s3://mon-bucket/dossier ./dossier
Synchronise S3 vers un dossier local
--delete--exclude--include--dryrun--exact-timestamps
aws s3 sync ./dossier s3://mon-bucket/dossier --delete
Synchronise et supprime les fichiers obsolètes dans S3
--delete
aws s3 website s3://mon-bucket/ --index-document index.html --error-document error.html
Configure un bucket S3 en site web statique
--index-document--error-document--routing-rules⚠️
aws s3api create-bucket --bucket mon-bucket --region eu-west-1 --create-bucket-configuration LocationConstraint=eu-west-1
Crée un bucket S3 (API bas niveau)
--bucket--acl--create-bucket-configuration--grant-full-control⚠️--grant-read⚠️--grant-read-acp⚠️--grant-write--grant-write-acp--object-lock-enabled-for-bucket⚠️--object-ownership
aws s3api put-bucket-versioning --bucket mon-bucket --versioning-configuration Status=Enabled
Active le versioning sur un bucket
--bucket--versioning-configuration--mfa--expected-bucket-owner
aws s3api put-bucket-encryption --bucket mon-bucket --server-side-encryption-configuration '{"Rules": [{"ApplyServerSideEncryptionByDefault": {"SSEAlgorithm": "AES256"}}]}'
Active le chiffrement par défaut sur un bucket
--bucket--server-side-encryption-configuration--expected-bucket-owner
aws s3api put-bucket-policy --bucket mon-bucket --policy file://policy.json
Applique une politique de bucket
--bucket--policy--confirm-remove-self-bucket-access⚠️--expected-bucket-owner
aws s3api put-bucket-lifecycle-configuration --bucket mon-bucket --lifecycle-configuration file://lifecycle.json
Configure les règles de cycle de vie
--bucket--lifecycle-configuration--expected-bucket-owner
aws s3api put-object --bucket mon-bucket --key monfichier.txt --body monfichier.txt
Upload un objet (API bas niveau)
--bucket--key--body--acl--cache-control--content-type--metadata--server-side-encryption--storage-class--tagging
aws s3api get-object --bucket mon-bucket --key monfichier.txt monfichier.txt
Télécharge un objet
--bucket--key--version-id--range⚠️--if-match--if-modified-since--if-none-match--if-unmodified-since--sse-customer-algorithm--sse-customer-key
aws s3api list-objects-v2 --bucket mon-bucket
Liste les objets d'un bucket
--bucket--delimiter--encoding-type--max-keys--prefix--continuation-token--fetch-owner⚠️--start-after
aws s3api head-object --bucket mon-bucket --key monfichier.txt
Récupère les métadonnées d'un objet
--bucket--key--version-id--sse-customer-algorithm--sse-customer-key
aws s3api generate-presigned-url --bucket mon-bucket --key monfichier.txt --expires-in 3600
Génère une URL pré-signée (valide 1h)
--bucket--key--expires-in--endpoint-url
aws ec2 describe-regions
Liste toutes les régions AWS disponibles
--region⚠️--filters⚠️--all-regions⚠️--output--query
aws ec2 describe-availability-zones --region eu-west-1
Liste les zones de disponibilité d'une région
--region⚠️--filters⚠️--all-availability-zones
aws ec2 describe-instances
Liste toutes les instances EC2
--filters⚠️--instance-ids--query--output--max-items--page-size--starting-token
aws ec2 describe-instances --filters "Name=instance-state-name,Values=running"
Liste les instances en cours d'exécution
--filters⚠️
aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,InstanceType,State.Name,PublicIpAddress]' --output table
Affiche un tableau résumé des instances
--query--output
aws ec2 run-instances --image-id ami-12345678 --instance-type t2.micro --key-name MaCle --security-group-ids sg-12345678 --subnet-id subnet-12345678
Lance une nouvelle instance EC2
--image-id--instance-type--key-name--security-group-ids--subnet-id--count--user-data--iam-instance-profile--block-device-mappings--placement--tag-specifications--dry-run⚠️
aws ec2 start-instances --instance-ids i-1234567890abcdef0
Démarre une instance EC2 arrêtée
--instance-ids--dry-run⚠️
aws ec2 stop-instances --instance-ids i-1234567890abcdef0
Arrête une instance EC2
--instance-ids--force⚠️--hibernate--dry-run⚠️
aws ec2 reboot-instances --instance-ids i-1234567890abcdef0
Redémarre une instance EC2
--instance-ids--dry-run⚠️
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
Termine (supprime) une instance EC2
--instance-ids--dry-run⚠️
aws ec2 create-tags --resources i-1234567890abcdef0 --tags Key=Name,Value=MonInstance
Ajoute un tag à une instance
--resources⚠️--tags--dry-run⚠️
aws ec2 describe-images --owners amazon --filters "Name=name,Values=amzn2-ami-hvm-*-x86_64-gp2"
Recherche des AMI Amazon Linux 2
--owners--filters⚠️--executable-users--image-ids
aws ec2 describe-images --owners self
Liste vos propres AMI
--owners--filters⚠️
aws ec2 create-image --instance-id i-1234567890abcdef0 --name "MonAMI" --description "Backup de mon instance"
Crée une AMI à partir d'une instance
--instance-id--name--description--no-reboot⚠️--block-device-mappings--dry-run⚠️
aws ec2 deregister-image --image-id ami-12345678
Désenregistre une AMI
--image-id--dry-run⚠️
aws ec2 describe-key-pairs
Liste les paires de clés SSH
--key-names--filters⚠️--include-public-key
aws ec2 create-key-pair --key-name MaCle --query 'KeyMaterial' --output text > MaCle.pem
Crée une nouvelle paire de clés et sauvegarde la clé privée
--key-name--key-type--key-format⚠️--tag-specifications--dry-run⚠️
aws ec2 import-key-pair --key-name MaCle --public-key-material fileb://~/.ssh/id_rsa.pub
Importe une clé publique existante
--key-name--public-key-material--tag-specifications--dry-run⚠️
aws ec2 delete-key-pair --key-name MaCle
Supprime une paire de clés
--key-name--key-pair-id--dry-run⚠️
aws ec2 describe-security-groups
Liste les groupes de sécurité
--filters⚠️--group-ids--group-names--output--query
aws ec2 create-security-group --group-name MonSG --description "Mon groupe de sécurité" --vpc-id vpc-12345678
Crée un groupe de sécurité
--group-name--description--vpc-id--tag-specifications--dry-run⚠️
aws ec2 authorize-security-group-ingress --group-id sg-12345678 --protocol tcp --port 22 --cidr 0.0.0.0/0
Ajoute une règle entrante (SSH pour tous)
--group-id--protocol--port--cidr--source-group--ip-permissions--tag-specifications--dry-run⚠️
aws ec2 authorize-security-group-ingress --group-id sg-12345678 --protocol tcp --port 80 --cidr 0.0.0.0/0
Ouvre le port HTTP
--group-id--protocol--port--cidr
aws ec2 authorize-security-group-ingress --group-id sg-12345678 --protocol tcp --port 443 --cidr 0.0.0.0/0
Ouvre le port HTTPS
--group-id--protocol--port--cidr
aws ec2 revoke-security-group-ingress --group-id sg-12345678 --protocol tcp --port 22 --cidr 0.0.0.0/0
Supprime une règle entrante
--group-id--protocol--port--cidr--source-group--ip-permissions--dry-run⚠️
aws ec2 delete-security-group --group-id sg-12345678
Supprime un groupe de sécurité
--group-id--group-name--dry-run⚠️
aws ec2 describe-volumes
Liste les volumes EBS
--filters⚠️--volume-ids--output--query
aws ec2 create-volume --availability-zone eu-west-1a --size 10 --volume-type gp3
Crée un volume EBS de 10 Go (gp3)
--availability-zone--size--volume-type--iops--throughput--snapshot-id--encrypted--kms-key-id--tag-specifications--multi-attach-enabled--dry-run⚠️
aws ec2 attach-volume --volume-id vol-12345678 --instance-id i-1234567890abcdef0 --device /dev/sdf
Attache un volume à une instance
--volume-id--instance-id--device--dry-run⚠️
aws ec2 detach-volume --volume-id vol-12345678
Détache un volume d'une instance
--volume-id--instance-id--device--force⚠️--dry-run⚠️
aws ec2 delete-volume --volume-id vol-12345678
Supprime un volume EBS
--volume-id--dry-run⚠️
aws ec2 create-snapshot --volume-id vol-12345678 --description "Snapshot de mon volume"
Crée un snapshot d'un volume EBS
--volume-id--description--tag-specifications--dry-run⚠️
aws ec2 describe-snapshots --owner-ids self
Liste vos snapshots EBS
--owner-ids--filters⚠️--snapshot-ids--restorable-by-user-ids⚠️--dry-run⚠️
aws ec2 copy-snapshot --source-region eu-west-1 --source-snapshot-id snap-12345678 --region eu-west-3
Copie un snapshot vers une autre région
--source-region⚠️--source-snapshot-id--description--destination-region⚠️--encrypted--kms-key-id--dry-run⚠️
aws ec2 delete-snapshot --snapshot-id snap-12345678
Supprime un snapshot
--snapshot-id--dry-run⚠️
aws ec2 allocate-address --domain vpc
Alloue une adresse IP élastique
--domain--address--network-border-group--customer-owned-ipv4-pool--tag-specifications--dry-run⚠️
aws ec2 describe-addresses
Liste les adresses IP élastiques
--filters⚠️--public-ips--allocation-ids--dry-run⚠️
aws ec2 associate-address --instance-id i-1234567890abcdef0 --allocation-id eipalloc-12345678
Associe une IP élastique à une instance
--instance-id--allocation-id--public-ip--allow-reassociation⚠️--network-interface-id--private-ip-address--dry-run⚠️
aws ec2 disassociate-address --association-id eipassoc-12345678
Dissocie une IP élastique
--association-id--public-ip--dry-run⚠️
aws ec2 release-address --allocation-id eipalloc-12345678
Libère une adresse IP élastique
--allocation-id--public-ip--network-border-group--dry-run⚠️
aws elb describe-load-balancers
Liste les Classic Load Balancers
--load-balancer-names--page-size--max-items--output--query
aws elb create-load-balancer --load-balancer-name mon-lb --listeners Protocol=HTTP,LoadBalancerPort=80,InstanceProtocol=HTTP,InstancePort=80 --availability-zones eu-west-1a eu-west-1b
Crée un Classic Load Balancer
--load-balancer-name--listeners--availability-zones--subnets--security-groups--scheme--tags
aws elb register-instances-with-load-balancer --load-balancer-name mon-lb --instances i-12345678 i-87654321
Enregistre des instances auprès d'un ELB
--load-balancer-name--instances
aws elb deregister-instances-from-load-balancer --load-balancer-name mon-lb --instances i-12345678
Désenregistre des instances
--load-balancer-name--instances
aws elb delete-load-balancer --load-balancer-name mon-lb
Supprime un Classic Load Balancer
--load-balancer-name
aws elbv2 describe-load-balancers
Liste les Application et Network Load Balancers (ALB/NLB)
--load-balancer-arns--names--page-size--max-items--output--query
aws elbv2 create-load-balancer --name mon-alb --subnets subnet-12345678 subnet-87654321 --security-groups sg-12345678
Crée un Application Load Balancer
--name--subnets--security-groups--scheme--tags--type--ip-address-type
aws elbv2 create-target-group --name mon-tg --protocol HTTP --port 80 --vpc-id vpc-12345678
Crée un groupe cible (Target Group)
--name--protocol--port--vpc-id--health-check-protocol--health-check-port--health-check-path--target-type--matcher--tags
aws elbv2 register-targets --target-group-arn arn:aws:elasticloadbalancing:... --targets Id=i-12345678 Id=i-87654321
Enregistre des cibles dans un groupe cible
--target-group-arn--targets
aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:... --protocol HTTP --port 80 --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:...
Crée un listener pour un ALB
--load-balancer-arn--protocol--port--default-actions--ssl-policy--certificates
aws elbv2 create-rule --listener-arn arn:aws:elasticloadbalancing:... --priority 10 --conditions Field=path-pattern,Values='/api/*' --actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:...
Crée une règle de routage
--listener-arn--priority--conditions--actions--tags
aws elbv2 delete-load-balancer --load-balancer-arn arn:aws:elasticloadbalancing:...
Supprime un ALB/NLB
--load-balancer-arn
aws autoscaling describe-auto-scaling-groups
Liste les groupes Auto Scaling
--auto-scaling-group-names--filters⚠️--max-items--output--query
aws autoscaling create-auto-scaling-group --auto-scaling-group-name mon-asg --launch-template LaunchTemplateName=mon-template,Version='$Latest' --min-size 1 --max-size 10 --desired-capacity 2 --vpc-zone-identifier subnet-12345678,subnet-87654321
Crée un groupe Auto Scaling
--auto-scaling-group-name--launch-template--min-size--max-size--desired-capacity--vpc-zone-identifier--health-check-type--health-check-grace-period--tags
aws autoscaling update-auto-scaling-group --auto-scaling-group-name mon-asg --desired-capacity 5
Met à jour la capacité désirée
--auto-scaling-group-name--desired-capacity--min-size--max-size--default-cooldown--health-check-grace-period
aws autoscaling put-scaling-policy --auto-scaling-group-name mon-asg --policy-name scale-out --adjustment-type ChangeInCapacity --scaling-adjustment 1 --cooldown 300
Crée une politique de scaling manuelle
--auto-scaling-group-name--policy-name--adjustment-type--scaling-adjustment--cooldown--min-adjustment-magnitude--metric-aggregation-type
aws autoscaling delete-auto-scaling-group --auto-scaling-group-name mon-asg --force-delete
Supprime un groupe Auto Scaling
--auto-scaling-group-name--force-delete⚠️
aws autoscaling describe-scaling-activities --auto-scaling-group-name mon-asg
Affiche l'historique des activités de scaling
--auto-scaling-group-name--activity-ids--max-items
aws rds describe-db-instances
Liste les instances RDS
--db-instance-identifier--filters⚠️--max-items--output--query
aws rds create-db-instance --db-instance-identifier mabase --db-instance-class db.t3.micro --engine mysql --master-username admin --master-user-password monpassword --allocated-storage 20
Crée une instance RDS MySQL
--db-instance-identifier--db-instance-class--engine--master-username--master-user-password--allocated-storage--storage-type--vpc-security-group-ids--db-subnet-group-name--backup-retention-period⚠️--multi-az--publicly-accessible--tags
aws rds modify-db-instance --db-instance-identifier mabase --db-instance-class db.t3.small --apply-immediately
Modifie une instance RDS (scale up)
--db-instance-identifier--db-instance-class--apply-immediately--allocated-storage--backup-retention-period⚠️--multi-az
aws rds reboot-db-instance --db-instance-identifier mabase
Redémarre une instance RDS
--db-instance-identifier--force-failover⚠️
aws rds delete-db-instance --db-instance-identifier mabase --skip-final-snapshot
Supprime une instance RDS
--db-instance-identifier--skip-final-snapshot⚠️--final-db-snapshot-identifier⚠️--delete-automated-backups
aws rds create-db-snapshot --db-instance-identifier mabase --db-snapshot-identifier mon-snapshot
Crée un snapshot manuel RDS
--db-instance-identifier--db-snapshot-identifier--tags
aws rds restore-db-instance-from-db-snapshot --db-instance-identifier mabase-restored --db-snapshot-identifier mon-snapshot
Restaure une instance depuis un snapshot
--db-instance-identifier--db-snapshot-identifier--db-instance-class--vpc-security-group-ids--db-subnet-group-name--publicly-accessible--multi-az
aws rds describe-db-snapshots --db-instance-identifier mabase
Liste les snapshots d'une instance
--db-instance-identifier--db-snapshot-identifier--snapshot-type--filters⚠️
aws rds delete-db-snapshot --db-snapshot-identifier mon-snapshot
Supprime un snapshot RDS
--db-snapshot-identifier
aws rds add-tags-to-resource --resource-name arn:aws:rds:... --tags Key=Environment,Value=Production
Ajoute des tags à une ressource RDS
--resource-name⚠️--tags
aws dynamodb list-tables
Liste toutes les tables DynamoDB
--exclusive-start-table-name--limit--region⚠️--output--query
aws dynamodb create-table --table-name Users --attribute-definitions AttributeName=UserId,AttributeType=S --key-schema AttributeName=UserId,KeyType=HASH --billing-mode PAY_PER_REQUEST
Crée une table DynamoDB
--table-name--attribute-definitions--key-schema--billing-mode--provisioned-throughput--global-secondary-indexes--local-secondary-indexes--stream-specification--sse-specification--tags
aws dynamodb describe-table --table-name Users
Décrit une table DynamoDB
--table-name
aws dynamodb put-item --table-name Users --item '{"UserId": {"S": "123"}, "Name": {"S": "John"}, "Age": {"N": "30"}}'
Insère un élément dans une table
--table-name--item--condition-expression--expression-attribute-names--expression-attribute-values--return-consumed-capacity⚠️--return-item-collection-metrics⚠️--return-values⚠️
aws dynamodb get-item --table-name Users --key '{"UserId": {"S": "123"}}'
Récupère un élément par sa clé
--table-name--key--attributes-to-get--consistent-read⚠️--projection-expression--return-consumed-capacity⚠️
aws dynamodb update-item --table-name Users --key '{"UserId": {"S": "123"}}' --update-expression "SET Age = :age" --expression-attribute-values '{":age": {"N": "31"}}'
Met à jour un élément
--table-name--key--update-expression--condition-expression--expression-attribute-names--expression-attribute-values--return-values⚠️
aws dynamodb delete-item --table-name Users --key '{"UserId": {"S": "123"}}'
Supprime un élément
--table-name--key--condition-expression--expression-attribute-names--expression-attribute-values--return-consumed-capacity⚠️--return-values⚠️
aws dynamodb query --table-name Users --key-condition-expression "UserId = :id" --expression-attribute-values '{":id": {"S": "123"}}'
Requête sur une table DynamoDB
--table-name--key-condition-expression--expression-attribute-values--filter-expression⚠️--projection-expression--limit--scan-index-forward⚠️--exclusive-start-key
aws dynamodb scan --table-name Users
Scan complet d'une table
--table-name--filter-expression⚠️--expression-attribute-values--projection-expression--limit--exclusive-start-key--segment--total-segments
aws dynamodb delete-table --table-name Users
Supprime une table DynamoDB
--table-name
aws dynamodb batch-write-item --request-items file://batch.json
Écriture par lots (batch write)
--request-items⚠️--return-consumed-capacity⚠️--return-item-collection-metrics⚠️
aws dynamodb batch-get-item --request-items '{"Users": {"Keys": [{"UserId": {"S": "123"}}, {"UserId": {"S": "456"}}]}}'
Lecture par lots (batch get)
--request-items⚠️--return-consumed-capacity⚠️
aws dynamodb update-table --table-name Users --billing-mode PROVISIONED --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5
Change le mode de facturation
--table-name--billing-mode--provisioned-throughput--global-secondary-index-updates--stream-specification--sse-specification
aws dynamodb create-backup --table-name Users --backup-name Users-Backup-2024
Crée une sauvegarde DynamoDB
--table-name--backup-name
aws dynamodb restore-table-from-backup --target-table-name Users-Restored --backup-arn arn:aws:dynamodb:...
Restaure une table depuis une sauvegarde
--target-table-name--backup-arn--billing-mode-override--global-secondary-index-override--local-secondary-index-override--provisioned-throughput-override--sse-specification-override
aws lambda list-functions
Liste toutes les fonctions Lambda
--master-region⚠️--function-version⚠️--max-items--output--query
aws lambda create-function --function-name MaFonction --runtime nodejs20.x --role arn:aws:iam::123456789012:role/mon-role --handler index.handler --zip-file fileb://function.zip
Crée une fonction Lambda
--function-name⚠️--runtime⚠️--role⚠️--handler--code--description--timeout--memory-size--environment--vpc-config--tags--architectures--layers--tracing-config
aws lambda get-function --function-name MaFonction
Récupère les informations d'une fonction
--function-name⚠️--qualifier
aws lambda invoke --function-name MaFonction --payload '{"key": "value"}' response.json
Invoque une fonction Lambda
--function-name⚠️--invocation-type--log-type--client-context--payload--qualifier
aws lambda invoke --function-name MaFonction --invocation-type Event --payload '{}' /dev/null
Invoque de manière asynchrone
--invocation-type
aws lambda update-function-code --function-name MaFonction --zip-file fileb://function.zip
Met à jour le code d'une fonction
--function-name⚠️--zip-file⚠️--s3-bucket--s3-key--s3-object-version--image-uri--publish--dry-run⚠️--architectures
aws lambda update-function-configuration --function-name MaFonction --memory-size 512 --timeout 30
Met à jour la configuration d'une fonction
--function-name⚠️--role⚠️--handler--description--timeout--memory-size--environment--runtime⚠️--vpc-config--layers--tracing-config
aws lambda publish-version --function-name MaFonction
Publie une version de la fonction
--function-name⚠️--code-sha256--description--revision-id⚠️
aws lambda create-alias --function-name MaFonction --name PROD --function-version 1
Crée un alias pour une version
--function-name⚠️--name--function-version⚠️--description--routing-config⚠️
aws lambda delete-function --function-name MaFonction
Supprime une fonction Lambda
--function-name⚠️--qualifier
aws lambda add-permission --function-name MaFonction --statement-id ApiGatewayInvoke --action lambda:InvokeFunction --principal apigateway.amazonaws.com
Ajoute une permission à une fonction
--function-name⚠️--statement-id--action--principal--source-arn--source-account--event-source-token--qualifier
aws lambda get-policy --function-name MaFonction
Affiche la politique de permissions
--function-name⚠️--qualifier
aws cloudformation list-stacks
Liste les stacks CloudFormation
--stack-status-filter⚠️--next-token--output--query
aws cloudformation create-stack --stack-name MaStack --template-body file://template.yml --parameters ParameterKey=InstanceType,ParameterValue=t2.micro
Crée une stack CloudFormation
--stack-name--template-body--template-url--parameters--disable-rollback⚠️--timeout-in-minutes--notification-arns--capabilities--resource-types⚠️--role-arn⚠️--on-failure⚠️--tags--enable-termination-protection
aws cloudformation describe-stacks --stack-name MaStack
Décrit une stack
--stack-name--next-token
aws cloudformation update-stack --stack-name MaStack --template-body file://template.yml --parameters ParameterKey=InstanceType,ParameterValue=t2.small
Met à jour une stack
--stack-name--template-body--template-url--parameters--capabilities--role-arn⚠️--tags
aws cloudformation delete-stack --stack-name MaStack
Supprime une stack
--stack-name--retain-resources⚠️--role-arn⚠️--client-request-token⚠️
aws cloudformation describe-stack-events --stack-name MaStack
Affiche les événements d'une stack
--stack-name--next-token
aws cloudformation describe-stack-resources --stack-name MaStack
Liste les ressources d'une stack
--stack-name--logical-resource-id⚠️--physical-resource-id⚠️
aws cloudformation get-template --stack-name MaStack
Récupère le template d'une stack
--stack-name--template-stage
aws cloudformation validate-template --template-body file://template.yml
Valide un template CloudFormation
--template-body--template-url
aws cloudformation estimate-template-cost --template-body file://template.yml --parameters ParameterKey=InstanceType,ParameterValue=t2.micro
Estime le coût d'un template
--template-body--template-url--parameters
aws cloudformation list-exports
Liste les exports CloudFormation
--next-token--output--query
aws cloudformation create-change-set --stack-name MaStack --change-set-name MonChangeSet --template-body file://template.yml
Crée un jeu de modifications (change set)
--stack-name--change-set-name--template-body--template-url--parameters--capabilities--role-arn⚠️--tags--description
aws cloudformation execute-change-set --change-set-name arn:aws:cloudformation:...
Exécute un jeu de modifications
--change-set-name--stack-name--client-request-token⚠️--disable-rollback⚠️--retain-resources⚠️
aws iam list-users
Liste les utilisateurs IAM
--path-prefix--max-items--output--query
aws iam create-user --user-name monuser
Crée un utilisateur IAM
--user-name--path--permissions-boundary--tags
aws iam create-access-key --user-name monuser
Crée une clé d'accès pour un utilisateur
--user-name
aws iam list-access-keys --user-name monuser
Liste les clés d'accès d'un utilisateur
--user-name--max-items
aws iam delete-access-key --user-name monuser --access-key-id AKIA...
Supprime une clé d'accès
--user-name--access-key-id
aws iam update-access-key --user-name monuser --access-key-id AKIA... --status Inactive
Désactive/active une clé d'accès
--user-name--access-key-id--status
aws iam delete-user --user-name monuser
Supprime un utilisateur IAM
--user-name
aws iam list-roles
Liste les rôles IAM
--path-prefix--max-items--output--query
aws iam create-role --role-name monrole --assume-role-policy-document file://trust-policy.json
Crée un rôle IAM
--role-name⚠️--assume-role-policy-document⚠️--description--path--max-session-duration--permissions-boundary--tags
aws iam attach-role-policy --role-name monrole --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
Attache une politique gérée à un rôle
--role-name⚠️--policy-arn
aws iam detach-role-policy --role-name monrole --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
Détache une politique d'un rôle
--role-name⚠️--policy-arn
aws iam delete-role --role-name monrole
Supprime un rôle IAM
--role-name⚠️
aws iam list-policies --scope Local
Liste les politiques gérées par le client
--scope--only-attached--path-prefix--policy-usage-filter⚠️--max-items
aws iam create-policy --policy-name MaPolitique --policy-document file://policy.json
Crée une politique gérée
--policy-name--policy-document--description--path--tags
aws iam delete-policy --policy-arn arn:aws:iam::123456789012:policy/MaPolitique
Supprime une politique gérée
--policy-arn
aws iam add-user-to-group --group-name mon-groupe --user-name monuser
Ajoute un utilisateur à un groupe
--group-name--user-name
aws iam remove-user-from-group --group-name mon-groupe --user-name monuser
Retire un utilisateur d'un groupe
--group-name--user-name
aws iam create-group --group-name mon-groupe
Crée un groupe IAM
--group-name--path
aws iam delete-group --group-name mon-groupe
Supprime un groupe IAM
--group-name
aws iam attach-group-policy --group-name mon-groupe --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
Attache une politique à un groupe
--group-name--policy-arn
aws iam get-account-authorization-details
Récupère tous les détails d'autorisation du compte
--filter⚠️--max-items--output--query
aws iam simulate-principal-policy --policy-source-arn arn:aws:iam::123456789012:user/monuser --action-names s3:ListBucket
Simule une politique pour un principal
--policy-source-arn--action-names--resource-arns⚠️--context-entries--max-items
aws cloudwatch list-metrics
Liste les métriques CloudWatch disponibles
--namespace--metric-name--dimensions--next-token--recently-active⚠️
aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name CPUUtilization --start-time 2024-01-01T00:00:00Z --end-time 2024-01-02T00:00:00Z --period 300 --statistics Average --dimensions Name=InstanceId,Value=i-1234567890abcdef0
Récupère les statistiques d'une métrique
--namespace--metric-name--start-time--end-time--period--statistics--dimensions--unit--extended-statistics
aws cloudwatch put-metric-data --namespace Custom --metric-name PageViews --value 1 --dimensions Page=Home
Publie une métrique personnalisée
--namespace--metric-name--value--dimensions--timestamp--unit--storage-resolution⚠️
aws cloudwatch put-metric-alarm --alarm-name HighCPU --alarm-description "CPU > 80%" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 80 --comparison-operator GreaterThanThreshold --evaluation-periods 2 --alarm-actions arn:aws:sns:...
Crée une alarme CloudWatch
--alarm-name--alarm-description--metric-name--namespace--statistic--period--threshold--comparison-operator--evaluation-periods--alarm-actions--ok-actions--insufficient-data-actions--dimensions--unit--treat-missing-data
aws cloudwatch describe-alarms
Liste les alarmes CloudWatch
--alarm-names--alarm-name-prefix--state-value--action-prefix--max-items
aws cloudwatch set-alarm-state --alarm-name HighCPU --state-value OK --state-reason "Test"
Modifie l'état d'une alarme (test)
--alarm-name--state-value--state-reason⚠️--state-reason-data⚠️
aws cloudwatch delete-alarms --alarm-names HighCPU
Supprime des alarmes
--alarm-names
aws logs describe-log-groups
Liste les groupes de logs CloudWatch Logs
--log-group-name-prefix--next-token--limit
aws logs create-log-group --log-group-name /aws/lambda/MaFonction
Crée un groupe de logs
--log-group-name--kms-key-id--tags
aws logs delete-log-group --log-group-name /aws/lambda/MaFonction
Supprime un groupe de logs
--log-group-name
aws logs describe-log-streams --log-group-name /aws/lambda/MaFonction
Liste les flux de logs
--log-group-name--log-stream-name-prefix--order-by--descending--next-token--limit
aws logs get-log-events --log-group-name /aws/lambda/MaFonction --log-stream-name 2024/01/01/[$LATEST]123456
Récupère les événements d'un flux de logs
--log-group-name--log-stream-name--start-time--end-time--next-token--limit--start-from-head⚠️
aws logs filter-log-events --log-group-name /aws/lambda/MaFonction --filter-pattern "ERROR"
Filtre les événements de logs
--log-group-name--log-stream-names--filter-pattern⚠️--start-time--end-time--next-token--limit--interleaved
aws logs tail /aws/lambda/MaFonction --follow
Affiche les logs en temps réel (tail -f)
--follow⚠️--format⚠️--since--filter-pattern⚠️
aws logs put-retention-policy --log-group-name /aws/lambda/MaFonction --retention-in-days 30
Définit la rétention des logs
--log-group-name--retention-in-days⚠️
aws sns list-topics
Liste les topics SNS
--next-token--output--query
aws sns create-topic --name mon-topic
Crée un topic SNS
--name--attributes--tags--data-protection-policy
aws sns delete-topic --topic-arn arn:aws:sns:eu-west-1:123456789012:mon-topic
Supprime un topic SNS
--topic-arn
aws sns subscribe --topic-arn arn:aws:sns:... --protocol email --notification-endpoint admin@example.com
Abonne une adresse email à un topic
--topic-arn--protocol--notification-endpoint--attributes--return-subscription-arn⚠️
aws sns list-subscriptions
Liste les abonnements SNS
--next-token--output--query
aws sns unsubscribe --subscription-arn arn:aws:sns:...
Désabonne un endpoint
--subscription-arn
aws sns publish --topic-arn arn:aws:sns:... --message "Hello World"
Publie un message sur un topic
--topic-arn--target-arn--phone-number--message--subject--message-structure--message-attributes
aws sqs list-queues
Liste les files d'attente SQS
--queue-name-prefix--max-items--output--query
aws sqs create-queue --queue-name ma-file
Crée une file d'attente SQS
--queue-name--attributes--tags
aws sqs delete-queue --queue-url https://sqs.eu-west-1.amazonaws.com/123456789012/ma-file
Supprime une file d'attente
--queue-url
aws sqs send-message --queue-url https://sqs.eu-west-1.amazonaws.com/123456789012/ma-file --message-body "Hello World"
Envoie un message dans une file
--queue-url--message-body--delay-seconds--message-attributes--message-deduplication-id--message-group-id
aws sqs send-message-batch --queue-url https://sqs.eu-west-1.amazonaws.com/123456789012/ma-file --entries file://messages.json
Envoie des messages par lots
--queue-url--entries
aws sqs receive-message --queue-url https://sqs.eu-west-1.amazonaws.com/123456789012/ma-file --max-number-of-messages 10 --wait-time-seconds 20
Reçoit des messages de la file
--queue-url--max-number-of-messages--wait-time-seconds--visibility-timeout--attribute-names--message-attribute-names--receive-request-attempt-id⚠️
aws sqs delete-message --queue-url https://sqs.eu-west-1.amazonaws.com/123456789012/ma-file --receipt-handle AQEB...
Supprime un message de la file
--queue-url--receipt-handle⚠️
aws sqs purge-queue --queue-url https://sqs.eu-west-1.amazonaws.com/123456789012/ma-file
Vide complètement une file d'attente
--queue-url
aws sqs get-queue-attributes --queue-url https://sqs.eu-west-1.amazonaws.com/123456789012/ma-file --attribute-names All
Récupère les attributs d'une file
--queue-url--attribute-names
aws sqs set-queue-attributes --queue-url https://sqs.eu-west-1.amazonaws.com/123456789012/ma-file --attributes VisibilityTimeout=60
Modifie les attributs d'une file
--queue-url--attributes
aws kms list-keys
Liste les clés KMS
--limit--next-token--output--query
aws kms create-key --description "Ma clé de chiffrement"
Crée une clé KMS
--description--key-usage--origin--policy--tags--multi-region⚠️--bypass-policy-lockout-safety-check
aws kms create-alias --alias-name alias/MaCle --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab
Crée un alias pour une clé KMS
--alias-name--target-key-id
aws kms encrypt --key-id alias/MaCle --plaintext fileb://secret.txt --output text --query CiphertextBlob
Chiffre des données avec KMS
--key-id--plaintext--encryption-algorithm--encryption-context--grant-tokens
aws kms decrypt --ciphertext-blob fileb://encrypted.txt
Déchiffre des données avec KMS
--ciphertext-blob--encryption-algorithm--encryption-context--grant-tokens--key-id
aws kms generate-data-key --key-id alias/MaCle --key-spec AES_256
Génère une clé de données
--key-id--key-spec--number-of-bytes--encryption-context--grant-tokens
aws kms schedule-key-deletion --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --pending-window-in-days 7
Planifie la suppression d'une clé
--key-id--pending-window-in-days
aws kms cancel-key-deletion --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
Annule la suppression d'une clé
--key-id
aws ecr describe-repositories
Liste les repositories ECR
--registry-id⚠️--repository-names⚠️--next-token--max-items--output--query
aws ecr create-repository --repository-name mon-app
Crée un repository ECR
--repository-name⚠️--tags--image-tag-mutability--image-scanning-configuration--encryption-configuration
aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.eu-west-1.amazonaws.com
Authentifie Docker auprès d'ECR
--region⚠️
aws ecr describe-images --repository-name mon-app
Liste les images dans un repository
--repository-name⚠️--registry-id⚠️--filter⚠️--max-items
aws ecr batch-delete-image --repository-name mon-app --image-ids imageTag=latest
Supprime une image ECR
--repository-name⚠️--registry-id⚠️--image-ids
aws ecr delete-repository --repository-name mon-app --force
Supprime un repository ECR
--repository-name⚠️--registry-id⚠️--force⚠️
aws ecs list-clusters
Liste les clusters ECS
--next-token--max-items--output--query
aws ecs create-cluster --cluster-name mon-cluster
Crée un cluster ECS
--cluster-name--tags--settings--configuration--capacity-providers--default-capacity-provider-strategy--service-connect-defaults
aws ecs list-services --cluster mon-cluster
Liste les services d'un cluster
--cluster--next-token--max-items
aws ecs describe-services --cluster mon-cluster --services mon-service
Décrit un service ECS
--cluster--services--include
aws ecs update-service --cluster mon-cluster --service mon-service --desired-count 3
Met à jour le nombre de tâches d'un service
--cluster--service--desired-count--task-definition--force-new-deployment⚠️
aws ecs delete-service --cluster mon-cluster --service mon-service --force
Supprime un service ECS
--cluster--service--force⚠️
aws ecs list-tasks --cluster mon-cluster
Liste les tâches d'un cluster
--cluster--container-instance--family⚠️--next-token--desired-status--launch-type--max-items
aws ecs run-task --cluster mon-cluster --task-definition mon-app:1 --count 1
Lance une tâche ECS
--cluster--task-definition--count--launch-type--network-configuration--overrides--tags--capacity-provider-strategy
aws ecs stop-task --cluster mon-cluster --task arn:aws:ecs:...
Arrête une tâche ECS
--cluster--task--reason⚠️
aws ecs register-task-definition --cli-input-json file://task-def.json
Enregistre une définition de tâche
--family⚠️--container-definitions--task-role-arn⚠️--execution-role-arn⚠️--network-mode--requires-compatibilities⚠️--cpu--memory--tags--volumes
aws ecs list-task-definitions
Liste les définitions de tâches
--family-prefix⚠️--status--sort--max-items--next-token
aws ecs deregister-task-definition --task-definition mon-app:1
Désenregistre une définition de tâche
--task-definition
aws route53 list-hosted-zones
Liste les zones hébergées Route53
--max-items--delegation-set-id--output--query
aws route53 create-hosted-zone --name example.com --caller-reference $(date +%s)
Crée une zone hébergée
--name--caller-reference⚠️--hosted-zone-config--vpc--delegation-set-id
aws route53 list-resource-record-sets --hosted-zone-id Z1234567890ABC
Liste les enregistrements d'une zone
--hosted-zone-id--start-record-name⚠️--start-record-type⚠️--max-items
aws route53 change-resource-record-sets --hosted-zone-id Z1234567890ABC --change-batch file://changes.json
Modifie les enregistrements DNS
--hosted-zone-id--change-batch
aws route53 get-change --id C1234567890ABC
Vérifie l'état d'un changement DNS
--id
aws route53 delete-hosted-zone --id Z1234567890ABC
Supprime une zone hébergée
--id
aws acm list-certificates
Liste les certificats ACM
--certificate-statuses--includes--max-items--next-token--output--query
aws acm request-certificate --domain-name example.com --validation-method DNS --subject-alternative-names www.example.com
Demande un certificat SSL
--domain-name--validation-method--subject-alternative-names--idempotency-token--domain-validation-options--options--certificate-authority-arn--tags--key-algorithm
aws acm describe-certificate --certificate-arn arn:aws:acm:...
Décrit un certificat
--certificate-arn
aws acm delete-certificate --certificate-arn arn:aws:acm:...
Supprime un certificat
--certificate-arn
aws acm export-certificate --certificate-arn arn:aws:acm:... --passphrase fileb://passphrase.txt
Exporte un certificat (clé privée chiffrée)
--certificate-arn--passphrase
aws cloudfront list-distributions
Liste les distributions CloudFront
--max-items--next-token--output--query
aws cloudfront create-distribution --origin-domain-name mon-bucket.s3.amazonaws.com --default-root-object index.html
Crée une distribution CloudFront
--origin-domain-name--default-root-object⚠️--cli-input-json
aws cloudfront get-distribution --id E1234567890ABC
Récupère les informations d'une distribution
--id
aws cloudfront create-invalidation --distribution-id E1234567890ABC --paths "/*"
Invalide le cache CloudFront
--distribution-id--paths--caller-reference⚠️
aws cloudfront delete-distribution --id E1234567890ABC --if-match ETAGVALUE
Supprime une distribution (doit être désactivée d'abord)
--id--if-match
aws s3 presign s3://mon-bucket/monfichier.txt --expires-in 3600
Génère une URL pré-signée pour S3
--expires-in
aws s3 sync . s3://mon-bucket --exclude "*.tmp" --include "*.jpg"
Synchronise avec filtres include/exclude
--exclude--include
aws s3 ls s3://mon-bucket/ --recursive --human-readable --summarize
Liste récursive avec résumé
--recursive⚠️--human-readable⚠️--summarize
aws s3 cp s3://mon-bucket/ s3://autre-bucket/ --recursive
Copie entre buckets S3
--recursive⚠️--storage-class--acl
aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,PublicIpAddress,Tags[?Key==`Name`].Value|[0]]' --output table
Tableau personnalisé des instances
--query--output
aws ec2 wait instance-running --instance-ids i-1234567890abcdef0
Attend que l'instance soit en cours d'exécution
--instance-ids
aws ec2 wait instance-stopped --instance-ids i-1234567890abcdef0
Attend que l'instance soit arrêtée
--instance-ids
aws ec2 wait instance-terminated --instance-ids i-1234567890abcdef0
Attend que l'instance soit terminée
--instance-ids
aws rds wait db-instance-available --db-instance-identifier mabase
Attend que l'instance RDS soit disponible
--db-instance-identifier
aws help
Affiche l'aide générale d'AWS CLI
<service>⚠️<command>⚠️