| name | aws-cli |
| description | AWS CLI for S3, EC2, Lambda, CloudWatch, RDS, and ECS |
| metadata | {"openclaw":{"always":false,"emoji":"☁️"}} |
AWS CLI
Manage AWS services via the aws CLI.
Setup
-
Check if installed:
command -v aws && aws --version
-
Install:
brew install awscli
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install && rm -rf aws awscliv2.zip
-
Credentials: Use the vault for secrets. Stored keys are auto-injected as env vars (UPPERCASE).
vault_save aws_access_key_id "AKIA..."
vault_save aws_secret_access_key "secret..."
vault_save aws_default_region "us-east-1"
S3
aws s3 ls
aws s3 ls s3://<bucket>/<prefix>/
aws s3 cp <file> s3://<bucket>/<key>
aws s3 cp s3://<bucket>/<key> <file>
aws s3 sync <dir> s3://<bucket>/<prefix>/
aws s3 sync s3://<bucket>/<prefix>/ <dir>
aws s3 rm s3://<bucket>/<key>
aws s3 rm s3://<bucket>/<prefix>/ --recursive
EC2
aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,InstanceType,PublicIpAddress,Tags[?Key==`Name`].Value|[0]]' --output table
aws ec2 start-instances --instance-ids <id>
aws ec2 stop-instances --instance-ids <id>
aws ec2 describe-security-groups --group-ids <sg-id>
Lambda
aws lambda list-functions --query 'Functions[].[FunctionName,Runtime,LastModified]' --output table
aws lambda invoke --function-name <name> --payload '{"key":"value"}' output.json
aws logs filter-log-events --log-group-name /aws/lambda/<name> --limit 20
CloudWatch
aws logs describe-log-groups --query 'logGroups[].logGroupName'
aws logs filter-log-events --log-group-name <group> --filter-pattern "ERROR" --limit 20
aws cloudwatch get-metric-statistics --namespace AWS/EC2 --metric-name CPUUtilization --dimensions Name=InstanceId,Value=<id> --start-time <iso> --end-time <iso> --period 300 --statistics Average
RDS
aws rds describe-db-instances --query 'DBInstances[].[DBInstanceIdentifier,DBInstanceStatus,Engine,Endpoint.Address]' --output table
ECS
aws ecs list-clusters
aws ecs list-services --cluster <cluster>
aws ecs describe-services --cluster <cluster> --services <service>
aws ecs list-tasks --cluster <cluster> --service-name <service>
aws ecs describe-tasks --cluster <cluster> --tasks <task-arn>
Tips
- Use
--output table for readable output
- Use
--query (JMESPath) to filter fields
- Use
--profile <name> for multiple accounts
- Use
--region <region> when needed
- Configure with
aws configure or env vars AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY