AWS

AWS EC2 인스턴스 유형별 선택 전략과 공동 책임 모델

heesoohi 2025. 2. 16. 16:17

👩🏻‍💻✨ EC2 기본 개념 정리

  • EC2 인스턴스 = AMI(OS) + 인스턴스 크기(CPU 성능과 RAM크기로 정의) + Storage + security groups + EC2 사용자 데이터
  • Security Groups: EC2 인스턴스에 연결된 외부의 방화벽 
    - 해당 EC2 인스턴스에 액세스할 수 있는 포트와 IP를 지정하는 규칙을 정의할 수 있음
  • EC2 사용자 데이터: 인스턴스를 처음 시작할 때 사용하는 스크립트
  • SSH: EC2 인스턴스로 터미널을 시작하여 포트 22에서 명령을 시작하는 방법
  • EC2 인스턴스 역할: EC2인스턴스가 IAM에 명령을 내릴 수 있도록 하는, IAM 역할과 유사한 것
  • 구매 옵션 (해당 포스팅에서 자세히 다룰 예정 - 구매 옵션별 특징 및 상황에 따라 적합한 옵션 선택에 대하여)
    - On-Demand
    - Spot instance
    - 예약 인스턴스(Standard + Convertible)
    - 전용 호스트
    - 전용 인스턴스

 

🤼‍♂️ EC2의 공동 책임 모델(Shared Responsibility Model)

 

  • AWS의 책임
    👉 모든 데이터 센터와 인프라에 대한 보안 책임
    👉 사용자가 물리적 호스트와 분리된 상태인지 확인해야 함 (전용 호스트를 얻는 경우)
    👉 서버 장애로 결함있는 하드웨어를 교체해야 함
    👉 동의한 규정을 준수하고 있는지 확인해야 함
  • 사용자의 책임
    👉 사용자로서 클라우드 내의 보안 책임
           -> 자체 보안 그룹 규칙을 정의해야 함
           -> EC2 인스턴스로 본인을 포함한 유저들의 액세스를 허용
    👉 EC2 인스턴스 내부 가상머신의 패치와 업데이트 ( AWS는 가상머신 제공만 하고, 사용 방법은 모두 사용자에게 책임이 있음)
    👉 EC2 인스턴스에 설치된 모든 소프트웨어와 유틸리티 또한 사용자의 책임
    👉 IAM 역할 할당 방법 이해 & 올바른 권한이 할당되었는지 확인
    👉 인스턴스의 데이터 보안에 대한 책임

 

 

🧾 EC2 인스턴스 구매 옵션

 

1. 온디맨드 EC2 인스턴스

  • 필요할 때 언제든 인스턴스를 실행할 수 있어, 단기 워크로드에 적합
  • 가격 예측이 가능하고, 초당 비용을 지불함.
  • 가격이 가장 높은 옵션이지만, 선결제가 없고 장기 약정도 필요하지 않다. 

➡️ 애플리케이션의 동작을 예측할 수 없는 '연속적인 단기 워크로드'에 적합

 

 

2. 예약 인스턴스

1년, 3년으로 사용할 수 있으며, 장기 워크로드에 적합

 

2-1. Reserved Instances

  • 예약 인스턴스는 온디맨드에 비해 70% 이상 비용 절약이 가능한 옵션
    - 예약 기간을 3년으로 지정할 때, 1년을 지정하는 것보다 높은 할인율이 적용됨
    - 선결제 없이도 이용할 수 있지만, 선결제를 할 경우 할인율이 높아짐
  • 인스턴스 유형, 리전, 테넌시, 운영체제 등 특정 인스턴스 속성을 예약할 수 있음
  • 특정 리전 혹은 특정 AZ로 범위를 지정할 수 있음
  • 마켓플레이스에서 예약 인스턴스를 구매 및 판매할 수 있음

➡️ 애플리케이션이 안정된 상태로 오랜 기간 데이터베이스를 사용해야 할 때(장기 워크로드) 적합

 

 

2-2. Convertible Reserved Instances  

  •  인스턴스 유형, 인스턴스 제품군, 운영체제, 범위, 테넌시를 변경할 수 있는 '전환형 예약 인스턴스'
  • 유연성이 높기 때문에, 예약 인스턴스에 비해 할인율은 낮다

➡️ 유연성 있는 인스턴스가 필요할 때 적합

 

 

3. Savings Plans

  • 1년, 3년을 기간으로 하는 요금 모델로, 사용 기간이 늘어날수록 할인율도 커짐(<- 예약 인스턴스와 유사)
  • 대신 시간당 10달러의 비용을 약정해야 함(1년 or 3년)
  • 인스턴스 유형 약정이 아닌, '사용량에 따라' 비용을 지불함
  • Savings Plans을 초과하는 사용량은 온디맨드 가격으로 청구된다

➡️ 장기 워크로드에 적합

 

 

4. Spot Instances

  • 초단기 워크로드용 인스턴스
  • 가장 파격적인 할인, 매우 저렴한 가격이 특징
  • but! 인스턴스를 손실할 가능성이 있어, 신뢰성은 낮다. (사용자가 스팟 인스턴스에 지불할 수 있는 가격을 설정하는데, 이 가격보다 스팟 가격이 더 높을 경우, 인스턴스가 중단됨. (like 경매?))

➡️ 서비스가 중단되어도 복구가 쉬운 워크로드에 적합

      (Batch 작업, 데이터 분석, 이미지 프로세싱, 분산된 워크로드, 시작 및 종료 시점이 유동적인 워크로드 등)

중요한 작업 & 데이터베이스에는 적합하지 않음!

 

 

5. Dedicated Hosts(전용 호스트)

  • 사용자의 사용 사례에 맞게 EC2인스턴스 용량을 가진 물리적 서버
  • 물리적 서버 전체를 예약하고, 인스턴스 배치를 제어할 수 있다. 
  • 구매 옵션
    - 온디맨드: 초당 청구
    - 1년 혹은 3년 기간 예약
  • 실제 물리적인 서버를 예약하는 옵션으로, AWS에서 가장 비싼 옵션이다.

물리적 서버에 액세스하고 전용 호스트가 필요한 사용 사례는?

➡️ 사용자 라이선스가 있거나, 기존의 서버 결합 소프트웨어 라이선스를 사용해야 하는 경우

➡️ 강력한 규제와 규정 준수 요구사항이 있는 경우

 

 

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

  • 전용 하드웨어에서 실행되는 인스턴스로, 다른 고객들과 하드웨어를 공유하지 않음 
    - 같은 계정의 다른 인스턴스와는 하드웨어를 공유하기도 함
    - 물리적 서버와는 다른 개념임
  • 인스턴스 배치를 제어할 수는 없음(전용 호스트와 차이점)

‼️ 전용 인스턴스는 사용자 하드웨어에 고유한 인스턴스를 갖는 것

‼️ 전용 호스트는 물리적 서버 자체에 액세스하여, 저수준(lower level) 하드웨어에 대한 가시성을 제공

 

전용 호스트 / 전용 인스턴스 차이점

 

 

7. 용량 예약

  • 온디맨드 인스턴스를 특정 AZ(가용 영역)내에서, 원하는 기간동안, 원하는 용량만큼 예약하여 사용
  • 예약한 후에는 필요할 때 언제든 예약할 용량에 액세스할 수 있다. 
  • 시간 약정이 없어 언제든 용량을 추가로 예약하고 취소할 수 있다.
  • 인스턴스 실행 여부와 관계없이 온디맨드 요금이 청구됨

➡️ 특정한 AZ에 위치하는 단기적이고 연속적인 워크로드에 적합