📢 본 내용은 원티드 프리온보딩 백엔드 챌린지 1월를 정리한 내용입니다.
1. 매니지드 & 서버리스 비교
- 매니지드 : 관리는 AWS가 해주지만 리소스는 계속 실행 중
- 서버리스 : 필요할 때만 실행되고, 실행한 만큼만 과금
리소스의 실행 상태(항시 실행 vs 필요시만 실행)
용량 관리 방식 (직접 선택 vs 자동 관리)
과금 방식 (시간 단위 vs 사용량 단위)
서버리스 단점
콜드스타트(ColdStart) : 추운 상태에서 시작함
cold : pc가 꺼진 상태hot : 사용 될 때 잠깐 켜져서 사용될 때까지 그래도 활성화된 상태warm : 아 이제 사용 안 하나 보다~ 하는 상태
2. Aurora Serverless
- AWS에서 자체 개발한 RDS
- PostgreSQL, MySQL 호환 가능
- 자동 스케일링(수용에 따라 자동으로 용량 조절)
- 최소 용량 설정 가능(완전히 끌 수는 없음)
- 사용량 기반 과금(단, 최소 용량만큼은 계속 과금)
언제 사용?
- 워크로드를 예측하기 어려운 애플리케이션
- 개발/테스트 환경(사용량이 불규칙할 때)
- 신규 서비스 (초기에는 작게 시작하고 자동으로 확장)
- 간헐적으로 사용되는 애플리케이션(비용 최적화 가능)
3. DynamoDB
AWS의 대표적인 NoSQL 데이터베이스 서비스 (Key-Value)
주요 특징
- 밀리초 단위의 매우 빠른 응답 속도
- 초당 수만건의 요청 처리 가능
- 자동 스케일링 지원
- 서버리스
주요 사용 용도
- 세션 관리
- IoT 데이터 처리
- 게임 사용자 점수 / 상태 관리
3.1. 설계
Partition Key | Sort Key |
|
|
3.2. 조회 방법
쿼리(Query) | 스캔(Scan) |
|
|
- DynamoDB의 과금 방식은 조회된 데이터 양에 따라서 받음
따라서 전체 데이터를 훑는 스캔보다는 쿼리 사용하는 것이 낫다.
4. Lambda
AWS의 대표적인 서버리스 컴퓨팅 서비스
4.1. 주요 특징
- 함수 단위 실행 : 코드를 함수 형태로 등록, 이벤트 발생 시 자동으로 실행, 실행이 끝나면 자동으로 종료
- 자동 스케일링 : 동시 요청이 늘어나면 자동으로 확장, 요청이 줄어들면 자동으로 축소, 별도의 인프라 관리 불필요
- 이벤트 기반 실행 : ex ) API gateway의 HTTP 요청, SNS 메세지 수신, S3 파일 업로드, DynamoDB 테이블 변경
4.2 . 주요 제약사항
- 실행 시간 최대 15분
- 메모리 128MB ~ 10GB
- 임시 디스크 공간 (/tmp) 최대 10GB
- 동시 실행 수 제한 (기본 1000개)
ColdStart
4.3. ColdStart
Lambda 함수가 처음 실행되거나, 오랫동안 실행되지 않았을 때 발생하는 지연 시간
AWS가 컨테이너를 새로 생성하고 런타임을 초기화하는 시간이 필요
보통 수백 밀리초에서 몇 초까지 걸릴 수 있음
서버리스 서비스가 가지고 있는 공통적인 특성
발생 원인 :
- 컨테이너 초기화
- 런타임 로드
- 코드 다운로드
- 함수 초기화 코드 실행
Node.js, Python 상대적으로 빠름, Java, .NET은 상대적으로 느림
Cold(꺼진 상태) -> Warm(약간 깬 상태) -> Hot(툭 치면 응답)
'💻개발 > AWS' 카테고리의 다른 글
AWS) VPC와 구성요소 (0) | 2025.01.09 |
---|---|
AWS) Root, IAM, S3, CloudFront (0) | 2025.01.07 |
AWS) PuTTY이용해서 EC2 접속 (2) | 2024.03.21 |
AWS)Cloudwatch를 활용한 EC2 리소스 사용 모니터링_PuTTY이용 (0) | 2024.03.21 |
AWS) 일부 보안 그룹은 삭제할 수 없습니다. (0) | 2024.03.19 |