본문 바로가기
AWS

[AWS] EC2

by hxxyeoniii 2025. 11. 4.

EC2(Elastic Compute Cloud)

클라우드 가상 서버

 

EC2 sizing & configuration options

  • OS : Linux, Windows, Mac OS
  • CPU : 가상 머신에 활용할 컴퓨팅 성능과 코어 수
  • RAM : Random Access Memory
  • Storage Space : EBS/EFS or EC2 Instance Store
  • Network card 
  • Firewall rules : security group
  • Bootstrap script

 

EC2 User Data

EC2 인스턴스에 부팅될 때 실행되는 스크립트나 데이터를 의미 -> 인스턴스 초기 설정 자동화에 사용됨

ex) Installing updates, Installing software 등


EC2 Instance Types

* naming convention

m5.2xlarge
   m: instance class -> 타입(용도)
   5: generation (AWS improves them over time) -> 세대
   2xlarge: size within the instance class -> 크기

 

1) General Purpose(범용)

> 웹 서버나 코드 레파지토리 같은 다양한 작업에 적합 = 가장 범용적

 

2) Memory Optimized(컴퓨팅 최적화)

> 컴퓨터 집약적 애플리케이션에 최적화된 인스턴스

> 고성능 프로세서의 활용

> C 시리즈 : c5, c6i 등

> 배치 처리, 고성능 웹 서버, 게임 서버 등에 사용

 

3) Memory Optimized(메모리 최적화)

> 메모리에서 대규모 데이터 세트를 처리하는 워크로드를 위한 빠른 성능 제공

> 관계형 데이터베이스, 빅데이터 실시간 처리, BI(Business Intelligence) 애플리케이션 등에 사용

 

4) Storage Optimized(스토리지 최적화)

> 로컬 스토리지에서 매운 큰 데이터 세트에 대해 많고 순차적인 읽기 및 쓰기 액세스를 요구하는 워크로드를 위해 설계됨

> 분산 파일 시스템, 데이터 웨어하우징, 로그 처리, NoSQL 데이터베이스(MongoDB, Redis) 등에 사용


Security Groups

보안 그룹은 AWS에서 네트워크 보안을 실행하는데 핵심이 됨 = EC2 인스턴스의 방화벽

허용(allow) 규칙만 허용함

 

> 여러 인스턴스에 연결할 수 있음

> 특정 지역과 VPC에 제한되도록 설정되어 있음

> EC2 외부에 있음 -> 트래픽이 차단되면 EC2 인스턴스는 확인할 수 없음

> SSH 액세스를 위해 하나의 별도 보안 그룹을 유지하는 것이 좋음

> 타임 아웃으로 인해 애플리케이션에 접근할 수 없을 때는 보안 그룹의 문제임

> "commection refused"는 보안 그룹은 실행되었고 트래픽은 통과되었지만 애플리케이션에 문제가 생겼거나 실행되지 않는 등의 문제임

> 기본적으로 모든 인바운드 트래픽은 차단되어 있음

> 모든 아웃바운드 트래픽은 허용됨

 

 

 

* Class ports

22 = SSH(Secure Shell) : 리눅스 인스턴스에 로그인
21 = FTP(File Transfer Protocol) : 파일 공유에 파일 업로드
22 = SFTP(Secure File Transfer Protocol) : SSH를 사용해 파일 업로드
80 = HTTP : 보안되지 않은 웹 사이트
443 = HTTPS : 보안된 웹 사이트
3389 = RDP(Remote Desktop Protocol) : 윈도우 인스턴스에 로그인

 


EC2 Instance Purchasing Options

1) 온디맨드(On Demand)

  • 사용한 만큼 지불
  • 비용이 가장 많이 들지만 ㄷ바로 지불할 금액이 없음
  • 장기적 약정이 필요 없음
  • 단기적이고 중단이 없는 워크로드가 필요할 때 사용

 

2) 예약 인스턴스(Reserved Instances)

  • 온디멘드에 비해 최대 72프로 할인
  • 특정 인스턴스 속성을 예약(1년 or 3년)
  • 후불 결제, 부분 선결제, 전액 선결제 가능
  • 사용량이 일정한 애플리케이션(데이터베이스)에 사용

 

3) Saving Plans

  • 시간당 사용량을 약정
  • 예약 인스턴스보다 더 유연함
  • 1년 or 3년 동안 시간당 $10
  • 사용량이 한도를 넘어서면 온디맨드 가격으로 청구
  • 장기 약정 + 유연성이 필요할 때 사용

 

