oh-my-customcode 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -32
- package/dist/cli/index.js +12 -20
- package/dist/index.js +3 -3
- package/package.json +2 -2
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +68 -0
- package/templates/.claude/rules/MUST-parallel-execution.md +66 -9
- package/templates/.claude/rules/MUST-tool-identification.md +79 -17
- package/templates/.claude/rules/SHOULD-hud-statusline.md +8 -1
- package/templates/agents/index.yaml +6 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/common-patterns.md +169 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/index.yaml +26 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws/well-architected.md +143 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/SKILL.md +279 -0
- package/templates/agents/infra-engineer/aws-expert/refs/aws-best-practices/index.yaml +27 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/compose-best-practices.md +284 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/dockerfile-best-practices.md +262 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker/index.yaml +26 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/SKILL.md +274 -0
- package/templates/agents/infra-engineer/docker-expert/refs/docker-best-practices/index.yaml +26 -0
- package/templates/agents/manager/creator/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/creator/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/creator/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/creator/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/creator/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/creator/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/creator/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/manager/creator/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/manager/creator/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/creator/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/creator/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/creator/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/creator/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/creator/refs/rules/index.yaml +125 -0
- package/templates/agents/manager/supplier/refs/guides/aws/common-patterns.md +169 -0
- package/templates/agents/manager/supplier/refs/guides/aws/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/aws/well-architected.md +143 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/01-overview.md +42 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/03-tools.md +107 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/04-agent-skills.md +90 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/05-agent-sdk.md +129 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/06-mcp.md +165 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/07-prompt-engineering.md +100 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/08-testing.md +58 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/09-guardrails.md +80 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/10-monitoring.md +89 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/11-sub-agents.md +159 -0
- package/templates/agents/manager/supplier/refs/guides/claude-code/index.yaml +51 -0
- package/templates/agents/manager/supplier/refs/guides/docker/compose-best-practices.md +284 -0
- package/templates/agents/manager/supplier/refs/guides/docker/dockerfile-best-practices.md +262 -0
- package/templates/agents/manager/supplier/refs/guides/docker/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/fastapi/best-practices.md +232 -0
- package/templates/agents/manager/supplier/refs/guides/fastapi/index.yaml +21 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/project-layout.md +243 -0
- package/templates/agents/manager/supplier/refs/guides/go-backend/uber-style.md +212 -0
- package/templates/agents/manager/supplier/refs/guides/golang/concurrency.md +282 -0
- package/templates/agents/manager/supplier/refs/guides/golang/effective-go.md +309 -0
- package/templates/agents/manager/supplier/refs/guides/golang/error-handling.md +250 -0
- package/templates/agents/manager/supplier/refs/guides/golang/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/guides/index.yaml +101 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/coding-conventions.md +247 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/idioms.md +234 -0
- package/templates/agents/manager/supplier/refs/guides/kotlin/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/python/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/python/pep8-style-guide.md +202 -0
- package/templates/agents/manager/supplier/refs/guides/python/zen-of-python.md +79 -0
- package/templates/agents/manager/supplier/refs/guides/rust/error-handling.md +262 -0
- package/templates/agents/manager/supplier/refs/guides/rust/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/rust/ownership.md +180 -0
- package/templates/agents/manager/supplier/refs/guides/springboot/best-practices.md +361 -0
- package/templates/agents/manager/supplier/refs/guides/springboot/index.yaml +22 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/advanced-types.md +225 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/guides/typescript/type-system.md +219 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/accessibility.md +66 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/index.yaml +20 -0
- package/templates/agents/manager/supplier/refs/guides/web-design/performance.md +102 -0
- package/templates/agents/manager/supplier/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/supplier/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/supplier/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/supplier/refs/rules/index.yaml +125 -0
- package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/SKILL.md +269 -0
- package/templates/agents/manager/supplier/refs/skills/backend/fastapi-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/SKILL.md +337 -0
- package/templates/agents/manager/supplier/refs/skills/backend/go-backend-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/SKILL.md +356 -0
- package/templates/agents/manager/supplier/refs/skills/backend/springboot-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/SKILL.md +202 -0
- package/templates/agents/manager/supplier/refs/skills/development/go-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/SKILL.md +255 -0
- package/templates/agents/manager/supplier/refs/skills/development/kotlin-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/SKILL.md +221 -0
- package/templates/agents/manager/supplier/refs/skills/development/python-best-practices/index.yaml +25 -0
- package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/SKILL.md +100 -0
- package/templates/agents/manager/supplier/refs/skills/development/react-best-practices/index.yaml +39 -0
- package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/SKILL.md +266 -0
- package/templates/agents/manager/supplier/refs/skills/development/rust-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/SKILL.md +320 -0
- package/templates/agents/manager/supplier/refs/skills/development/typescript-best-practices/index.yaml +28 -0
- package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/SKILL.md +73 -0
- package/templates/agents/manager/supplier/refs/skills/development/vercel-deploy/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/SKILL.md +117 -0
- package/templates/agents/manager/supplier/refs/skills/development/web-design-guidelines/index.yaml +34 -0
- package/templates/agents/manager/supplier/refs/skills/index.yaml +129 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/SKILL.md +279 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/aws-best-practices/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/SKILL.md +274 -0
- package/templates/agents/manager/supplier/refs/skills/infrastructure/docker-best-practices/index.yaml +26 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/SKILL.md +214 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +342 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/SKILL.md +188 -0
- package/templates/agents/manager/supplier/refs/skills/orchestration/pipeline-execution/index.yaml +27 -0
- package/templates/agents/manager/supplier/refs/skills/system/memory-management/SKILL.md +194 -0
- package/templates/agents/manager/supplier/refs/skills/system/memory-management/index.yaml +30 -0
- package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/SKILL.md +163 -0
- package/templates/agents/manager/supplier/refs/skills/system/result-aggregation/index.yaml +36 -0
- package/templates/agents/manager/updater/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/manager/updater/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/manager/updater/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/manager/updater/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/manager/updater/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/manager/updater/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/manager/updater/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/manager/updater/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/manager/updater/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/manager/updater/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/manager/updater/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/manager/updater/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/manager/updater/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/manager/updater/refs/rules/index.yaml +125 -0
- package/templates/agents/orchestrator/dev-lead/AGENT.md +47 -0
- package/templates/agents/orchestrator/secretary/AGENT.md +49 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MAY-optimization.md +93 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-design.md +107 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-agent-identification.md +108 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-continuous-improvement.md +132 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-intent-transparency.md +199 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-language-policy.md +62 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-orchestrator-coordination.md +334 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-parallel-execution.md +398 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-permissions.md +84 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-safety.md +69 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-sync-verification.md +219 -0
- package/templates/agents/orchestrator/secretary/refs/rules/MUST-tool-identification.md +174 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-ecomode.md +145 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-error-handling.md +102 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-hud-statusline.md +96 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-interaction.md +103 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-memory-integration.md +114 -0
- package/templates/agents/orchestrator/secretary/refs/rules/SHOULD-pipeline-mode.md +165 -0
- package/templates/agents/orchestrator/secretary/refs/rules/index.yaml +125 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/best-practices.md +232 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi/index.yaml +21 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/SKILL.md +269 -0
- package/templates/agents/sw-engineer/backend/fastapi-expert/refs/fastapi-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/index.yaml +26 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/project-layout.md +243 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend/uber-style.md +212 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/SKILL.md +337 -0
- package/templates/agents/sw-engineer/backend/go-backend-expert/refs/go-backend-best-practices/index.yaml +26 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/best-practices.md +361 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot/index.yaml +22 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/SKILL.md +356 -0
- package/templates/agents/sw-engineer/backend/springboot-expert/refs/springboot-best-practices/index.yaml +27 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/SKILL.md +100 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/react-best-practices/index.yaml +39 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/SKILL.md +73 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/vercel-deploy/index.yaml +30 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/accessibility.md +66 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/index.yaml +20 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design/performance.md +102 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/SKILL.md +117 -0
- package/templates/agents/sw-engineer/frontend/vercel-agent/refs/web-design-guidelines/index.yaml +34 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/SKILL.md +202 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/go-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/concurrency.md +282 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/effective-go.md +309 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/error-handling.md +250 -0
- package/templates/agents/sw-engineer/language/golang-expert/refs/golang/index.yaml +27 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/coding-conventions.md +247 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/idioms.md +234 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/SKILL.md +255 -0
- package/templates/agents/sw-engineer/language/kotlin-expert/refs/kotlin-best-practices/index.yaml +27 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/pep8-style-guide.md +202 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python/zen-of-python.md +79 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/SKILL.md +221 -0
- package/templates/agents/sw-engineer/language/python-expert/refs/python-best-practices/index.yaml +25 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/error-handling.md +262 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust/ownership.md +180 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/SKILL.md +266 -0
- package/templates/agents/sw-engineer/language/rust-expert/refs/rust-best-practices/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/advanced-types.md +225 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/index.yaml +26 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript/type-system.md +219 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/SKILL.md +320 -0
- package/templates/agents/sw-engineer/language/typescript-expert/refs/typescript-best-practices/index.yaml +28 -0
- package/templates/agents/tutor/go-tutor/AGENT.md +130 -0
- package/templates/agents/tutor/go-tutor/index.yaml +48 -0
- package/templates/examples/code-review.yaml +66 -0
- package/templates/guides/claude-code/11-sub-agents.md +159 -0
- package/templates/index.yaml +18 -0
- package/templates/manifest.json +55 -0
- package/templates/skills/orchestration/intent-detection/patterns/agent-triggers.yaml +9 -0
- package/templates/templates/pipeline-template.yaml +50 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# AWS Common Architecture Patterns
|
|
2
|
+
|
|
3
|
+
> Source: https://aws.amazon.com/architecture/
|
|
4
|
+
|
|
5
|
+
## Web Application (Three-Tier)
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
9
|
+
│ Internet │
|
|
10
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
11
|
+
│
|
|
12
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
13
|
+
│ CloudFront (CDN) │
|
|
14
|
+
│ + WAF │
|
|
15
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
16
|
+
│
|
|
17
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
18
|
+
│ Application Load Balancer │
|
|
19
|
+
│ (Public Subnets) │
|
|
20
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
21
|
+
│
|
|
22
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
23
|
+
│ ECS Fargate / EC2 Auto Scaling │
|
|
24
|
+
│ (Private Subnets) │
|
|
25
|
+
│ + ElastiCache (Redis) │
|
|
26
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
27
|
+
│
|
|
28
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
29
|
+
│ RDS Aurora (Multi-AZ) │
|
|
30
|
+
│ (Private Subnets) │
|
|
31
|
+
└─────────────────────────────────────────────────────────────┘
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Serverless API
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
38
|
+
│ Client │
|
|
39
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
40
|
+
│
|
|
41
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
42
|
+
│ API Gateway │
|
|
43
|
+
│ (REST/HTTP API) │
|
|
44
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
45
|
+
│
|
|
46
|
+
┌───────────────────┼───────────────────┐
|
|
47
|
+
│ │ │
|
|
48
|
+
┌────────┴────────┐ ┌───────┴────────┐ ┌───────┴────────┐
|
|
49
|
+
│ Lambda │ │ Lambda │ │ Lambda │
|
|
50
|
+
│ (Get User) │ │ (Create User) │ │ (List Users) │
|
|
51
|
+
└────────┬────────┘ └───────┬────────┘ └───────┬────────┘
|
|
52
|
+
│ │ │
|
|
53
|
+
└───────────────────┼───────────────────┘
|
|
54
|
+
│
|
|
55
|
+
┌────────────────────────────┴────────────────────────────────┐
|
|
56
|
+
│ DynamoDB │
|
|
57
|
+
└─────────────────────────────────────────────────────────────┘
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Event-Driven Architecture
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
64
|
+
│ Producer │───▶│ EventBridge│───▶│ Consumer │
|
|
65
|
+
│ (Lambda) │ │ (Events) │ │ (Lambda) │
|
|
66
|
+
└──────────────┘ └──────┬───────┘ └──────────────┘
|
|
67
|
+
│
|
|
68
|
+
┌─────────────────┼─────────────────┐
|
|
69
|
+
│ │ │
|
|
70
|
+
▼ ▼ ▼
|
|
71
|
+
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
72
|
+
│ SQS Queue │ │ SNS Topic │ │ Step Function│
|
|
73
|
+
└──────────────┘ └──────────────┘ └──────────────┘
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Microservices
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
80
|
+
│ API Gateway / ALB │
|
|
81
|
+
└────────────────────────────┬────────────────────────────────┘
|
|
82
|
+
│
|
|
83
|
+
┌────────────────────────┼────────────────────────┐
|
|
84
|
+
│ │ │
|
|
85
|
+
┌───┴───┐ ┌────┴────┐ ┌────┴────┐
|
|
86
|
+
│Service│ │ Service │ │ Service │
|
|
87
|
+
│ A │ │ B │ │ C │
|
|
88
|
+
│(ECS) │ │ (Lambda)│ │ (EKS) │
|
|
89
|
+
└───┬───┘ └────┬────┘ └────┬────┘
|
|
90
|
+
│ │ │
|
|
91
|
+
└────────────────────────┼────────────────────────┘
|
|
92
|
+
│
|
|
93
|
+
┌────────┴────────┐
|
|
94
|
+
│ Service Mesh │
|
|
95
|
+
│ (App Mesh) │
|
|
96
|
+
└─────────────────┘
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Data Lake
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
103
|
+
│ Data Sources │
|
|
104
|
+
│ (Databases, APIs, IoT, Logs, Streams) │
|
|
105
|
+
└────────────────────────────┬─────────────────────────────────┘
|
|
106
|
+
│
|
|
107
|
+
┌────────────────────────────┴─────────────────────────────────┐
|
|
108
|
+
│ Ingestion Layer │
|
|
109
|
+
│ (Kinesis, DMS, AppFlow, Transfer Family) │
|
|
110
|
+
└────────────────────────────┬─────────────────────────────────┘
|
|
111
|
+
│
|
|
112
|
+
┌────────────────────────────┴─────────────────────────────────┐
|
|
113
|
+
│ Storage Layer │
|
|
114
|
+
│ S3 (Raw → Processed → Curated) │
|
|
115
|
+
│ + Lake Formation │
|
|
116
|
+
└────────────────────────────┬─────────────────────────────────┘
|
|
117
|
+
│
|
|
118
|
+
┌────────────────────────────┴─────────────────────────────────┐
|
|
119
|
+
│ Processing Layer │
|
|
120
|
+
│ (Glue, EMR, Athena, Redshift Spectrum) │
|
|
121
|
+
└────────────────────────────┬─────────────────────────────────┘
|
|
122
|
+
│
|
|
123
|
+
┌────────────────────────────┴─────────────────────────────────┐
|
|
124
|
+
│ Consumption Layer │
|
|
125
|
+
│ (QuickSight, SageMaker, APIs) │
|
|
126
|
+
└──────────────────────────────────────────────────────────────┘
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## CI/CD Pipeline
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
133
|
+
│ GitHub / │───▶│ CodePipeline│───▶│ CodeBuild │
|
|
134
|
+
│ CodeCommit │ │ (Source) │ │ (Build) │
|
|
135
|
+
└──────────────┘ └──────────────┘ └──────┬───────┘
|
|
136
|
+
│
|
|
137
|
+
┌─────────────────────┴─────────────────────┐
|
|
138
|
+
│ │
|
|
139
|
+
▼ ▼
|
|
140
|
+
┌──────────────┐ ┌──────────────┐
|
|
141
|
+
│ ECR │ │ S3 │
|
|
142
|
+
│ (Container) │ │ (Artifact) │
|
|
143
|
+
└──────┬───────┘ └──────┬───────┘
|
|
144
|
+
│ │
|
|
145
|
+
└─────────────────┬─────────────────────────┘
|
|
146
|
+
│
|
|
147
|
+
▼
|
|
148
|
+
┌──────────────────┐
|
|
149
|
+
│ CodeDeploy │
|
|
150
|
+
│ (Blue/Green) │
|
|
151
|
+
└────────┬─────────┘
|
|
152
|
+
│
|
|
153
|
+
┌────────────────────────┼────────────────────────┐
|
|
154
|
+
│ │ │
|
|
155
|
+
▼ ▼ ▼
|
|
156
|
+
┌──────────┐ ┌──────────┐ ┌──────────┐
|
|
157
|
+
│ Dev │ │ Stage │ │ Prod │
|
|
158
|
+
│ ECS │ │ ECS │ │ ECS │
|
|
159
|
+
└──────────┘ └──────────┘ └──────────┘
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Disaster Recovery
|
|
163
|
+
|
|
164
|
+
| Strategy | RTO | RPO | Cost |
|
|
165
|
+
|----------|-----|-----|------|
|
|
166
|
+
| Backup & Restore | Hours | Hours | $ |
|
|
167
|
+
| Pilot Light | Minutes-Hours | Minutes | $$ |
|
|
168
|
+
| Warm Standby | Minutes | Seconds | $$$ |
|
|
169
|
+
| Multi-Site Active | Near Zero | Near Zero | $$$$ |
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# AWS Guide
|
|
2
|
+
|
|
3
|
+
metadata:
|
|
4
|
+
name: aws
|
|
5
|
+
description: AWS cloud reference documentation
|
|
6
|
+
|
|
7
|
+
source:
|
|
8
|
+
type: external
|
|
9
|
+
origin: aws.amazon.com
|
|
10
|
+
urls:
|
|
11
|
+
- https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html
|
|
12
|
+
- https://docs.aws.amazon.com/
|
|
13
|
+
- https://aws.amazon.com/architecture/
|
|
14
|
+
last_fetched: "2026-01-22"
|
|
15
|
+
|
|
16
|
+
documents:
|
|
17
|
+
- name: well-architected
|
|
18
|
+
path: ./well-architected.md
|
|
19
|
+
description: AWS Well-Architected Framework summary
|
|
20
|
+
|
|
21
|
+
- name: common-patterns
|
|
22
|
+
path: ./common-patterns.md
|
|
23
|
+
description: Common AWS architecture patterns
|
|
24
|
+
|
|
25
|
+
used_by:
|
|
26
|
+
- aws-expert
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# AWS Well-Architected Framework
|
|
2
|
+
|
|
3
|
+
> Source: https://docs.aws.amazon.com/wellarchitected/
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The AWS Well-Architected Framework helps you understand the pros and cons of decisions you make while building systems on AWS.
|
|
8
|
+
|
|
9
|
+
## Six Pillars
|
|
10
|
+
|
|
11
|
+
### 1. Operational Excellence
|
|
12
|
+
|
|
13
|
+
Focus on running and monitoring systems to deliver business value.
|
|
14
|
+
|
|
15
|
+
**Design Principles:**
|
|
16
|
+
- Perform operations as code
|
|
17
|
+
- Make frequent, small, reversible changes
|
|
18
|
+
- Refine operations procedures frequently
|
|
19
|
+
- Anticipate failure
|
|
20
|
+
- Learn from operational failures
|
|
21
|
+
|
|
22
|
+
**Key Services:**
|
|
23
|
+
- AWS CloudFormation
|
|
24
|
+
- AWS Config
|
|
25
|
+
- Amazon CloudWatch
|
|
26
|
+
- AWS Systems Manager
|
|
27
|
+
|
|
28
|
+
### 2. Security
|
|
29
|
+
|
|
30
|
+
Protect information, systems, and assets.
|
|
31
|
+
|
|
32
|
+
**Design Principles:**
|
|
33
|
+
- Implement strong identity foundation
|
|
34
|
+
- Enable traceability
|
|
35
|
+
- Apply security at all layers
|
|
36
|
+
- Automate security best practices
|
|
37
|
+
- Protect data in transit and at rest
|
|
38
|
+
- Keep people away from data
|
|
39
|
+
- Prepare for security events
|
|
40
|
+
|
|
41
|
+
**Key Services:**
|
|
42
|
+
- AWS IAM
|
|
43
|
+
- AWS KMS
|
|
44
|
+
- AWS WAF
|
|
45
|
+
- Amazon GuardDuty
|
|
46
|
+
- AWS Security Hub
|
|
47
|
+
|
|
48
|
+
### 3. Reliability
|
|
49
|
+
|
|
50
|
+
Ensure workload performs correctly and consistently.
|
|
51
|
+
|
|
52
|
+
**Design Principles:**
|
|
53
|
+
- Automatically recover from failure
|
|
54
|
+
- Test recovery procedures
|
|
55
|
+
- Scale horizontally
|
|
56
|
+
- Stop guessing capacity
|
|
57
|
+
- Manage change through automation
|
|
58
|
+
|
|
59
|
+
**Key Services:**
|
|
60
|
+
- Amazon Route 53
|
|
61
|
+
- Elastic Load Balancing
|
|
62
|
+
- Auto Scaling
|
|
63
|
+
- AWS Backup
|
|
64
|
+
|
|
65
|
+
### 4. Performance Efficiency
|
|
66
|
+
|
|
67
|
+
Use computing resources efficiently.
|
|
68
|
+
|
|
69
|
+
**Design Principles:**
|
|
70
|
+
- Democratize advanced technologies
|
|
71
|
+
- Go global in minutes
|
|
72
|
+
- Use serverless architectures
|
|
73
|
+
- Experiment more often
|
|
74
|
+
- Consider mechanical sympathy
|
|
75
|
+
|
|
76
|
+
**Key Services:**
|
|
77
|
+
- Amazon EC2 Auto Scaling
|
|
78
|
+
- AWS Lambda
|
|
79
|
+
- Amazon ElastiCache
|
|
80
|
+
- Amazon CloudFront
|
|
81
|
+
|
|
82
|
+
### 5. Cost Optimization
|
|
83
|
+
|
|
84
|
+
Avoid unnecessary costs.
|
|
85
|
+
|
|
86
|
+
**Design Principles:**
|
|
87
|
+
- Implement cloud financial management
|
|
88
|
+
- Adopt consumption model
|
|
89
|
+
- Measure overall efficiency
|
|
90
|
+
- Stop spending money on undifferentiated heavy lifting
|
|
91
|
+
- Analyze and attribute expenditure
|
|
92
|
+
|
|
93
|
+
**Key Services:**
|
|
94
|
+
- AWS Cost Explorer
|
|
95
|
+
- AWS Budgets
|
|
96
|
+
- AWS Trusted Advisor
|
|
97
|
+
- Savings Plans
|
|
98
|
+
|
|
99
|
+
### 6. Sustainability
|
|
100
|
+
|
|
101
|
+
Minimize environmental impacts.
|
|
102
|
+
|
|
103
|
+
**Design Principles:**
|
|
104
|
+
- Understand your impact
|
|
105
|
+
- Establish sustainability goals
|
|
106
|
+
- Maximize utilization
|
|
107
|
+
- Anticipate and adopt efficient offerings
|
|
108
|
+
- Use managed services
|
|
109
|
+
- Reduce downstream impact
|
|
110
|
+
|
|
111
|
+
## Well-Architected Review
|
|
112
|
+
|
|
113
|
+
### Questions to Ask
|
|
114
|
+
|
|
115
|
+
**Operational Excellence:**
|
|
116
|
+
- How do you manage and automate changes?
|
|
117
|
+
- How do you respond to unplanned events?
|
|
118
|
+
- How do you evolve operations?
|
|
119
|
+
|
|
120
|
+
**Security:**
|
|
121
|
+
- How do you manage identities?
|
|
122
|
+
- How do you detect security events?
|
|
123
|
+
- How do you protect your network?
|
|
124
|
+
|
|
125
|
+
**Reliability:**
|
|
126
|
+
- How do you manage service quotas?
|
|
127
|
+
- How does your system adapt to demand?
|
|
128
|
+
- How do you back up data?
|
|
129
|
+
|
|
130
|
+
**Performance Efficiency:**
|
|
131
|
+
- How do you select compute resources?
|
|
132
|
+
- How do you select storage solutions?
|
|
133
|
+
- How do you configure networking?
|
|
134
|
+
|
|
135
|
+
**Cost Optimization:**
|
|
136
|
+
- How do you manage usage?
|
|
137
|
+
- How do you monitor cost?
|
|
138
|
+
- How do you decommission resources?
|
|
139
|
+
|
|
140
|
+
**Sustainability:**
|
|
141
|
+
- How do you select efficient hardware?
|
|
142
|
+
- How do you reduce software impact?
|
|
143
|
+
- How do you reduce data movement?
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# AWS Best Practices Skill
|
|
2
|
+
|
|
3
|
+
> **Category**: Infrastructure
|
|
4
|
+
> **Source**: Internal (based on AWS Well-Architected Framework)
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
|
|
8
|
+
Apply AWS patterns for building scalable, secure, and cost-effective cloud infrastructure.
|
|
9
|
+
|
|
10
|
+
## Well-Architected Framework Pillars
|
|
11
|
+
|
|
12
|
+
### 1. Operational Excellence
|
|
13
|
+
|
|
14
|
+
```yaml
|
|
15
|
+
principles:
|
|
16
|
+
- Perform operations as code
|
|
17
|
+
- Make frequent, small, reversible changes
|
|
18
|
+
- Refine operations procedures frequently
|
|
19
|
+
- Anticipate failure
|
|
20
|
+
- Learn from all operational failures
|
|
21
|
+
|
|
22
|
+
practices:
|
|
23
|
+
- Use CloudFormation/CDK for IaC
|
|
24
|
+
- Implement CI/CD pipelines
|
|
25
|
+
- Use CloudWatch for monitoring
|
|
26
|
+
- Set up alarms and dashboards
|
|
27
|
+
- Document runbooks
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### 2. Security
|
|
31
|
+
|
|
32
|
+
```yaml
|
|
33
|
+
principles:
|
|
34
|
+
- Implement strong identity foundation
|
|
35
|
+
- Enable traceability
|
|
36
|
+
- Apply security at all layers
|
|
37
|
+
- Automate security best practices
|
|
38
|
+
- Protect data in transit and at rest
|
|
39
|
+
- Keep people away from data
|
|
40
|
+
- Prepare for security events
|
|
41
|
+
|
|
42
|
+
iam:
|
|
43
|
+
- Use least privilege principle
|
|
44
|
+
- Never use root account for daily tasks
|
|
45
|
+
- Enable MFA for all users
|
|
46
|
+
- Use IAM roles for services
|
|
47
|
+
- Rotate credentials regularly
|
|
48
|
+
|
|
49
|
+
patterns: |
|
|
50
|
+
# IAM Policy - Least Privilege
|
|
51
|
+
{
|
|
52
|
+
"Version": "2012-10-17",
|
|
53
|
+
"Statement": [{
|
|
54
|
+
"Effect": "Allow",
|
|
55
|
+
"Action": [
|
|
56
|
+
"s3:GetObject",
|
|
57
|
+
"s3:PutObject"
|
|
58
|
+
],
|
|
59
|
+
"Resource": "arn:aws:s3:::my-bucket/*",
|
|
60
|
+
"Condition": {
|
|
61
|
+
"IpAddress": {
|
|
62
|
+
"aws:SourceIp": "10.0.0.0/8"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}]
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 3. Reliability
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
principles:
|
|
73
|
+
- Automatically recover from failure
|
|
74
|
+
- Test recovery procedures
|
|
75
|
+
- Scale horizontally
|
|
76
|
+
- Stop guessing capacity
|
|
77
|
+
- Manage change through automation
|
|
78
|
+
|
|
79
|
+
practices:
|
|
80
|
+
- Multi-AZ deployments
|
|
81
|
+
- Auto Scaling groups
|
|
82
|
+
- Health checks and self-healing
|
|
83
|
+
- Backup and disaster recovery
|
|
84
|
+
- Loose coupling with queues
|
|
85
|
+
|
|
86
|
+
patterns:
|
|
87
|
+
high_availability: |
|
|
88
|
+
# Multi-AZ RDS
|
|
89
|
+
- Primary in us-east-1a
|
|
90
|
+
- Standby in us-east-1b
|
|
91
|
+
- Read replicas in us-east-1c
|
|
92
|
+
|
|
93
|
+
auto_scaling: |
|
|
94
|
+
# Target tracking scaling
|
|
95
|
+
- Metric: CPUUtilization
|
|
96
|
+
- Target: 70%
|
|
97
|
+
- Min: 2, Max: 10
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 4. Performance Efficiency
|
|
101
|
+
|
|
102
|
+
```yaml
|
|
103
|
+
principles:
|
|
104
|
+
- Democratize advanced technologies
|
|
105
|
+
- Go global in minutes
|
|
106
|
+
- Use serverless architectures
|
|
107
|
+
- Experiment more often
|
|
108
|
+
- Consider mechanical sympathy
|
|
109
|
+
|
|
110
|
+
compute:
|
|
111
|
+
- Right-size instances
|
|
112
|
+
- Use Spot for fault-tolerant workloads
|
|
113
|
+
- Consider Graviton (ARM) processors
|
|
114
|
+
- Containerize with ECS/EKS
|
|
115
|
+
|
|
116
|
+
storage:
|
|
117
|
+
- Use appropriate storage class
|
|
118
|
+
- S3 Intelligent-Tiering for variable access
|
|
119
|
+
- EBS volume types based on IOPS needs
|
|
120
|
+
|
|
121
|
+
database:
|
|
122
|
+
- Aurora for MySQL/PostgreSQL
|
|
123
|
+
- DynamoDB for key-value/document
|
|
124
|
+
- ElastiCache for caching
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 5. Cost Optimization
|
|
128
|
+
|
|
129
|
+
```yaml
|
|
130
|
+
principles:
|
|
131
|
+
- Implement cloud financial management
|
|
132
|
+
- Adopt consumption model
|
|
133
|
+
- Measure overall efficiency
|
|
134
|
+
- Stop spending on undifferentiated heavy lifting
|
|
135
|
+
- Analyze and attribute expenditure
|
|
136
|
+
|
|
137
|
+
practices:
|
|
138
|
+
- Use Reserved Instances/Savings Plans
|
|
139
|
+
- Right-size resources
|
|
140
|
+
- Delete unused resources
|
|
141
|
+
- Use Spot Instances
|
|
142
|
+
- Implement auto scaling
|
|
143
|
+
|
|
144
|
+
tools:
|
|
145
|
+
- AWS Cost Explorer
|
|
146
|
+
- AWS Budgets
|
|
147
|
+
- AWS Trusted Advisor
|
|
148
|
+
- Cost Allocation Tags
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 6. Sustainability
|
|
152
|
+
|
|
153
|
+
```yaml
|
|
154
|
+
principles:
|
|
155
|
+
- Understand your impact
|
|
156
|
+
- Establish sustainability goals
|
|
157
|
+
- Maximize utilization
|
|
158
|
+
- Anticipate and adopt more efficient offerings
|
|
159
|
+
- Use managed services
|
|
160
|
+
- Reduce downstream impact
|
|
161
|
+
|
|
162
|
+
practices:
|
|
163
|
+
- Use efficient instance types (Graviton)
|
|
164
|
+
- Optimize storage lifecycle
|
|
165
|
+
- Use serverless where possible
|
|
166
|
+
- Select regions with lower carbon intensity
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Common Patterns
|
|
170
|
+
|
|
171
|
+
### VPC Design
|
|
172
|
+
|
|
173
|
+
```yaml
|
|
174
|
+
pattern: |
|
|
175
|
+
VPC (10.0.0.0/16)
|
|
176
|
+
├── Public Subnets
|
|
177
|
+
│ ├── us-east-1a: 10.0.1.0/24
|
|
178
|
+
│ ├── us-east-1b: 10.0.2.0/24
|
|
179
|
+
│ └── us-east-1c: 10.0.3.0/24
|
|
180
|
+
├── Private Subnets (App)
|
|
181
|
+
│ ├── us-east-1a: 10.0.11.0/24
|
|
182
|
+
│ ├── us-east-1b: 10.0.12.0/24
|
|
183
|
+
│ └── us-east-1c: 10.0.13.0/24
|
|
184
|
+
└── Private Subnets (Data)
|
|
185
|
+
├── us-east-1a: 10.0.21.0/24
|
|
186
|
+
├── us-east-1b: 10.0.22.0/24
|
|
187
|
+
└── us-east-1c: 10.0.23.0/24
|
|
188
|
+
|
|
189
|
+
components:
|
|
190
|
+
- Internet Gateway (public access)
|
|
191
|
+
- NAT Gateway (private outbound)
|
|
192
|
+
- VPC Endpoints (AWS services)
|
|
193
|
+
- Network ACLs (subnet level)
|
|
194
|
+
- Security Groups (instance level)
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Three-Tier Architecture
|
|
198
|
+
|
|
199
|
+
```yaml
|
|
200
|
+
pattern: |
|
|
201
|
+
[Internet]
|
|
202
|
+
│
|
|
203
|
+
[CloudFront]
|
|
204
|
+
│
|
|
205
|
+
[ALB] ← Public Subnet
|
|
206
|
+
│
|
|
207
|
+
[ECS/EC2] ← Private Subnet (App)
|
|
208
|
+
│
|
|
209
|
+
[RDS Multi-AZ] ← Private Subnet (Data)
|
|
210
|
+
|
|
211
|
+
components:
|
|
212
|
+
web_tier:
|
|
213
|
+
- CloudFront for CDN
|
|
214
|
+
- WAF for protection
|
|
215
|
+
- ALB for load balancing
|
|
216
|
+
|
|
217
|
+
app_tier:
|
|
218
|
+
- ECS Fargate or EC2
|
|
219
|
+
- Auto Scaling
|
|
220
|
+
- ElastiCache
|
|
221
|
+
|
|
222
|
+
data_tier:
|
|
223
|
+
- RDS Multi-AZ
|
|
224
|
+
- Read Replicas
|
|
225
|
+
- Automated backups
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Serverless Pattern
|
|
229
|
+
|
|
230
|
+
```yaml
|
|
231
|
+
pattern: |
|
|
232
|
+
[API Gateway]
|
|
233
|
+
│
|
|
234
|
+
[Lambda] → [DynamoDB]
|
|
235
|
+
│
|
|
236
|
+
[SQS] → [Lambda] → [S3]
|
|
237
|
+
|
|
238
|
+
components:
|
|
239
|
+
- API Gateway for REST/HTTP APIs
|
|
240
|
+
- Lambda for compute
|
|
241
|
+
- DynamoDB for NoSQL
|
|
242
|
+
- SQS for decoupling
|
|
243
|
+
- S3 for storage
|
|
244
|
+
- Step Functions for orchestration
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### CI/CD Pipeline
|
|
248
|
+
|
|
249
|
+
```yaml
|
|
250
|
+
pattern: |
|
|
251
|
+
[CodeCommit/GitHub]
|
|
252
|
+
│
|
|
253
|
+
[CodePipeline]
|
|
254
|
+
│
|
|
255
|
+
├── [CodeBuild] - Build & Test
|
|
256
|
+
│
|
|
257
|
+
├── [ECR] - Container Registry
|
|
258
|
+
│
|
|
259
|
+
└── [CodeDeploy/ECS] - Deploy
|
|
260
|
+
|
|
261
|
+
practices:
|
|
262
|
+
- Blue/Green deployments
|
|
263
|
+
- Canary releases
|
|
264
|
+
- Automated rollback
|
|
265
|
+
- Infrastructure as Code
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## Application
|
|
269
|
+
|
|
270
|
+
When designing AWS architecture:
|
|
271
|
+
|
|
272
|
+
1. **Always** follow least privilege for IAM
|
|
273
|
+
2. **Always** use Multi-AZ for production
|
|
274
|
+
3. **Always** encrypt data at rest and in transit
|
|
275
|
+
4. **Prefer** managed services over self-managed
|
|
276
|
+
5. **Implement** monitoring and alerting
|
|
277
|
+
6. **Use** IaC for all infrastructure
|
|
278
|
+
7. **Design** for failure
|
|
279
|
+
8. **Optimize** costs continuously
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# AWS Best Practices Skill
|
|
2
|
+
|
|
3
|
+
metadata:
|
|
4
|
+
name: aws-best-practices
|
|
5
|
+
category: infrastructure
|
|
6
|
+
description: AWS patterns from Well-Architected Framework
|
|
7
|
+
|
|
8
|
+
source:
|
|
9
|
+
type: internal
|
|
10
|
+
reference:
|
|
11
|
+
- https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html
|
|
12
|
+
- https://docs.aws.amazon.com/
|
|
13
|
+
- https://aws.amazon.com/architecture/
|
|
14
|
+
|
|
15
|
+
provides:
|
|
16
|
+
- Well-Architected Framework pillars
|
|
17
|
+
- Security best practices
|
|
18
|
+
- Reliability patterns
|
|
19
|
+
- Performance optimization
|
|
20
|
+
- Cost optimization
|
|
21
|
+
- VPC design patterns
|
|
22
|
+
- Three-tier architecture
|
|
23
|
+
- Serverless patterns
|
|
24
|
+
- CI/CD pipelines
|
|
25
|
+
|
|
26
|
+
used_by:
|
|
27
|
+
- aws-expert
|