AWS EC2 (Cloud Compute Cloud)
AWS 에서 제공하는 가장 기본적인 형태의 클라우드 컴퓨팅 서비스 (= 클라우드 컴퓨터 한 대)
AWS EC2 인스턴스를 생성한다는 것은 AMI(이미지 )를 토대로 운영체제 , CPU, RAM 으로 구성된 컴퓨터를 빌리는 것이다.
- 인스턴스 유형 : 인스턴스를 위한 CPU, 메모리, 스토리지 , 네트워킹 용량의 여러가지 구성 제공
- auto scaling 지원 : 오토스케일링이란 CPU, 메모리, 네트워크 트래픽과 같은 시스템 자원들의 메트릭 값을 모니터링해 서버 사이즈를 자동으로 조절하는 서비스를 말한다. ec2는 갑자기 트래픽이 몰리면 자동으로 인스턴스를 자동으로 스케일링 기능을 제공한다.
- 탄력적 IP 주소 (Elastice Ip address) : 인스턴스의 public ip는 유동적인 ip주소이다. 따라서 aws는 고정적인 공인 IP 주소를 할당할 수 있고 , 인터넷에 연결 할 수 있는 기능을 제공한다.
AWS Elastice Beanstalk
AWS 클라우드에서 어플리케이션을 신속하게 배포하고 관리할 수 있는 서비스
- EC2 + 배포 버전 관리(롤백) + elastic lead balancer + 모니터링 + 로그 트래킹 + 오토 스케일링
- 다양한 언어를 지원한다.
- 구성요소
- application : 내가 만든 앱, 개념적으로는 폴더와 유사하다.
- envrionment : application 버전을 실행중인 aws 리소스 모음이다. 각 환경은 하나의 application 만 실행한다. 이 환경을 만들면 EC2 인스턴스가 자동으로 만들어진다.
AWS Fargate
기본 인프라를 관리할 필요없이 컨테이너를 배포하고 관리할 수 있는 컴퓨팅 엔진.
- 별도로 인스턴스를 생성 관리하지 않고 , 도커 컨테이너를 실행시킬 수 있다.즉, 도커파일을 쉽게 올려 도커로 쉽게 서비스를 실행시켜주는 서비스
- 이전에는 컨테이너를 실행하기 위해서는 컨테이너를 실행할 EC2(Instance)를 실행시켜야했지만, AWS Fargate는 이러한 수고를 덜어줌.
- 하지만 치명적인 단점이 존재한다. 가격이 비싸다.
AWS ECR(Elastic Container Resitry)
ECR은 안전하고 확정 가능하고 신뢰할 수 있는 관리형 컨테이너 이미지 레지스트리 서비스
- 쉽게 말하면 도커 파일을 저장하는 장소.
- RDS(DB) - 데이터를 저장하는 장소
- S3 - 사진, 이미지 등 파일을 저장하는 장소
- ECR - 도커 이미지를 저장하는 장소
AWS ECS (Elastic Container Service)
AWS 에서 제공하는 컨테이너 오케스트레이션 서비스로 여러 어플리케이션 컨테이너를 쉽고 빠르게 실행하고, 컨테이너를 적절하게 분배 및 확장, 축소 할 수 있도록 도와주는 서비스
- EC2와 Fargate 중 원하는 환경에서 실행 가능
- (쿠버네티스 또는 ECS를 사용한다고 생각하기)
- 용어
- Task Definition : 컨테이너의 이미지 , CPU/메모리 리소스 할당 설정
- Task : Task 안에는 한개 이상의 컨테이너들이 포함되어 있으며 ECS에서 컨테이너를 실행하는 최소 단위는 Task이다.
- Service :Task들이 모여서 Life cycle을 관리하며, 오토스케일링과 로드밸런싱을 관리
- cluster : Task가 배보되는 논리적인 그룹.
- 도커 컴포즈의 상위 개념 , 도커 컴포즈를 하나의 task라고 생각하기
AWS Lambda
AWS에서 제공하는 서버 없이도 코드를 실행하실 수 있는 서버리스 컴퓨팅 서비스
서버가 없다는 뜻이 아니라 개발자가 서버의 존재를 신경쓸 필요가 없다는 뜻이다.
- 코드를 돌리기위한 리소스를 임의로 지정할 수 있으며, 사용 시간에 따라 과금이 된다.
- 장점
- 서버의 사양, 개수를 신경쓸 필요가 없다.
- 사용한 만큼만 지불한다.
- 단점
- 최대 15분, 최대 6개의 core, 최대 10GB가 정해져 있음.
- 기본적으로 함수를 실행시키기 때문에 람다는 서버가 떠있는것이 아니라 15분에 죽어버린다.
- cold start: 함수 실행시 cold start 문제로 초기 지연이 발생한다.
- 람다 사용 예시
- 코드를 계속 실행시키기 보다 특정한 시기에만 실행시키는 경우
- 서버를 띄우지 않고 간단한 코드를 실행시키고 싶은 경우
- request가 적은 서비스
- 비동기 처리 (이미지 썸네일 생성)
'CS > 서버' 카테고리의 다른 글
Docker로 mysql 설치 및 접속하기 (0) | 2023.05.23 |
---|---|
Dockerfile 이용해서 이미지 만들고, 도커 허브에 배포하기 (0) | 2023.05.23 |
AWS - VPC, NAT,ELB, S3, CloudFront (0) | 2023.05.08 |
도커(docker) - 가상화(VM)과 컨테이너(Container) (0) | 2023.04.05 |
도커(docker) (0) | 2023.04.03 |