
공부 목적으로 작성된 글입니다. 예시 시나리오는 perplexity 를 이용하여 만들었습니다.

AWS에서 주문형 확장 가능한 컴퓨팅 용량 제공하는 서비스이다.
왜 EC2가 인기 있는 서비스일까?
- 하드웨어에 선투자할 필요가 없음
- 쉽게 확장 가능
- 사용한 만큼만 지불
- 완전한 제어 가능
- 높은 보안성
- 전 세계 어디서나 자산에 접근 가능
AWS에서 실행 가능한 가상 서버
사용한 만큼만 지불하는 방식이다.
유연성이 높지만 장기 옵션이 없다. --> 가장 비싼 옵션
단기적이고 예측 불가능한 워크로드, 중단될 수 없는 애플리케이션에 사용된다.
On-demand instance 예를 들어 이해해보자.
시나리오: 웹 애플리케이션 개발 및 테스트
가정:
프로젝트 기간: 3개월필요한 인스턴스: c5.xlarge (4 vCPU, 8GB RAM)
사용 패턴: 주중 업무 시간 (월-금, 9AM-6PM)
온디맨드 인스턴스 사용:
인스턴스 시작: 매일 아침 9시에 c5.xlarge 인스턴스를 시작합니다.
개발 및 테스트: 팀은 하루 동안 애플리케이션 개발과 테스트를 진행합니다.
인스턴스 종료: 매일 저녁 6시에 인스턴스를 종료합니다.비용 계산: 하루 9시간 * 시간당 요금으로 계산됩니다.
유연성: 필요에 따라 인스턴스 유형을 변경하거나 추가 인스턴스를 시작할 수 있습니다.
이 방식으로 개발 팀은 필요한 시간에만 리소스를 사용하고 비용을 지불하며, 장기 약정 없이 유연하게 리소스를 조정할 수 있습니다.
1년 or 3년 예약하여 사용한다.(선불, 부분결제 ,후불)
온디맨드에 비해서 최대 70% 할인
안정적이고 예측가능한 워크로드에 사용된다.
unused 인스턴스를 사용한다.
온디맨드에 비해서 최대 90% 할인. 매우 저렴하다.
대신 언제든지 중단될 위험이 있다.
데이터분석 or 장애복원력이 뛰어난 워크로드에 사용된다.
ex) 배치작업, 빅데이터 분석, 이미지 처리
spot instance의 가격은 용량,offer,AZ에 따라 달라진다.
사용자가 정의한 max price < currently price 일때 stop or terminate
spot request는 maximum price, 인스턴스 수 , 시작사양(AMI), 유효 기간, 요청 유형(one-time or persistent)을 정의한다.
주의할 점은 spot request가 종료되어도 이미 실행된 spot instace는 종료되지 않는다.

