mirror of
https://github.com/markdown-viewer/skills.git
synced 2026-09-14 20:36:52 +08:00
74 lines
2.2 KiB
Markdown
74 lines
2.2 KiB
Markdown
# AWS Basic Architecture
|
|
|
|
Three-tier web application with CloudFront, ALB, EC2 Auto Scaling, and RDS in a VPC.
|
|
|
|
## Key Elements
|
|
|
|
| Component | Stencil |
|
|
|-----------|---------|
|
|
| Users | `mxgraph.aws4.users` |
|
|
| CloudFront | `mxgraph.aws4.cloudfront` |
|
|
| S3 | `mxgraph.aws4.s3` |
|
|
| ALB | `mxgraph.aws4.application_load_balancer` |
|
|
| NAT Gateway | `mxgraph.aws4.nat_gateway` |
|
|
| EC2 | `mxgraph.aws4.ec2` |
|
|
| RDS | `mxgraph.aws4.rds` |
|
|
|
|
## Example
|
|
|
|
Three-tier architecture with multi-AZ VPC:
|
|
|
|
```plantuml
|
|
@startuml
|
|
left to right direction
|
|
mxgraph.aws4.users "Users" as users
|
|
mxgraph.aws4.cloudfront "CloudFront" as cf
|
|
mxgraph.aws4.s3 "S3\n(Static Assets)" as s3
|
|
|
|
cloud "AWS Cloud" {
|
|
rectangle "VPC" {
|
|
rectangle "Public Subnet (AZ-1)" {
|
|
mxgraph.aws4.application_load_balancer "ALB" as alb
|
|
}
|
|
rectangle "Public Subnet (AZ-2)" {
|
|
mxgraph.aws4.nat_gateway "NAT\nGateway" as nat
|
|
}
|
|
rectangle "Private Subnet (AZ-1)" {
|
|
mxgraph.aws4.ec2 "EC2" as ec2a
|
|
mxgraph.aws4.ec2 "EC2" as ec2b
|
|
}
|
|
rectangle "Private Subnet (AZ-2)" {
|
|
mxgraph.aws4.rds "RDS\n(Primary)" as rds1
|
|
mxgraph.aws4.rds "RDS\n(Standby)" as rds2
|
|
}
|
|
}
|
|
}
|
|
|
|
users --> cf
|
|
cf --> s3
|
|
cf --> alb
|
|
alb --> ec2a
|
|
alb --> ec2b
|
|
ec2a --> rds1
|
|
rds1 ..> rds2 : replication
|
|
@enduml
|
|
```
|
|
|
|
## Pattern Notes
|
|
|
|
1. **`left to right direction`** — cloud architectures flow left-to-right: Users → Edge → Compute → Data
|
|
2. **Nested containers**: `cloud "AWS Cloud"` → `rectangle "VPC"` → `rectangle "Subnet"` maps to AWS resource hierarchy
|
|
3. **Multi-AZ**: duplicate subnets and services across availability zones for high availability
|
|
4. **Dashed for replication**: `rds1 ..> rds2` shows async standby replication
|
|
|
|
## Related Icons
|
|
|
|
| Icon | Stencil | Use When |
|
|
|------|---------|----------|
|
|
| Auto Scaling | `mxgraph.aws4.auto_scaling2` | EC2 scaling group boundary |
|
|
| WAF | `mxgraph.aws4.waf` | Web application firewall at ALB |
|
|
| ElastiCache | `mxgraph.aws4.elasticache` | In-memory caching layer |
|
|
| Route 53 | `mxgraph.aws4.route_53` | DNS routing to CloudFront |
|
|
| Certificate Mgr | `mxgraph.aws4.certificate_manager` | TLS certificate provisioning |
|
|
| Internet Gateway | `mxgraph.aws4.internet_gateway` | VPC internet entry point |
|