Skip to content

Commit aabe0bd

Browse files
authored
Enhance README with architecture and CI/CD details
Updated the README to include detailed architecture and CI/CD pipeline information for the flooding-devOps project.
1 parent bf61fa6 commit aabe0bd

1 file changed

Lines changed: 110 additions & 0 deletions

File tree

README.md

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,113 @@
11
# flooding-devOps
22

33
<img width="847" height="552" alt="스크린샷 2025-09-15 오전 9 20 57" src="https://github.com/user-attachments/assets/9e6630cf-0e0b-4bcc-af85-fdba64a7f9c1" />
4+
5+
# flooding AWS 인프라 아키텍처
6+
7+
본 레포지토리는 Vercel 기반 프론트엔드와 AWS 기반 백엔드 인프라를 포함한 전체 CI/CD 및 배포 구조를 설명합니다.
8+
9+
아키텍처는 **AWS VPC, EC2 Auto Scaling, ALB, NAT/Bastion, RDS(Postgres), Valkey, CloudWatch, CodeDeploy, EventBridge, Lambda, Grafana** 등을 포함하고 있으며,
10+
11+
프론트엔드는 **Vercel → GitHub 자동 배포**로 구성되어 있습니다.
12+
13+
---
14+
15+
## 전체 아키텍처 개요
16+
17+
본 인프라는 다음과 같은 흐름으로 구성됩니다:
18+
19+
### 1. **Frontend (Client / Vercel)**
20+
21+
- 사용자는 Vercel에 배포된 웹사이트에 접속
22+
- 프론트엔드는 GitHub Push → Vercel 자동 배포
23+
- API 호출 시 AWS ALB를 통해 백엔드로 전달
24+
25+
---
26+
27+
## 2. **Backend (AWS)**
28+
29+
### VPC 구조
30+
31+
- **Public Subnet**
32+
- Application Load Balancer(ALB)
33+
- NAT/Bastion 서버(SSH 접근)
34+
- **Private Subnet**
35+
- Grafana Dashboard(현재 삭제)
36+
- Jenkins
37+
- EC2 Server(Auto Scailing)
38+
- **Protected Subnet**
39+
- Postgres DB
40+
- Valkey
41+
42+
---
43+
44+
## 3. **컴퓨팅 및 모니터링**
45+
46+
### EC2 Auto Scaling Group
47+
48+
- 백엔드 서버 가동
49+
- CloudWatch 지표 기반 자동 확장/축소
50+
- CodeDeploy Blue/Green 전략으로 무중단 배포
51+
52+
### Grafana
53+
54+
- CloudWatch → 메트릭 수집 → Grafana 시각화
55+
56+
---
57+
58+
## 4. **CI/CD 파이프라인**
59+
60+
### Backend
61+
62+
GitHub → Jenkins → CodeDeploy → Blue/Green 배포
63+
64+
- EventBridge를 통해 배포 이벤트 발생
65+
- Lambda가 Discord Webhook으로 알림 전송
66+
67+
### Frontend
68+
69+
GitHub → Vercel
70+
71+
- Push 시 자동 반영
72+
73+
---
74+
75+
## 5. **스토리지 / 레지스트리**
76+
77+
- **Amazon ECR**: Docker 이미지 저장
78+
- **Amazon S3**: 정적 파일 및 배포 아티팩트 저장
79+
80+
---
81+
82+
## 6. **보안 & 접근**
83+
84+
### Bastion (NAT 겸용)
85+
86+
- DevOps 팀이 SSH로 Private Subnet의 서버 접근
87+
- 모든 서버는 Public IP 없이 Private 환경에서 운영
88+
89+
---
90+
91+
## 📦 기술 스택
92+
93+
| 영역 | 기술 |
94+
| --- | --- |
95+
| Infra | EC2, ASG, Vercel |
96+
| Networking | VPC, ALB, Security Group |
97+
| Database | Postgres, Valkey |
98+
| CI/CD | GitHub, CodeDeploy, EventBridge, Lambda |
99+
| Monitoring | CloudWatch, Grafana |
100+
| Frontend | Vercel |
101+
| Storage | S3, ECR |
102+
| Notification | Discord Webhook |
103+
104+
---
105+
106+
## 흐름 요약
107+
108+
1. **Frontend 개발자** → GitHub push → Vercel 자동 배포
109+
2. **Backend 개발자** → GitHub push → Jenkins(Build) → AWS CodeDeploy → Blue/Green 배포
110+
3. **배포 완료 시** → EventBridge → Lambda → Discord 알림
111+
4. **사용자(Client)** → Vercel 사이트 접속 → API 요청 → AWS ALB → EC2
112+
5. **운영팀(DevOps)** → Bastion 통해 Private 서버 SSH 접근
113+
6. **CloudWatch** → Grafana에 지표 제공 → 모니터링

0 commit comments

Comments
 (0)