클라우드/AWS

[AWS] 서버리스(Serverless)란?

코딩하는 도람쥐 2025. 5. 19. 09:28
728x90
반응형

✅ 서버리스란? 

서버가 없는 것이 아니라 서버 운영과 관리를 개발자가 직접 하지 않아도 되는 모델 

 

ex) EC2처럼 OS, 패치, 용량, 네트워킹 등을 관리 x 

대신 AWS가 자동으로 서버를 생성, 실행 스케일링, 종료까지 함. 

개발자는 코드에만 집중할 수 있음. 

 

 스타트업이나 소규모 기업처럼 운영을 할 인원이 부족하고, 개발에 집중하고 싶을 때 좋은 서비스 

 

✅ 장점 

- 비용 효율적 

- 운영 간소화 

- 자동 확장 

- 빠른 개발과 배포 

- 보안 강화

- 유연한 확장성  

 

✅AWS 서비스 

- S3

- API Gateway 

- Lambda 

- RDS Proxy 

- Aurora Serverless v2


✅PaaS (Platform as a Service)

애플리케이션 개발에 필요한 플랫폼 제공 (운영체제, DB, 런타임 등 포함)

Elastic Beanstalk, RDS

 

✅ SaaS (Software as a Service)

완전히 동작하는 소프트웨어를 제공. 사용자는 로그인해서 바로 사용

 

✅ FaaS(Function as a Service)

 


완전한 서버리스 구조 (PaaS + FaaS): 비용 절감 + 운영 간소화

 

아키텍처

AWS

사용자 DNS(Route53) → CloudFront(엣지로케이션) → S3 → API Gateway → Lambda → RDS Proxy → Aurora DB (MySQL)

 

S3 정적 웹 호스팅 (HTML/JS/CSS) 저장
CloudFront S3 콘텐츠 전송 CDN + HTTPS 적용 + 캐싱
Route 53 커스텀 도메인 → CloudFront 연결
ACM CloudFront용 SSL 인증서 발급 (us-east-1)
Lambda/API Gateway 사용자 동적 요청 처리 (이미지 업로드, DB 조회 등)
RDS Proxy + Aurora DB 읽기/쓰기 처리 (서버리스 백엔드와 연동)

✅ [S3 + CloudFront] = 프론트엔드

[AWS] S3, CloudFront, Route53 연동하기

 

[AWS] S3, CloudFront, Route53 연동하기

오늘은 제 멀티클라우드 프로젝트의 AWS 앞 부분을 구현해보겠습니다.  제 프로젝트의 웹사이트는 주로 HTML, CSS, 및 JavaScript 파일로 구성되어, 동적인 처리가 필요하지 않으므로 정적 웹 호스팅

doyeon-charm.tistory.com

 

1. DNS

사용자 도메인 요청을 DNS가 받아서 해당 서비스로 라우팅

도메인 이름 - IP주소

- AWS Route53

- 헬스체크를 통해 라우팅 (고가용성, 속도)

 

 

2. Cloudfront

CDN(컨텐츠 딜리버리 네트워크) 역할

- 엣지 로케이션

- 정적 콘텐츠 S3에 저장된 파일을 빠르게 전송

- ACM

Ex. 엣지 로케이션에 미리 복사본 캐시, 제공

클라우드 프론트를 설정하면 자동으로 전세계 엣지 로케이션에 배포

사용자와 가장 가까운 엣지 로케이션이 연결되어 사용됨.

 

CloudFront (CDN)

     ↓        ↓

S3 (정적)   API Gateway

 

- S3

프론트, 이미지, html 등등 정적 저장소 / 정적 웹 호스팅으로 사용


 [Lambda + API Gateway = 서버리스 백엔드] 

 

3. API Gateway

RESTful API

사용자 요청이 들어오면 람다로 요청 전달

클라이언트 – 서버 (게이트웨이 역할) / 애플리케이션의 엔드포인트 역할

사용자 요청 → api gateway → 람다실행 → 결과반환 → api gateway → 사용자

 

[Route 53 / CloudFront] → [API Gateway] → [Lambda]

         ↓

[Beanstalk EC2] (메인 백엔드)

 

- Beanstalk (자체적 엔드포인트)

백엔드 애플리케이션 서버용 배포 및 관리를 위한 Paas 서비스

API Gateway와 Lambda는 서버리스 / 배포 환경을 관리

자동으로 확장(스케일링), 자동으로 애플리케이션 서버를 올릴 수 있게 도와줌, 배포

서버 기반 앱 배포 플랫폼

 

[Route 53 / CloudFront] → [Elastic Beanstalk (EC2 웹서버)] → DB

상시 사용, ec2 위의 앱, 비용도 상시 발생

 

4. Lambda

서버리스 컴퓨팅 서비스

api gateway로 받은 요청 처리 (사용자 요청 → api gateway → 람다실행 → 결과반환 →  api gateway → 사용자)

 

람다에서 실행한 코드가 로직을 처리하고 결과를 api gateway로 사용자에게 반환

환경은 자동 제공되므로 코드(함수)만 신경

 

이벤트 발생 시 자동 실행 (이벤트 브릿지 →  람다 실행)

이벤트 브릿지: 이벤트 감지해서 람다를 자동 실행시키는 트리거

이벤트 발생 → 이벤트 브릿지가 감지 → 람다 연결, 실행 → 람다 함수 실행 ex. 눈

 

트리거: 자동으로 실행시키는 신호

(트리거: S3에 이미지 업로드 → 이벤트 발생 → 람다 실행(ex. 썸네일 제작 실행 코드) (자동화) → S3에 저장)

 

사용한 만큼만 비용 발생


5. RDS Proxy

오로라 디비와 연결

데이터베이스 연결을 풀하고 람다와 db간의 연결 관리

 →  Pool 풀(db연결을 미리 만들어서 모아놓은 저장소)

 →  풀링해서 재사용

 

6. Aurora DB(MYSQL)

자동 백업, 지점 복구, 스케일링

오토스케일링: 읽기 전용 리플리카 지원

읽기요청 부하를 리플리카를 추가해 스케일링 처리

스케일링은 트래픽 증가와 같이 설정 임계 값을 넘어가면 처리.

Aurora MySQL Serverless: 완전한 서버리스 아키텍처 구조

 

사용자  Global DNS CDN+(엣지캐시) Object Storage (정적 콘텐츠)

 → API Gateway → Function (서버리스 백엔드)

 → Cloud DB for MySQL (IaaS 확장)

     └ 자동화된 리드리플리카 + 로드밸런싱 + 백업 등 IaaS 조합으로 구축

728x90
반응형

'클라우드 > AWS' 카테고리의 다른 글

[AWS] RDS Proxy  (0) 2025.05.19
[AWS] Route53 - Private Hosted Zone, Health Check  (0) 2025.05.19
[AWS] VPC란?  (0) 2024.11.24
[AWS] S3, CloudFront, Route53 연동하기  (2) 2024.11.14
[Associate SAA-C03] - 합격 후기  (12) 2024.11.13