
using-localstack
by SpillwaveSolutions
Plugin for using localstack and awslocal.
SKILL.md
name: using-localstack description: Build, test, and debug AWS-native systems locally with LocalStack (Community/Pro) using awslocal, IaC toolchains, event-driven pipelines, and observability; includes setup, deployment, management, monitoring, and sharp-edge guidance.
Mastering LocalStack Pro — Practitioner Skill
Operations-first playbook to emulate AWS locally with high fidelity. Focuses on production-parity workflows (event-driven, streaming, containers, IaC), fast debugging, and deterministic CI.
Audience & Outcomes
- For senior backend/platform/DevOps/AI-data engineers needing production-parity local AWS for event-driven, streaming, and data/agentic workloads
- Assumes AWS fluency; focuses on emulator fidelity vs AWS deltas
- Outcomes: spin up complex stacks locally (EKS/MSK/Aurora/Step Functions), debug IAM/networking/event flows, run deterministic CI/CD
When to Use
- Stand up AWS stacks locally (S3, Lambda, DynamoDB, API Gateway, EventBridge, MSK, EKS, RDS/Aurora, Step Functions)
- Build deterministic CI/CD without hitting real AWS
- Debug IAM, networking, events, or data flows offline before deploying to AWS
When Not to Use
- Production deployments (LocalStack is for dev/test only)
- Multi-region/global table testing (single-region emulation)
- Performance/scale validation (no multi-AZ, different latency profile)
- Managed service edge cases (simplified IAM enforcement, custom resources may differ)
Community vs Pro
- Community: core services (S3, basic Dynamo, Lambda, API GW) for simple serverless
- Pro: advanced services and fidelity (MSK/Kinesis+Pipes, EKS/ECS/Fargate, Aurora/RDS, Step Functions with mocking/visualization, EventBridge schema/pipes, IAM enforcement/Policy Stream, Cloud Pods, offline bundles)
Use Pro when avoiding deploy-to-test cycles outweighs license cost.
Quick Start
-
Install:
pipx install localstack(recommended: isolated Python env, cross-platform) ORbrew install localstack/tap/localstack-cli(macOS-only, simpler on M1/M2) -
Start:
- Community:
localstack start -d - Pro:
LOCALSTACK_AUTH_TOKEN=<token> localstack start -d --version x.y.z
- Community:
-
Health check:
curl http://localhost:4566/_localstack/health | jq
Verify: All needed services show"available"or"running" -
CLI: Use
awslocal <service> ...(wrapper for AWS CLI with endpoint preset to localhost:4566)
Verify:awslocal sts get-caller-identity(should return any identity without error) -
S3 smoke:
awslocal s3 mb s3://demo && awslocal s3 ls
Verify: Output includesdemobucket; if not, check logs:docker logs localstack | grep -i s3 -
DynamoDB smoke:
awslocal dynamodb create-table --table-name test --attribute-definitions AttributeName=id,AttributeType=S --key-schema AttributeName=id,KeyType=HASH --billing-mode PAY_PER_REQUEST
Verify:awslocal dynamodb describe-table --table-name test | jq .Table.TableStatusreturns"ACTIVE"
Debug: If fails, check service health:curl http://localhost:4566/_localstack/health | jq .services.dynamodb -
Lambda smoke: Package code,
awslocal lambda create-function ..., theninvoke
Verify: Check invocation result and CloudWatch logs:awslocal logs tail /aws/lambda/<function-name> -
Events: Create SQS queue/SNS topic/EventBridge rule; wire S3/Lambda triggers; push test event
See Service Workflows for detailed event-driven patterns -
IaC: Use
tflocal/cdklocal/CloudFormation against LocalStack
See IaC Deployment for toolchain setup and patterns -
Observe:
docker logs localstack,LS_LOG=tracefor deep traces
See Debugging & Observability for troubleshooting
Architecture Concepts
- Single edge port (4566) routes all service APIs; use
*.localhost.localstack.cloudfor service hostnames - Providers execute actual service logic (SNS→SQS fan-out, S3 event triggers) not stubs; scale/latency differs from AWS
- Event-first bus: cross-service notifications emitted internally; ideal for testing async S3/SNS/SQS/EventBridge/Lambda flows
- Hermetic by default: prefer endpoint injection/DNS over hardcoding
localhost:4566; treat persistence as optional
Detailed Guides
- Setup & Configuration - Installation, runtime tuning, persistence, ports, resource allocation
- Service Workflows - S3, Lambda, DynamoDB, EventBridge, MSK, EKS, RDS, Step Functions, CloudWatch
- Docker-Based Lambda & Fargate - Container images, ECR, Lambda packaging, Fargate orchestration, networking
- Docker Desktop Troubleshooting - Diagnostic flowchart for networking, compute, persistence, IAM, and performance issues
- Rancher Desktop Troubleshooting - Lima/WSL2 virtualization, containerd vs Moby, socket interfaces, VZ/VirtioFS optimization
- IaC Deployment - Terraform, CDK, CloudFormation patterns and toolchain setup
- State & Seeding - Persistence, Cloud Pods, init hooks, parallel environments
- Debugging & Observability - Logs, health checks, failure injection, networking
- CI/CD Patterns - Container-based integration testing
- Sharp Edges - Limits, gotchas, AWS parity gaps
Examples & Scripts
- End-to-End Examples - Complete workflows, helper scripts, integration tests
- docker-compose.yml - Production-grade LocalStack configuration
- e2e-lambda-fargate-s3.sh - Full Lambda + Fargate + S3 workflow
- ecr-helper.sh - ECR repository and image management utility
Official References
- Overview: https://docs.localstack.cloud/overview/
- Installation: https://docs.localstack.cloud/getting-started/installation/
- Configuration: https://docs.localstack.cloud/references/configuration/
- Service guides: https://docs.localstack.cloud/aws/services/
- Step Functions testing/mocking: https://blog.localstack.cloud/aws-step-functions-mocking/
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon
