개발하는 자몽

[TIL] 백엔드 아키텍처, Nginx 본문

개발 지식

[TIL] 백엔드 아키텍처, Nginx

jaamong 2023. 1. 19. 18:38

Backend Architecture

- AWS EC2 진입

- Nginx 진입

- Nginx는 실제로 하나지만, 기능 및 아키텍처 이해를 돕기 위해 순서를 나눴다 : 로드 밸런싱, 웹서버(view) 기능, 리버스 프록시/포트 포워딩 기능

- Nginx의 기능을 나누지 않고 하나로 썼을 때는 말 그대로 하나로 보면 된다.

- AWS S3는 사진/동영상 업로드 용으로 사용

 

큰 틀 ▷ IDE Gitlab CI/CD Gradle(build) Docker(deploy)  Nginx(Web Server) ↔ SpringBoot(WAS)  JPA ↔ MySQL(DB, AWS RDS)

DB ▷ RDS를 사용한다면 EC2 밖, 사용하지 않고 EC2 내부에 설치할 경우 똑같이 배경색을 칠하는 것으로 생각한다.

알림, 사진/동영상 업로드 ▷ AWS S3 ↔ Front(React, ...) + Nginx(웹 서버 기능) ↔ Nginx(reverse proxy, port forwarding 기능)

▷ SpringBoot ↔ Redis(session, cache) ↔ DB

▶ Client ↔ Nginx ↔ firebase ↔ SpringBoot

▶ AWS S3 ↔ Client ↔ Nginx ↔ SpringBoot ↔ AWS S3

 

?  Nginx의 load balancing 기능을 이용한다면 S3와 Front 사이가 아닐까?

?  redis는 ec2 내부인지 외부인지 잘 모르겠다. 찾은 정보마다 다 다르다.

 

Reverse Proxy & Port Forwarding with Nginx

· Reverse Proxy

Request : Client → Nginx → Server 

Response : Server → Nginx -- IP ? → Client

 

· Port Forwarding

Request : Client [port 22] → Nginx [port 22 : IP xxx.xxx.xxx.xxx] → Server 1 [IP xxx.xxx.xxx.xxx]

 

 

 

Comments