AWS CLI Cheat Sheet
Authenticate, query, and manage AWS resources — IAM, S3, EC2, ECR, EKS, CloudWatch, secrets, and SSM.
Auth & Config
9aws configureSet access key + region (profile)
aws configure --profile PRODConfigure a separate profile
aws sts get-caller-identityWho am I / which account
aws configure list-profilesList configured profiles
export AWS_PROFILE=prodPick a profile via env
aws --region us-east-1 ec2 describe-instancesOverride region per command
aws sso login --profile devSSO-based login
aws configure get aws_access_key_idIntroduce current credentials (no echo)
aws configservice describe-compliance-by-resourceCheck config compliance
S3
11aws s3 lsList buckets
aws s3 ls s3://BUCKET --recursiveList objects recursively
aws s3 cp FILE s3://BUCKET/fileUpload a file
aws s3 cp s3://BUCKET/file .Download a file
aws s3 sync DIR s3://BUCKETTwo-way byte-differencing sync
aws s3 sync s3://BUCKET DIRDownload sync
aws s3 mb s3://BUCKETCreate a bucket
aws s3 rb s3://BUCKET --forceRemove a bucket (force empty)
aws s3 rm s3://BUCKET/keyDelete an object
aws s3 ls s3://BUCKET --human-readable --summarizeFolder size summary
aws s3 presign s3://BUCKET/file --expires-in 3600Temp public URL
EC2
9aws ec2 describe-instancesInstances with state
aws ec2 describe-instances --query 'Reservations[].Instances[].{Id:InstanceId,State:State.Name}' --output tableCompact table view
aws ec2 describe-instances --filters Name=tag:Name,Values=webFilter by tag
aws ec2 start-instances --instance-ids i-123Start instances
aws ec2 stop-instances --instance-ids i-123Stop instances
aws ec2 terminate-instances --instance-ids i-123Terminate instances (irreversible)
aws ec2 run-instances --image-id ami-123 --instance-type t3.micro --key-name KEYLaunch an instance
aws ec2 describe-availability-zonesAZs in the region
aws ec2 create-tags --resources i-123 --tags Key=Name,Value=webTag a resource
ECS & EKS
5aws ecr get-login-password --region REGION | docker login --username AWS --password-stdin ACCOUNT.dkr.ecr.REGION.amazonaws.comAuthenticate Docker to ECR
aws ecs list-services --cluster CLUSTERRunning ECS services
aws ecs update-service --cluster C --service S --force-new-deploymentTrigger a redeploy
aws eks update-kubeconfig --name CLUSTERLoad a cluster into kubeconfig
aws eks list-clustersEKS clusters in the account
CloudWatch, SSM & Secrets
7aws logs tail /aws/lambda/FN --followStream a log group live
aws logs get-log-events --log-group-name G --log-stream-name SRead specific events
aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name CPUUtilization --period 300 --statistics AverageQuery a metric
aws ssm start-session --target i-123SSM session (no SSH needed)
aws ssm send-command --instance-ids i-123 --document-name AWS-RunShellScript --parameters commands=uptimeRun a command on many hosts
aws secretsmanager get-secret-value --secret-id NAME --query SecretString --output textFetch a secret
aws iam list-attached-user-policies --user-name UWhat policies a user has
IAM & Permissions
5aws iam get-userCurrent user details
aws iam list-usersAll IAM users
aws iam attach-user-policy --user-name U --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccessAttach a managed policy
aws sts assume-role --role-arn ARN --role-session-name sessAssume a role
aws iam create-access-key --user-name UCreate an access key