AWS ์ด์ ์ด๋ฒคํธ๋ฅผ ์์งํ๊ณ , ์ฌ๋์ด ๋ฐ๋ก ํ๋จํ ์ ์๋ ๋ณด๊ณ ์์ ์คํ ๊ณํ์ผ๋ก ์ฐ๊ฒฐํ๋ ํด๋ผ์ฐ๋ ์ด์ ํ๋ซํผ
DnDn-App ยท DnDn-Infra ยท DnDn-HR ยท .github
๋ ๋ ์ ์ฌ๋ฌ AWS ๊ณ์ ์์ ๋ฐ์ํ๋ ๋ณ๊ฒฝ ์ด๋ ฅ๊ณผ ์ด์ ์ด๋ฒคํธ๋ฅผ ํ๊ณณ์ผ๋ก ๋ชจ์
์ด์์๊ฐ ๋ฐ๋ก ์ดํดํ ์ ์๋ ๋์๋ณด๋, ๋ฌธ์, ๋ณด๊ณ ์, ์คํ ๊ฐ๋ฅํ Terraform ์ด์์ผ๋ก ์ฐ๊ฒฐํ๋ DevOps ํ๋ซํผ์
๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ง์คํ๋ ํ๋ฆ์ ๋จ์ํฉ๋๋ค.
์์ง โ ์ ๊ทํ โ ์ ์ฅ โ ๋ณด๊ณ ์/๊ณํ ์์ฑ โ ์ด์์ ํ๋จ โ ํ์ ์กฐ์น
ํด๋ผ์ฐ๋ ์ด์์์๋ ๋ค์ ์ง๋ฌธ์ ๋ตํ๋ ๋ฐ ์๊ฐ์ด ๋ง์ด ๋ญ๋๋ค.
- ๋ฌด์์ด ๋ฐ๋์๋๊ฐ?
- ์ด๋ค ๋ฆฌ์์ค์ ์ํฅ์ด ์์๋๊ฐ?
- ์ง๊ธ ์ด ์ด๋ฒคํธ๊ฐ ์ค์ ์กฐ์น๊ฐ ํ์ํ๊ฐ?
- ๋ค์ ์ก์ ์ ๋ฌธ์/๊ณํ/์ฝ๋๋ก ์ด๋ป๊ฒ ์ด์ด๊ฐ ๊ฒ์ธ๊ฐ?
DnDn์ ์ด ๊ณผ์ ์ ๋ ์งง๊ณ ๋ช ํํ๊ฒ ๋ง๋ค๊ธฐ ์ํด ์ค๊ณ๋์์ต๋๋ค.
flowchart LR
subgraph Customer["Customer AWS Accounts"]
A1[CloudTrail]
A2[AWS Config]
A3[Security Hub]
A4[AWS Health]
end
A1 --> B[DnDn Worker]
A2 --> B
A3 --> B
A4 --> B
B --> C[S3 / MariaDB]
C --> D[DnDn API]
C --> E[DnDn Report]
D --> F[Dashboard / Documents / Workspace]
E --> G[AI Report / Plan / Terraform Draft]
H[DnDn-Infra<br/>Terraform / CloudFormation / Argo CD] --> D
H --> E
I[DnDn-HR<br/>Users / Departments / Roles] --> D
| Repository | ์ญํ | ์ฃผ์ ๊ธฐ์ | ๋ฐ๋ก ๋ณด๊ธฐ |
|---|---|---|---|
| DnDn-App | ๋ฉ์ธ ์ ํ๋ฆฌ์ผ์ด์ ๋ชจ๋ ธ๋ ํฌ. Web, API, Worker, Report, Contracts๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. | React, TypeScript, FastAPI, Python, MariaDB | README ยท Worker ยท Contracts |
| DnDn-Infra | AWS ์ธํ๋ผ, ๊ณ ๊ฐ ๊ณ์ ์จ๋ณด๋ฉ, Lambda, Argo CD ๊ธฐ๋ฐ GitOps, ์ด์ ๋ฌธ์๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. | Terraform, CloudFormation, AWS Lambda, Argo CD | README ยท Architecture ยท Runbook |
| DnDn-HR | ์ฌ์ฉ์/๋ถ์/๊ถํ ์ด์์ ์ํ HR ํฌํธ ํ๋ก ํธ์๋์ ๋๋ค. | React, TypeScript, Vite | Repository |
| .github | ์กฐ์ง ํ๋กํ๊ณผ ๊ณตํต GitHub ์ค์ ์ ๊ด๋ฆฌํฉ๋๋ค. | Markdown, GitHub | Profile README |
DnDn์ ์ญํ ์ ์๋ ๊ธฐ์ค์ผ๋ก ๋๋๋๋ค.
| ๊ด์ | ๋ด๋น |
|---|---|
| What to run | DnDn-App, DnDn-HR |
| Where / How to run | DnDn-Infra |
| Data contract between services | DnDn-App/contracts |
์ฆ,
DnDn-App,DnDn-HR๋ ์ ํ ๊ธฐ๋ฅ๊ณผ ์คํ ์ฐ์ถ๋ฌผ์ ๋ง๋ค๊ณDnDn-Infra๋ ๊ทธ ์ฐ์ถ๋ฌผ์ด ์ฌ๋ผ๊ฐ AWS / Kubernetes ๋ฐํ์๊ณผ ๋ฐฐํฌ ๊ฒฝ๋ก๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- CloudTrail / AWS Config ๊ธฐ๋ฐ ๋ณ๊ฒฝ ์ด๋ ฅ ์์ง
WEEKLY,EVENT๋ ์คํ ๋ชจ๋ ์ง์SECURITYHUB,AWS_HEALTH,MANUAL์ด๋ฒคํธ ํธ๋ฆฌ๊ฑฐ ํ์ฅcanonical.json,event.jsonํ์ค ๊ฒฐ๊ณผ๋ฌผ ์์ฑraw/index.json๊ธฐ๋ฐ evidence inventory ์ ์ง
- Dashboard / Documents / Workspace ์ค์ฌ ์น ํ๋ฉด ์ ๊ณต
- ๋ฉ์ธ API์์ ์ธ์ฆ, ์กฐ์ง, ๋ฌธ์, ์ํฌ์คํ์ด์ค, GitHub/Slack ์ฐ๋ ์ ๊ณต
- Report ์๋น์ค์์ ๋ณด๊ณ ์, ๊ณํ์, Terraform ์์ฑ / ๊ฒ์ฆ / ์์ ํ๋ฆ ์ ๊ณต
- SQS worker ๊ธฐ๋ฐ ๋น๋๊ธฐ ์์ฑ ์์ ์ง์
- CloudFormation์ผ๋ก ๊ณ ๊ฐ AWS ๊ณ์ ์จ๋ณด๋ฉ
- Terraform์ผ๋ก ํ๋ซํผ ๊ณตํต ์ธํ๋ผ ๊ด๋ฆฌ
- Argo CD
app-of-apps๊ธฐ๋ฐ GitOps ์ด์ - ์ฑ ๋ ํฌ ์ด๋ฏธ์ง ๋น๋ โ ECR ํธ์ โ Git manifest ๊ฐฑ์ โ Argo CD rollout
flowchart LR
A[DnDn-App / DnDn-HR] -->|GitHub Actions build| B[ECR]
B --> C[DnDn-Infra update-image.yml]
C --> D[GitOps manifests]
D --> E[Argo CD]
E --> F[EKS workloads]
| Area | Stack |
|---|---|
| Frontend | React 19, TypeScript, Vite |
| Backend | FastAPI, SQLAlchemy, Python |
| Infra | AWS EventBridge, Lambda, S3, SQS, Cognito, EKS |
| IaC / Delivery | Terraform, CloudFormation, Argo CD, GitHub Actions |
| Data / AI | MariaDB, Amazon Bedrock, OPA |
| Integrations | GitHub, Slack, AWS STS |
์ฑ ๋ชจ๋ ธ๋ ํฌ ๊ตฌ์ฑ ๋ณด๊ธฐ
| Path | ์ค๋ช |
|---|---|
apps/web |
์ด์ ๋์๋ณด๋, ๋ฌธ์ ๋ทฐ์ด, ์ํฌ์คํ์ด์ค UI |
apps/api |
์ธ์ฆ, ์กฐ์ง, ๋ฌธ์, ์ํฌ์คํ์ด์ค, ์ฐ๋ API |
apps/worker |
AWS ์ด๋ฒคํธ ์์ง๊ณผ ์ ๊ทํ |
apps/report |
๋ณด๊ณ ์ / ๊ณํ์ / Terraform ์์ฑ ์๋น์ค |
contracts |
Worker โ API โ Report ์ฌ์ด์ ๋ฐ์ดํฐ ๊ณ์ฝ๊ณผ ์ํ |
docs |
์ด์ ๋ฉ๋ชจ์ ํธ๋ฌ๋ธ์ํ ๋ฌธ์ |
- DnDn-Infra / architecture.md
- DnDn-Infra / operations-runbook.md
- DnDn-App / apps/worker/README.md
- DnDn-App / contracts/README.md
- ์ ํ ํ๋ฆ์ด ๊ถ๊ธํ๋ฉด โ
DnDn-App - ๋ฐฐํฌ / ์ธํ๋ผ / ์ด์ ๋ฐฉ์์ด ๊ถ๊ธํ๋ฉด โ
DnDn-Infra - ์กฐ์ง / ๋ถ์ / ๊ถํ ํ๋ฉด์ด ๊ถ๊ธํ๋ฉด โ
DnDn-HR
- ํ์ฌ ์ค์ด์ ๊ธฐ์ค ํ๊ฒฝ ์ํธ๋ฆฌ๋
terraform/envs/prod์ ๋๋ค. devํ๊ฒฝ์ scaffold/reference ๊ตฌ์กฐ๊ฐ ์ค๋น๋์ด ์์ง๋ง, ์ฆ์ ์ ์ฉ ๊ฐ๋ฅํ ๋ ๋ฆฝ ํ๊ฒฝ์ผ๋ก ์์ ํ ํ์ฑํ๋ ์ํ๋ ์๋๋๋ค.- ๋ชจ๋ํฐ๋ง์ ์ฑ ๋ฐฐํฌ ๋๋ฉ์ธ๊ณผ ๋ถ๋ฆฌ๋์ด ์ด์๋๋ฉฐ, ํ์ฌ GitOps ๋ฒ์์๋ ์ฑ ๋ฉํธ๋ฆญ ์ฐ๊ฒฐ์ ์ํ
ServiceMonitor๋ฆฌ์์ค๊ฐ ํฌํจ๋ฉ๋๋ค.
ACS-DnDn์ ํด๋ผ์ฐ๋ ์ด์ ์๋ํ์ ์ค๋ฌดํ DevOps ๊ฒฝํ์ ์ฐ๊ฒฐํ๋ ์ ํ์ ๋ง๋ค๊ณ ์์ต๋๋ค. ๐ฑ