| name | aws |
| description | AWS cloud services including EC2, EKS, S3, Lambda, RDS, and IAM. Activate for AWS infrastructure, cloud deployment, and Amazon Web Services integration. |
| allowed-tools | Bash, Read, Write, Edit, Glob, Grep |
AWS Skill
Provides comprehensive AWS cloud capabilities for the Golden Armada AI Agent Fleet Platform.
When to Use This Skill
Activate this skill when working with:
- AWS infrastructure provisioning
- EKS cluster management
- S3 storage operations
- Lambda functions
- IAM and security
AWS CLI Quick Reference
Configuration
```bash
Configure credentials
aws configure
Check identity
aws sts get-caller-identity
Set profile
export AWS_PROFILE=production aws s3 ls --profile production ```
EC2
```bash
List instances
aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId,State.Name,Tags[?Key==Name].Value]'
Start/Stop
aws ec2 start-instances --instance-ids i-1234567890 aws ec2 stop-instances --instance-ids i-1234567890
Create instance
aws ec2 run-instances
--image-id ami-12345678
--instance-type t3.medium
--key-name my-key
--security-group-ids sg-12345678
--subnet-id subnet-12345678
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=my-instance}]'
```
EKS
```bash
List clusters
aws eks list-clusters
Update kubeconfig
aws eks update-kubeconfig --name golden-armada-cluster --region us-west-2
Describe cluster
aws eks describe-cluster --name golden-armada-cluster
Create cluster (with eksctl)
eksctl create cluster
--name golden-armada-cluster
--region us-west-2
--nodegroup-name workers
--node-type t3.medium
--nodes 3
--managed
```
S3
```bash
List buckets
aws s3 ls
List objects
aws s3 ls s3://bucket-name/
Copy files
aws s3 cp file.txt s3://bucket-name/ aws s3 cp s3://bucket-name/file.txt . aws s3 sync ./local-dir s3://bucket-name/prefix/
Presigned URL
aws s3 presign s3://bucket-name/file.txt --expires-in 3600 ```
Lambda
```bash
List functions
aws lambda list-functions
Invoke function
aws lambda invoke
--function-name my-function
--payload '{"key": "value"}'
response.json
Update function code
aws lambda update-function-code
--function-name my-function
--zip-file fileb://function.zip
View logs
aws logs filter-log-events
--log-group-name /aws/lambda/my-function
--start-time $(date -d '1 hour ago' +%s000)
```
RDS
```bash
List instances
aws rds describe-db-instances
Create snapshot
aws rds create-db-snapshot
--db-instance-identifier golden-armada-db
--db-snapshot-identifier snapshot-$(date +%Y%m%d)
Modify instance
aws rds modify-db-instance
--db-instance-identifier golden-armada-db
--db-instance-class db.t3.large
--apply-immediately
```
IAM
```bash
List users
aws iam list-users
Create role
aws iam create-role
--role-name agent-role
--assume-role-policy-document file://trust-policy.json
Attach policy
aws iam attach-role-policy
--role-name agent-role
--policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
```
Boto3 Python SDK
```python import boto3
S3 operations
s3 = boto3.client('s3')
Upload file
s3.upload_file('local.txt', 'bucket-name', 'remote.txt')
Download file
s3.download_file('bucket-name', 'remote.txt', 'local.txt')
List objects
response = s3.list_objects_v2(Bucket='bucket-name', Prefix='prefix/') for obj in response.get('Contents', []): print(obj['Key'])
EC2 operations
ec2 = boto3.resource('ec2')
Get all running instances
instances = ec2.instances.filter( Filters=[{'Name': 'instance-state-name', 'Values': ['running']}] ) for instance in instances: print(f"{instance.id}: {instance.instance_type}")
Lambda invocation
lambda_client = boto3.client('lambda') response = lambda_client.invoke( FunctionName='my-function', InvocationType='RequestResponse', Payload=json.dumps({'key': 'value'}) ) result = json.loads(response['Payload'].read()) ```
Terraform AWS Resources
```hcl
VPC
resource "aws_vpc" "main" { cidr_block = "10.0.0.0/16" enable_dns_hostnames = true enable_dns_support = true
tags = { Name = "golden-armada-vpc" } }
EKS Cluster
resource "aws_eks_cluster" "main" { name = "golden-armada-cluster" role_arn = aws_iam_role.cluster.arn version = "1.28"
vpc_config { subnet_ids = aws_subnet.private[*].id } }
RDS Instance
resource "aws_db_instance" "main" { identifier = "golden-armada-db" engine = "postgres" engine_version = "15" instance_class = "db.t3.medium" allocated_storage = 20
db_name = "golden_armada" username = var.db_username password = var.db_password
vpc_security_group_ids = [aws_security_group.db.id] db_subnet_group_name = aws_db_subnet_group.main.name
skip_final_snapshot = true } ```
Best Practices
- Use IAM Roles instead of access keys
- Enable CloudTrail for audit logging
- Tag all resources for cost tracking
- Use VPC for network isolation
- Enable encryption at rest and in transit
- Implement least privilege IAM policies