AWS EC2 구매옵션

Siyun·2025년 2월 4일

AWS

목록 보기
5/37

On-Demand 인스턴스

  • 필요한 대로 실행, 단기적인 워크로드에 유용
  • 리눅스, 윈도우는 초단위로 요금 지불 / 나머지 OS는 시간단위
  • 비용이 가장 많이 들지만 장기 약정이 필요없음
  • 단기적이고 중단없는 워크로드거나 애플리케이션의 거동을 예측할 수 없을 때 사용

예약(Reserved) 인스턴스

  • 1년 or 3년간 인스턴스 타입, 리전, 테넌시, OS등을 예약을 하여 사용
  • 선결제, 부분선결제, 선결제 없음 중 선택할 수 있고 선결제를 할 수록 최대할인을 받을 수 있음
  • 사용량이 일정한 (ex.데이터베이스) 애플리케이션을 사용하는게 좋음
  • 예약 인스턴스를 마켓플레이스에서 사고 팔 수도 있음
  • 온디맨드에 비해 약 72% 저렴
  • 시간이 지나서 인스턴스 타입, 리전, 테넌시, OS등을 변경하길 원한다면 전환형 예약 인스턴스가 적절 (온디맨드에 비해 약 66% 저렴)

예약 인스턴스 실습

1. EC2 > Reserved Instances > Purchase Reserved Instances 를 선택한다.

2. 구매하고자 하는 인스턴스 타입을 선택한다.


원하는 조건대로 검색하면 아래 옵션이 뜬다. 기간, 요금, 가격 옵션(선불, 부분선결제 등), 표준인지 전환형인지, 용량, 갯수 등을 확인해서 Add to cart한 뒤에 View cart를 선택해서 주문할 수 있다.

AWS는 예약 인스턴스보다 AWS 절약 플랜이 더욱 편리하다.


절약 플랜(Savings Plans)

  • 1년 or 3년간 특정한 인스턴스 유형을 약정하는 것이 아닌 달러 단위로 특정한 사용량을 약정하여 사용
  • 장기 워크로드에 유용
  • 장기간 사용하면 약 72% 할인을 받을 수 있음
  • 시간당 10달러로 약정
  • 사용량이 한도를 넘어서면 온디맨드 가격으로 청구
  • 특정한 인스턴스와 패밀리, 리전으로 고정됨
  • 인스턴스 사이즈, OS, 테넌시(호스트, 전용, 기본)은 전환 가능

절약 플랜 실습

1.EC2 > Savings Plans > Purchase Savings Plans을 선택한다.


원하는 기간, 리전, 인스턴스 패밀리, 시간당 금액, 선후불부분결제중 선택하여 구매할 수 있다.


스팟(Spot) 인스턴스

  • 아주 짧은 워크로드일 시 사용
  • 매우 저렴(온디맨드에 비해 최대 90%할인)
  • 정의해둔 지불하려는 최대 스팟 가격보다 스팟 가격이 높아지면 언제라도 인스턴스가 손실될 수 있어 신뢰성이 낮음
  • 최대 스팟가격보다 스팟가격이 높아지면 2개의 선택지가 주어지며 2분의 유예기간이 주어짐
    1) 인스턴스 중지 후 스팟가격이 내려가면 재개
    2) 인스턴스 종료
  • 시간당 스팟가격은 오퍼와 용량에 따라 변동이 있음
  • AWS가 스팟 인스턴스를 회수하는 것을 원치 않는다면 스팟 블록(1~6시간까지 스팟 인스턴스 차단, 그동안 중단없이 해당 블록 사용가능) 사용
  • 인스턴스가 고장에 대한 회복력이 있다면 아주 유용함(ex.배치작업, 데이터 분석, 이미지 처리, 분산형 워크로드)
  • 중요한 작업이나 데이터베이스에는 적절하지 않음

🔌스팟 인스턴스 종료하기

  • 스팟 인스턴스를 사용하려면 원하는 인스턴스 수, 인스턴스 유형, 유효기간, 가용성 영역을 포함하는 스팟 인스턴스 요청을 만든다.
    -> 일회성 요청 유형이면 스팟 요청이 완료되는 즉시 인스턴스가 시작되며 스팟 요청은 사라진다.
    -> 영구요청일 경우 스팟 요청이 유효한 기간 동안 인스턴스 수도 유효하다. 인스턴스가 어떤 이유로든 중지되는 경우 스팟 요청이 다시 실행되고 유효성이 확인되면 스팟 인스턴스가 다시 시작된다.
  • 스팟 인스턴스를 완전히 종료하고, 다시 시작하지 않으려면 먼저 스팟 요청을 취소하고 그 다음에 관련 스팟 인스턴스를 종료해야한다.

