%%{init: { "theme": "base", "themeVariables": { "primaryColor": "#EBF3FB", "primaryTextColor": "#1a1a1a", "primaryBorderColor": "#5B9BD5", "lineColor": "#444", "secondaryColor": "#FFF3E0", "tertiaryColor": "#F3F4F6", "clusterBkg": "#EEF5FF", "clusterBorder": "#5B9BD5", "edgeLabelBackground": "#fff", "fontFamily": "Spoqa Han Sans Neo, Arial, sans-serif", "fontSize": "20px" }, "flowchart": { "rankSpacing": 90, "nodeSpacing": 80, "curve": "linear", "htmlLabels": true, "padding": 30 } }}%% graph TD Users["
Users"] Dev["
Developer"] R53["
Route53
pposiraegi.cloud"] ACM["
ACM
us-east-1"] CF["
CloudFront
HTTPS · SPA"] subgraph AWS["AWS Cloud · ap-northeast-2"] S3["
S3
Frontend OAC"] SSM["
SSM
Session Manager"] subgraph VPC["VPC 10.0.0.0/16"] subgraph Pub["Public Subnets"] IGW["
Internet
Gateway"] ALB["
ALB
:80 → :8080"] NAT["
NAT
Gateway"] BAS["
Bastion
t3.micro"] end subgraph Priv["Private Subnets"] EC2["
Spring Boot
t3.medium · :8080"] RDS["
PostgreSQL 16
db.t3.micro · :5432"] RDI["
Redis 7
cache.t3.micro · :6379"] end end end Users --> R53 R53 --> CF ACM -.->|TLS cert| CF CF -->|"/*"| S3 CF -->|"/api/* /ws/*"| IGW IGW --> ALB ALB -->|":8080"| EC2 EC2 -->|":5432"| RDS EC2 -->|":6379"| RDI EC2 -.->|outbound| NAT NAT --> IGW Dev -.->|SSH| BAS BAS -.->|SSH| EC2 Dev -.->|SSM| SSM SSM -.-> EC2 linkStyle 2,9,11,12,13,14 stroke:#888888,stroke-width:1.5px