Guide complet des commandes AWS CLI. Découvrez toutes les options pour gérer les services cloud Amazon Web Services avec efficacité et productivité.
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>