🗃️스팟 플릿(Spot Fleets)

  • 스팟 인스턴스 세트를 정의하는 방법이다.
  • 선택적으로 온디맨드 인스턴스도 포함한다.
  • 내가 정의한 가격 제한으로 목표 용량을 충족하려고 한다.
  • 가능한 런치 풀을 정의한다: 다양한 인스턴스 유형, OS, 가용성 영역(Availabiliy Zone)
  • 플릿이 가장 적합한 런치 풀을 선택한다.
  • 스팟 플릿이 예산에 도달하거나 원하는 용량에 도달하면 인스턴스를 중지한다.
  • 스팟 플릿에 스팟 인스턴스를 할당하는 전략
    1) 최저가 : 가장 낮은 가격인 풀에서 인스턴스를 시작하기 때문에 비용이 최적화된다. 워크로드가 매우 짧은 경우 유용하다.
    2) 다양한 방법 : 스팟 인스턴스는 내가 정의한 모든 풀에 분산된다. 하나의 풀이 사라져도 나머지 풀이 있기 때문에 가용성과 긴 워크로드에 적합하다.
    3) 용량 최적화 : 원하는 인스턴스 수에 맞는 최적의 용량을 가진 풀을 갖게 된다.
    4) 가격 용량최적화 : 먼저 사용 가능한 용량이 가장 큰 풀을 선택하고 그 중 가격이 가장 낮은 풀을 선택하는 전략이다. 대부분의 워크로드에 적합하다.
  • 스팟 플릿을 사용하면 여래 개의 런치 풀과 여러 인스턴스 유형을 정의할 수 있다.

    스팟 인스턴스 요청과 스팟 플릿 요청의 차이!!
    👉 스팟 인스턴스 요청 : 원하는 인스턴스 유형과 AZ를 정확히 알고 있는 경우
    👉 스팟 플릿 요청 : 조건(ex.최저가)을 만족하는 모든 인스턴스 유형과 모든 AZ를 선택해야 할 경우

스팟 플릿 리퀘스트 실습

1. 과거 요금 확인하기


EC2 > Spot Requests > Pricing History 를 선택하면 과거 AZ내에서 시간에 따라 요금이 어떻게 변했는지 확인할 수 있다.

2. 스팟 인스턴스 요청을 위해 Request Spot Instances 클릭하기

3. 런치 매개변수를 설정한다.


수동으로 AMI와 키페어를 설정할 수도 있고 템플릿을 사용할 수도 있다.
즉석에서 인스턴스를 생성하려면 추가적으로 런치 매개변수를 설정할 수 있다.

4. 요청 세부정보 설정


인스턴스 유효기간을 설정한다. 요청이 만료되면 인스턴스를 종료할지 설정할 수도 있다.
두 인스턴스를 하나 이상의 클래식 로드 밸런서나 타겟 그룹에 연결해서 애플리케이션 로드밸런서를 설정할 수 있다.

5. 타겟 용량 설정


스폿 플릿의 일부로 원하는 인스턴스의 개수를 설정한다.
연산 단위가 더 중요하다면 인스턴스 대신 vCPUs로 설정할 수 있고, RAM이 목표라면 Memory(MiB)로 설정할 수도 있다.
타겟 용량 유지를 체크하면 중단이 일어날 경우 인스턴스를 종료, 중지, 하이버네이트 중 선택할 수 있다.
필요하다면 용량을 리밸런싱 할 수도 있다.

6. 네트워크 설정


특정한 AZ에서 런칭할지, 특정한 VPC에서 런칭할지 결정할 수 있다.

7. 인스턴스 타입 설정


인스턴스 속성(CPU,메모리의 최소,최대 용량)만 지정하거나 인스턴스 유형으로 지정할 수 있다.
인스턴스 속성을 지정할 경우 그것을 기초로 매칭되는 인스턴스 타입이 제공된다.
속성을 엄격하게 지정할 수록 Preview matching instance types의 개수가 적어진다.

