aws-patternslisted
Install: claude install-skill Mattakushi432/Claude-Code-Skills-Custom-DevTools-Pack
# AWS Patterns
## VPC Design (3-tier)
```
VPC: 10.0.0.0/16
Public subnets (10.0.1.0/24, 10.0.2.0/24) — ALB, NAT Gateway
Private subnets (10.0.10.0/24, 10.0.11.0/24) — ECS/EKS workloads
Data subnets (10.0.20.0/24, 10.0.21.0/24) — RDS, ElastiCache
```
## IAM Least Privilege (CDK)
```python
from aws_cdk import aws_iam as iam
lambda_role = iam.Role(self, "LambdaRole",
assumed_by=iam.ServicePrincipal("lambda.amazonaws.com"),
managed_policies=[
iam.ManagedPolicy.from_aws_managed_policy_name(
"service-role/AWSLambdaVPCAccessExecutionRole"
)
]
)
# Only the specific S3 bucket, not *
lambda_role.add_to_policy(iam.PolicyStatement(
actions=["s3:GetObject", "s3:PutObject"],
resources=[f"{bucket.bucket_arn}/*"],
effect=iam.Effect.ALLOW,
))
```
## Lambda Function (CDK)
```python
from aws_cdk import aws_lambda as lambda_, Duration
fn = lambda_.Function(self, "ApiHandler",
runtime=lambda_.Runtime.PYTHON_3_12,
handler="handler.main",
code=lambda_.Code.from_asset("src"),
timeout=Duration.seconds(30),
memory_size=512,
environment={
"TABLE_NAME": table.table_name,
"LOG_LEVEL": "INFO",
},
tracing=lambda_.Tracing.ACTIVE, # X-Ray
reserved_concurrent_executions=100,
)
table.grant_read_write_data(fn)
```
## ECS Fargate Service (CDK)
```python
from aws_cdk import aws_ecs as ecs, aws_ecs_patterns as patterns
service = patterns.ApplicationLoadBalancedFargateService(self, "Serv