728x90
1. AWS EC2
- 가장 기본적인 형태의 클라우드 컴퓨팅
- 온디맨드 : 선결제 금액이나 장기 약정 없이 저렴하고 유연하게 Amazon EC2를 사용하기 원하는 사용자
- 스팟 인스턴스 : 시작 및 종료 시간이 자유로운 애플리케이션(온디맨드 사용자가 사용을 원할 시 사용이 중지된다.)
- Saving Plans : 1년 또는 3년 기간의 일정 사용량 약정을 조건으로 EC2및 Fargate사용량에 대해 저렴한 요금을 제공하는 유연한 요금
- EC2 Auto Scaling : 서버에서 트래픽이 몰리면 자동으로 서버를 증축, 감소해준다.
- 결국 EC2는 컴퓨터 한대를 빌리는 것이다.(컴퓨터 사양도 고를 수 있다.)
- 인스턴스 중지 : 인스턴스를 잠깐 사용하지 않을 때
- 인스턴스 종료 : 인스턴스를 완전히 사용하지 않을 때
- 가용영역 : AWS의 여러가지 리전에서 어디 리전에서 사용하는지?
2. AWS Elastic Beanstalk
- Elastic Beanstalk = EC2 + 배포 버전 관리(RollBack) + Elastic Load Balancer + 모니터링 + 로그 트래킹 + 오토 스케일링
- EC2에서 성능을 업그레이드 한 것
- AWS 클라우드에서 애플리케이션을 신속하게 배포하고 관리할 수 있는 서비스(애플리케이션 코드만 업로드하면 된다.)
- 다양한 언어 지원 : .NET / PHP / Java / Ruby / Node.js / Python / Docker 등
- 기본 압축파일로 설정을 통해 환경이 만들어진다.
- 애플리케이션 버전을 통해 업로드, 롤백 등을 자유자제로 할 수 있다.
- 오토스케일링 프리셋 설정을 통해 서버의 크기가 유동적으로 바뀐다.
3. AWS Fargate
- 쉽게 말하면 Docker파일을 서버에 쉽게 올리는 서비스
- 가상 머신의 클러스터를 프로비저닝, 구성, 조정할 필요가 없다. 따라서 서버 유형을 선택하거나, 클러스터를 조정할 시점을 결정하거나, 클러스터 패킹을 최적화할 필요가 없다.
- 컨테이너를 실행하기 위해 컨테이너를 실행할 Instance(EC2)를 실행시켜야 했지만, AWS Fargate는 이러한 수고를 덜어준다.
- EC2보다 비싸다.
4. AWS ECR
- Amazon Elastic Contaicer Registry
- ECR은 안전하고 확장 가능하고 신뢰할 수있는 AWS관리형 컨테이너 이미지 레지스트리 서비스
- RDS(DB) -> 데이터를 저장하는 장소
- S3 -> 이미지를 파일을 저장하는 장소
- ECR -> 도커 이미지를 저장하는 장소
5. AWS ECS
- Amazon Elastic Contaicer Service
- ECS는 AWS에서 제공하는 컨테이너 오케스트레이션 서비스, 여러 어플리케이션 컨테이너를 쉽고 빠르게 실행하고, 컨테이너를 적절하게 분배 및 확장, 축소할 수 있도록 도와주는 서비스
- AWS EC2, AWS Fargate 중 원하는 환경에서 실행 가능
- 용어정리
- Task Definition : 컨테이너의 이미지, CPU / 메모리 리소스 할당 설정, port Mapping, Volume설정
- Task : Task안에는 한 개 이상의 컨테이너들이 포함되어 있으며 ECS에서 컨테이너를 실행하는 최소 단위는 Task이다.
- Service : Task들의 Life cycle을 관리하며, 오토스케일링과 로드밸런싱을 관리한다.
- Cluster : Task가 배포되는 Container Instance들은 논리적인 그룹
- Task Definition : 컨테이너의 이미지, CPU / 메모리 리소스 할당 설정, port Mapping, Volume설정
- 메인서버가 죽었을 때 모니터링 서버를 두어 확인 할 수 있게한다.
6. AWS Lambda
- 서버 없이도 코드를 실행시킬 수 있는 서버리스 컴퓨팅 서비스
- 코드를 돌리기 위한 리소스를 임의로 지정할 수 있으며, 사용 리소스와 사용시간에 따라 과금이 된다.
- 최대 15분 / 최대 10GB / 최대 6개의 Core사용가능
- 사용예시 : 비동기 처리(이미지 썸네일 생성), 예측이 불가능한 리소스 사용(대용량 처리, 머신러닝)
- Node / Python을 많이 사용한다.
Cold Start / Warm Start
- 기본적으로 EC2와 같은 인스턴스보다는 Latency가 높다.
- 콜드 스타트 : 배포 패키지의 크기와 코드 실행 시간 및 코드의 초기화 시간에 따라 새 실행 환경으로 호출을 라우팅할 때 지연시간이 발생하는 람다 호출 시작(겨울에 자동차 시동을 미리 걸에 예열하는 것에서 유래됨)
- 콜드 스타트 시간은 단축시킬 수 없다.
- 5분정도 Warm하게 유지
- 계속 Warm하게 유지하기 위해선 지속적으로 사용해야 하는 방법 밖에 없다.
- 아무것도 올라가지 않았을 때 실행을 시키면 언어마다 실행속도가 다르다.
'Basic > AWS' 카테고리의 다른 글
[AWS] AWS의 서비스(4) (0) | 2023.05.13 |
---|---|
[AWS] AWS의 서비스(3) (0) | 2023.05.11 |
[AWS]AWS와 AWS의 서비스(1) (0) | 2023.05.05 |