8. 할당 전략 설정


용량 극대화, 절약액 극대화, (인스턴스 타입을 여러개 선택한 경우) 다양한 인스턴스풀 유지 중 선택 가능하다.

9. 요약 확인하기


매칭되는 인스턴스 개수, 어떤 AZ인지, 해당 플릿에 추정되는 시간당 가격을 확인할 수 있다.

바로 스팟 인스턴스 생성하기

1. EC2 > Instances > Launch instances를 클릭한다.

2. 스크롤을 내려 Advanced details에서 Purchasing option에서 Spot instance를 선택한다.


스팟 가격의 상한액을 온디맨드로 맞출 수도 있고 직접 커스텀할 수도 있다. 요청타입은 기본으로 One-time(스팟 인스턴스 중단 시 종료), Persistent(스팟 인스턴스 중단 시 가격 요건이 재개 가능할 때 다시 시작)중에 선택할 수 있다.
Persistent 타입으로 요청할 경우 요청의 유효기간과 유효기간이 넘어가면 Interruption behaviour에서 하이버네이트(절전), 중단, 종료 중 하나를 선택해 어떻게 할 지 정할 수 있다.


전용 호스트(Dedicated Hosts)

  • 물리적 서버 전체를 예약해서 사용
  • 인스턴스 배치를 관리할 수 있음
  • 법규 준수 요건이 있는 활용 사례나 소켓, 코어, VM소프트웨어 라이선스를 기준으로 청구되는 기존의 서버에 연결된 소프트웨어 라이선스가 있는 경우에 사용 (BYOL인 경우)
  • 온디맨드로 초당 비용을 지불하거나 1~3년 동안 예약할 수 있음
  • AWS에서 가장 비싼 옵션(온디맨드 가격)
  • 전용 호스트를 예약한다면 최대 약 70% 할인

    BYOL은 "Bring Your Own License"의 약자로, 클라우드 환경에서 사용자가 기존에 보유한 소프트웨어 라이선스를 가져와 사용할 수 있는 모델을 의미한다.
    사용자가 기존에 구매한 온프레미스(자체 서버) 라이선스를 클라우드 환경에서 사용할 수 있다.
    주로 사용되는 소프트웨어: Microsoft Windows Server, SQL Server
    Oracle Database, Red Hat Enterprise Linux (RHEL), SAP 등

전용 호스트 실습

1. EC2 > Dedicated Hosts > Allocate Dedicated Host를 선택


선택한 인스턴스 패밀리에서 다수의 인스턴스 타입을 생성할 수 있다.
다양한 옵션을 선택해서 할당하면 된다.


전용 인스턴스(Dedicated Instances)

  • 전용 하드웨어에서 실행되어 다른 고객과 하드웨어를 공유하지 않음

    전용 호스트는 물리적 서버 자체의 접근권을 갖고 낮은 수준의 하드웨어에 대한 가시성을 제공해준다는 점에서 전용 인스턴스와 다르다.


용량 예약(Capacity Reservations)

  • 원하는 기간 동안 특정한 AZ에서 온디맨드 인스턴스를 예약할 수 있음
  • 필요할 때마다 그 용량에 접근 가능
  • 기간약정이 없기 때문에 언제라도 용량을 예약하고 취소할 수 있음
  • 청구할인도 없으며 용량 예약이 유일한 목적
  • 인스턴스 실행과 무관하게 온디맨드 요금이 부과됨
  • 특정 AZ에 있어야 하는 단기적이고 중단없는 워크로드에 적합

용량 예약 실습

용량 예약은 EC2인스턴스 생성에 제공되는 용량을 보장하는 경우에 사용

1. EC2 > Capacity Reservations > Capacity Reservation types 선택 > Get started


On-Demand 용량 예약과 ML을 위한 블록 용량 예약 중 선택할 수 있다.

2. 옵션 선택


확실히 확보하길 원하는 인스턴스 타입과 플랫폼, AZ, 테넌시와 인스턴스 개수(Total capacity)를 설정할 수 있다.


용량을 예약하기 원하는 시점과 기간을 설정할 수 있다.
이렇게 하면 인스턴스의 제공은 보장되지만 인스턴스 생성여부와 관계없이 예약에 대한 비용을 지불해야한다.


*참고
AWS 요금 예측기: https://calculator.aws/#/

profile
공부 기록

0개의 댓글