✅ 서버리스란?
서버가 없는 것이 아니라 서버 운영과 관리를 개발자가 직접 하지 않아도 되는 모델
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 조합으로 구축
'클라우드 > 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 |