%%{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": "18px"
},
"flowchart": {
"rankSpacing": 75,
"nodeSpacing": 65,
"curve": "linear",
"htmlLabels": true,
"padding": 25
}
}}%%
graph TD
Users["

Users"]
Dev["

Developer"]
subgraph CICD["CI/CD · CodePipeline V2 (Path-Filter Trigger)"]
GH["

GitHub
main branch"]
subgraph BEPipe["Backend ×4 backend/{svc}/**"]
BEP["

CodePipeline ×4"]
BEB["

CodeBuild
(privileged)"]
end
subgraph FEPipe["Frontend ×1 frontend/**"]
FEP["

CodePipeline ×1"]
FEB["

CodeBuild
build + sync"]
end
ARTS3["

Artifact S3"]
end
R53["

Route53
pposiraegi.cloud"]
ACM["

ACM
us-east-1"]
CF["

CloudFront
HTTPS · SPA"]
subgraph AWS["AWS Cloud · ap-northeast-2"]
S3FE["

S3
Frontend OAC"]
ECR["

ECR ×4
api-gw/user/product/order"]
SSM["

SSM
Parameter Store"]
CW["

CloudWatch
Logs (7일)"]
subgraph VPC["VPC 10.0.0.0/16"]
subgraph Pub["Public Subnets 10.0.1-2.0/24"]
IGW["

Internet
Gateway"]
ALB["

ALB
:80 → :8080"]
NAT["

NAT
Gateway"]
end
subgraph Priv["Private Subnets 10.0.11-12.0/24"]
subgraph ECS["ECS Fargate Cluster"]
APIGW["

api-gateway
:8080 :9090"]
USVC["

user-service
:8080 :9090"]
PSVC["

product-service
:8080 :9090"]
OSVC["

order-service
:8080"]
end
CMAP["

Cloud Map
pposiraegi.internal"]
RDS["

PostgreSQL 15
db.t3.micro · :5432"]
CACHE["

Redis 7
cache.t3.micro · :6379"]
end
end
end
GH -->|push| BEP --> BEB
GH -->|push| FEP --> FEB
BEB -.->|artifact| ARTS3
FEB -.->|artifact| ARTS3
BEB -->|ECR push| ECR
BEB -->|ECS deploy| APIGW
FEB -->|"S3 sync + CF inv"| S3FE
Users --> R53 --> CF
ACM -.->|TLS cert| CF
CF -->|"/*"| S3FE
CF -->|"/api/* /ws/*"| IGW
IGW --> ALB
ALB -->|":8080"| APIGW
APIGW -->|":8080"| USVC
APIGW -->|":8080"| PSVC
APIGW -->|":8080"| OSVC
APIGW -.->|"gRPC :9090"| USVC
APIGW -.->|"gRPC :9090"| PSVC
USVC -.->|"gRPC :9090"| PSVC
APIGW -.-> CMAP
USVC -.-> CMAP
PSVC -.-> CMAP
OSVC -.-> CMAP
USVC -->|":5432"| RDS
PSVC -->|":5432"| RDS
OSVC -->|":5432"| RDS
APIGW -->|":6379"| CACHE
PSVC -->|":6379"| CACHE
OSVC -->|":6379"| CACHE
NAT -.->|Pull Images| ECR
SSM -.->|Secrets| APIGW
APIGW -.-> CW
USVC -.-> CW
PSVC -.-> CW
OSVC -.-> CW
Dev -.->|SSM| APIGW
linkStyle 0,1,2,3,6,7,8 stroke:#27AE60,stroke-width:2px
linkStyle 19,20,21 stroke:#4A90D9,stroke-width:1.5px
linkStyle 4,5,11,22,23,24,25,32,33,34,35,36,37,38 stroke:#888888,stroke-width:1.5px