4) 스팟 인스턴스(Spot Instances)

  • 가장 저렴 : 온디맨드 대비 최대 90프로 할인
  • 현재 스팟 가격이 사용자가 지정한 최대 가격보다 높아지면 언제든 회수될 수 있음
  • 중단되어도 괜찮은 워크로드, 데이터 분석, 이미지 처리 등에 사용

* 스팟 인스턴스 종료 시점

1. 스팟 가격이 입찰 가격을 초과할 때 : 사용자가 설정한 최대 가격보다 현재 스팟 가격이 높아지면 종료

2. AWS의 용량이 부족할 때 : AWS가 해당 용량을 온디맨드 고객에게 할당해야 할 때

3. 다른 인스턴스 유형처럼 사용자가 수동 종료(terminate)

 

5) 전용 호스트(Dedicated Hosts)

  • EC2 인스턴스 용량이 완전히 사용자 전용으로 할당된 물리적 서버
  • 법규 준수 요건 혹은 규정 준수 요구 사항을 만족할 수 있으며, 기존의 서버 바운드 소프트웨어 라이센스를 사용할 수 있도록 해줌
  • 가장 비쌈
  • 라이선스 규정, 규정 준수 요구사항, 물리적 서버 격리 필요 시 사용

 

6) 전용 인스턴스(Dedicated Instances)

  • 전용 하드웨어에서 실행
  • 전용 호스트보다 저렴
  • 동일한 계정 내 다른 인스턴스와 하드웨어를 공유할 수 있음
  • 인스턴스 배치에 대한 제어가 없음

 

7) 용량 예약(Capacity Reservation)

  • 지정한 특정 AZ에서 필요한 기간동안 온디멘드 인스턴스 용량 예약 가능
  • 언제든 생성, 취소 가능
  • 약정 기간이 없으며 요금 할인이 없음
  • 인스턴스 실행을 하든 안 하든 온디멘드 요금이 부과됨
  • 특정 AZ에서 실행해야 하는 단기적이고 중단되지 않는 워크로드에 적합

 

 

 

* 리조트에 비유

On Demand : 원하는 때에 리조트에 들어가 전액 지불
Reserved : 미리 계획을 세우고 오랜 기간 머물 경우 높은 할인 가능
Saving Plans : 일정 기간 매시간 일정 금액을 지불하고 원하는 방에 머무름
Spot Instances : 리조트에서 빈 방을 경매로 판매하고, 가장 높은 입찰가를 제시한 사람이 방을 얻으나 언제든지 쫓겨날 수 있음
Dedicated Hosts : 리조트 건물 전체 예약
Capacity Reservations : 일정 기간 방을 예약하고, 체류할지 안할지 말함, 체류하지 않더라도 가격은 지불함

 


Spot Fleet

여러 개의 스팟 or 온디맨드 인스턴스를 자동으로 관리하는 집합

사용자가 사용하고자하는 인스턴스 유형과 가용 영역을 지정하는 Spot Instance request와 다르게, Spot Fleet은 사용자의 요구 조건에 따라 인스턴스의 유형과 가용 영역을 선택하도로 함

 

1) 다양한 인스턴스 타입/AZ 조합 가능

> 한 타입이 회수되어도 다른 타입으로 자동 대체 -> 고가용성

 

2) 목표 용량 유지

> 스팟 인스턴스가 회수되면 자동으로 새로 시작해 용량 유지

 

3) 할당 전략

> lowesetPrice : 가장 저렴한 인스턴스 선택 -> 비용 최우선

> diversified : 여러 인스턴스 타입/AZ에 분산 -> 가용성 최우선

> capacityOptimized : 총량이 가장 안정적인 풀 선택 -> 중단 최소화

> priceCapacityOptimized : 가격 + 용량 둘 다 고려 -> 균형잡힌 선택

 

 

 

 

 

출처 : https://velog.io/@gagaeun/AWS-EC2

'AWS' 카테고리의 다른 글

[AWS] RDS & Aurora & ElastiCache  (0) 2025.11.10
[AWS] Load balancing & Auto Scaling Group  (0) 2025.11.09
[AWS] EC2 Instance Storage Section  (0) 2025.11.05
[AWS] EC2(2)  (0) 2025.11.05
[AWS] IAM  (0) 2025.11.04