공부/Server

AWS 인프라 정리II

sandbackend 2023. 5. 22. 07:50

프리온보딩에서 진행한 AWS 인프라 설계 강의 내용을 정리 한 것 입니다.


 

AWS ECR

 

Amazon Elastic Container Registry

 

- Amazon Elastic Container Registry(Amazon ECR)는 안전하고 확장 가능하고 신뢰 할 수 있는 AWS 관리형 컨테이너 이미지 레지스트리 서비스

 

- RDS(DB) = 데이터를 저장하는 장소

  S3 = 사진, 이미지 등 파일을 저장하는 장소

  ECR = 도커 이미지를 저장하는 장소

 

AWS ECS

 

Amazon Elastic Container Service

 

- ECS(Elastic Container Service)는 AWS에서 제공하는 컨테이너

오케스트레이션 서비스로 여러 어플리케이션 컨테이너를 쉽고 빠르게 실행하고, 컨테이너를 적절하게 분배 및 확정&축소 할 수 있도록 도와주는 서비스

 

- AWS EC2 와 AWS Fargate 중 원하는 환경에서 실행가능

 

용어 정리

- Task Definition : 컨테이너의 이미지, CPU/메모리 리소스 할당 설정, port 매핑, volume 설정

- Task : Task 안에는 한 개 이상의 컨테이너들이 포함되어 있으며 ECS에서 컨테이너를 실행하는 최소 단위는 Task이다. (인스턴스화)

- Service : Task들의 Life cycle을 관리하며, 오토스케일링과 로드밸런싱을 관리

- Cluster : Task가 배포되는 Container Instance들은 논리적인 그룹

 

AWS Lambda

Amazon Lambda

- 서버 없이도 코드를 실행시킬 수 있는 서버리스 컴퓨팅 서비스

- 코드를 돌리기 위한 리소스를 임의로 지정할 수 있으며, 사용 리소스 x 사용 시간에 따라 과금이 된다. ex) 메모리 용량/ 코어 갯수

- 최대 15분 / 최대 10GB / 최대 6개의 Core

- 사용 예시

  • 비동기 처리  (이미지 썸네일 생성)
  • 예측이 불가능 한 리소스 사용 (대용량 처리 / 머신러닝)

Cold Start / Warm Start

- 기본적으로 EC2와 같은 인스턴스보다는 Latency가 높다.

- 콜드 스타트 : 배포 패키지의 크기와 코드 실행 시간의 코드의 초기화 시간에 따라 새 실행 환경으로 호출을 라우팅 할 때 지연 시간이 발생하는 람도 호출 시작 tmi) 겨울에 자동차 시동 걸때에서 유래 됨

- 5분 정도 warm하게 유지

- 계속 warm하게 유지하기 위해선 지속적으로 사용해야 하는 방법밖에 없음

상황

1. 만약에 하루에 request가 10000개 밖에 안온다 (많이 사용하지 않는 서비스 / API / 기능이다)

2. 병렬처리 (유튜브에 영상을 올리면 1080p, 720p로 인코딩 되는 상황)

 

AWS Lambda - Serverless

AWS, Azure, GCP 등의 서버리스 서비스를 쉽게 사용할 수 있도록 도와주는 오픈소스 프레임 워크

- 사용 가능 서버 :

  • Node 계열 - ExpressJS, NestJS 등
  • Java 계열 - Spring(Spring Cloud Function)
  • Python 계열 - FastAPI, Flask 등

- 소규모 / 이용자가 많지 않은 서비스에서 가격 효율적으로 이용 가능