Spot Request은 다음 중 하나의 상태이다.
spot instance의 고급 옵션 중 하나로 필요한 instance 수를 정하면 자동으로 spot instance가 실행된다.(on-demand instance도 포함 가능)
중간에 spot instance가 중단되면 다시 보충한다.
spot fleets 시나리오 예를 들며 이해해보자.
예시 시나리오: 대규모 데이터 처리 작업
가정:
목표 용량: 1000 vCPUs
최대 예산: 시간당 $100
작업 유형: CPU 집약적, 메모리 요구사항 중간스팟 플릿 구성:
인스턴스 유형 선택:
c5.large (2 vCPU, 4GB RAM)
c5.xlarge (4 vCPU, 8GB RAM)
r5.large (2 vCPU, 16GB RAM)가용 영역:
us-east-1a, us-east-1b, us-east-1c할당 전략: capacityOptimized (용량 최적화)
인스턴스 믹스:
스팟 인스턴스: 80%
온디맨드 인스턴스: 20% (기본 용량 보장)스팟 플릿 작동 방식:
초기 구성:
스팟 플릿은 지정된 인스턴스 유형과 가용 영역에서 현재 가격과 가용성을 확인합니다.인스턴스 시작:
온디맨드 인스턴스 (20%): 200 vCPUs 상당의 인스턴스를 즉시 시작합니다.
스팟 인스턴스 (80%): 800 vCPUs에 해당하는 인스턴스를 시작합니다.동적 조정:
예를 들어, us-east-1a의 c5.large 인스턴스 가격이 급격히 상승하면, 스팟 플릿은 자동으로 다음과 같이 조정합니다:
us-east-1a의 c5.large 인스턴스를 줄입니다.
us-east-1b의 c5.xlarge 또는 us-east-1c의 r5.large 인스턴스를 증가시킵니다.용량 유지:
스팟 인스턴스가 중단될 경우, 스팟 플릿은 자동으로 다른 가용 영역이나 인스턴스 유형에서 새로운 인스턴스를 시작하여 목표 용량을 유지합니다.비용 최적화:
시간이 지남에 따라 스팟 플릿은 지속적으로 가격을 모니터링하고 가장 비용 효율적인 인스턴스 조합을 유지합니다.보고 및 모니터링:
AWS CloudWatch를 통해 플릿의 상태, 용량, 비용 등을 실시간으로 모니터링할 수 있습니다.
따라서 spot fleets를 사용하면 복잡한 인프라를 자동으로 관리해주고 비용최적화도 가능하다.
기본적으로 EC2 인스턴스는 공유 테넌시 하드웨어에서 실행된다.
-->다른 AWS 계정이 동일한 물리적 하드웨어를 공유할 수 있다.
Dedicated instance는 단일 AWS 계정 전용 하드웨어에서 실행되는 EC2 인스턴스이다.
--> 다른 AWS 계정과 분리된 물리적 하드웨어를 가진다.
동일 AWS 계정과는 하드웨어 공유 가능!
하드웨어 격리를 제공하지만 여전히 AWS가 관리하는 가상화 환경
고객 전용 instance(가상 서버)가 Dedicated Instance라면 Dedicated host는 고객 전용 Ec2 물리적 서버를 빌리는 개념이다.
리조트를 예를 들자면...
리조트내 독립된 빌라를 예약 --> Dedicated Instance
리조트 전체를 독점으로 예약 --> Dedicated Host
가장 비싼 옵션.
구매 옵션은 1년 or 3년 예약 , on-demand 방식
아래 테이블을 통해 자세히 비교해보자.
| 특징 | Dedicated Host | Dedicated Instance |
|---|---|---|
| 정의 | 전용 물리적 서버 | 사용자 전용 인스턴스 용량을 갖춘 물리적 서버 |
| 서버 유형 | 단일 고객 계정 전용 물리적 서버 | 단일 고객 계정 전용 물리적 서버 |
| 인스턴스 용량 공유 | 지원되지 않음 | 다른 계정과 인스턴스 용량을 공유할 수 있음 |
| 결제 | 호스트 단위 결제 | 인스턴스 단위 결제 |
| 소켓, 코어 및 호스트 ID 표시 여부 | 소켓 및 물리 코어 수 표시 여부 제공 | 표시 여부 없음 |
| 호스트 및 인스턴스 선호도 | 시간에 따라 지속적으로 동일한 물리 서버에 인스턴스 배포 허용 | 지원되지 않음 |
| 대상 지정 인스턴스 배치 | 물리 서버 내 인스턴스 배치 방법에 대한 추가 가시성 및 제어 제공 | 지원되지 않음 |
| 자동 인스턴스 복구 | 지원 | 지원 |
| Bring Your Own License(BYOL) | 지원 | 부분적 지원 |
| 용량 예약 | 지원되지 않음 | 지원 |
EC2, Fargate, Lambda 등의 컴퓨팅 사용량에 대해 할인된 요금을 제공하는 유연한 가격 모델이다.
Compute Savings Plans, EC2 Instance Savings Plans, SageMaker AI Savings Plans
1년 or 3년 기간 단위
사용량이 넘어가면 on-demand로 청구된다.
예약 인스턴스보다 유연하다.
인스턴스 타입을 변경가능하기 때문!
고정된 워크로드에 적합하며, 사용량을 정확히 사용된다.
Reserved Instance : 특정 인스턴스,특정 리전을 예약해서 구매
Saving plan : 사용량을 미리 지불, 인스턴스 패밀리,os,테넌시 등을 유연하게 변경 가능
균형 있는 컴퓨팅, 메모리 및 네트워킹 리소스를 제공한다.
다양한 여러 워크로드에 사용할 수 있다.(전체적으로 무난)
ex) 웹 서버, 코드 리포지토리, 소규모 데이터베이스
메모리에서 대규모 데이터 세트를 처리하는 워크로드를 위한 빠른 성능을 제공하기 위해 설계되었다.
ex) 인메모리 데이터베이스, 분산 메모리 캐시
고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합하다.
ex) 배치 처리, 미디어 트랜스코딩, 고성능 웹 서버, 과학적 모델링
GPU, FPGA 등 하드웨어 가속기를 사용하여 부동 소수점 수 계산, 그래픽 처리, 데이터 패턴 매칭 등을 가속화한다.
ex) 기계 학습, 고성능 컴퓨팅, 컴퓨터 비전
대규모 로컬 스토리지에 대한 고성능 순차적 읽기/쓰기 액세스가 필요한 워크로드에 적합하다.
ex) 분산 파일 시스템, 데이터 웨어하우징, 고성능 데이터베이스

인스턴스 패밀리, 세대 번호, 추가 기능으로 구성
ex) t2.micro --> t시리즈의 2세대 마이크로사이즈의 인스턴스
| 인스턴스 유형 | 패밀리 | 시리즈 |
|---|---|---|
| 범용 (General Purpose) | T | T2, T3, T3a, T4g |
| M | M4, M5, M5a, M5n, M5zn, M6a, M6i, M6g | |
| A | A1 | |
| Mac | Mac | |
| --- | --- | --- |
| 컴퓨팅 최적화 (Compute Optimized) | C | C4, C5, C5a, C5n, C6a, C6i, C6g, C6gn, C7g |
| Hpc | Hpc6a | |
| --- | --- | --- |
| 메모리 최적화 (Memory Optimized) | R | R4, R5, R5a, R5b, R5n, R6a, R6g, R6i |
| X | X1, X1e, X2gd, X2idn, X2iedn, X2iezn | |
| High Memory | - | |
| z1d | z1d | |
| --- | --- | --- |
| 스토리지 최적화 (Storage Optimized) | I | I3, I3en, I4i, Is4gen, Im4gn |
| D | D2, D3, D3en | |
| H | H1 | |
| --- | --- | --- |
| 가속화 컴퓨팅 (Accelerated Computing) | P | P2, P3, P4 |
| G | G3, G4ad, G4dn, G5, G5g | |
| F | F1 | |
| Inf | Inf1 | |
| Trn | Trn1 | |
| DL | DL1 | |
| VT | VT1 |
참고자료
https://aws.amazon.com/ko/elasticloadbalancing/getting-started/?pg=ln&sec=hs
https://www.udemy.com/course/best-aws-certified-solutions-architect-associate/?couponCode=ST10MT30325G1