본문 바로가기

Infrastructure/Cloud Computing

[AWS] Reserved Instance

예약 인스턴스 (Reserved Instance, 이하 RI)

RI란 EC2 인스턴스에 대한 용량을 예약하여 할인된 비용으로 EC2 인스턴스를 사용할 수 있는 서비스를 얘기한다.


RI 유형

RI에는 총 세가지 유형이 있다.

  • 표준 RI: 가장 큰 할인 혜택(온디맨드 대비 최대 72%)을 제공하며 RI의 속성을 변경할 수 없으며 사용량이 꾸준한 경우에 가장 적합하다.

  • 컨버터블 RI: 할인 혜택(온디맨드 대비 최대 54%)을 제공하며 RI의 속성을 변경할 수 있으며 사용량이 꾸준한 경우에 적합하다.

  • 예정된 RI: 예약한 시간 범위 내에서 인스턴스를 시작할 수 있다. 표준 & 컨버터블 RI는 꾸준한 사용량에 적합하며 예정된 RI는 특정 시점에만 인스턴스가 필요한 경우에 적합하다.


예약 인스턴스의 특징

지금부터 서술하는 특징이 모든 특징은 아니며 중요하다고 판단되는 특징들만 서술한다.

  1. RI를 선택할 때 리전을 선택해야하며 다른 리전에서는 사용이 불가능하다.
  2. 특정 가용 영역(AZ)내의 인스턴스 유형에 대해 용량 예약을 생성할 수 있다.

리전에 따른 RI와 AZ에 따른 자세한 차이가 궁금하다면 여기를 방문하여 확인한다.

  1. 표준 RI는 장기 계약 시 특정 인스턴스 유형에 대해 큰 폭의 할인을 제공한다.
  2. 컨버터블 RI는 표준 RI에 비해 할인 폭은 작지만 계약 도중 인스턴스 유형을 변경할 수 있다.

예약 유형에 대해 자세한 내용이 궁금하다면 여기를 방문하여 확인한다.

  1. 예약 인스턴스는 계약 기간이 1 ~ 3년으로 길기 때문에 장기적으로 사용하는 인스턴스 사양에 대해서만 구매해야한다.

  2. 예약 인스턴스의 비용은 인스턴스 실행 여부와는 관계없이 청구된다. 예약 인스턴스의 비용을 미리 선입금 한 상태에서 인스턴스를 사용하지 않더라도 사용 기간은 계속 차감된다.

  3. 예약 인스턴스는 취소할 수 없다. 몇 가지 제한에 따라 예약 인스턴스를 수정할 수는 있다.

  4. 결제 옵션은 "전체 선결제", "부분 선결제", "선결제 없음" 세 가지의 옵션 중 선택할 수 있으며 부분 선결제 또는 선결제 없음을 선택한 경우 약정 기간 동안 매월 일정 금액씩 잔액을 지불하면 된다.

1 ~ 8까지 중요하다고 생각되는 특징들에 대해서 서술하였다.
만약, 다른 특징도 궁금하다면 공식문서 - 1 (링크), 공식문서 - 2 (링크), RDS 예약 인스턴스 공식 문서 (링크)를 방문하여 확인한다.


예약 인스턴스 활용 방법

대부분의 회사에서는 필요한 인스턴스를 모두 실행시켜놓는 것이 아니라 평소에는 일정 수치의 인스턴스를 유지하다가 트래픽이 몰리는 시점에만 인스턴스를 실행하여 사용하고 트래픽이 줄어들면 인스턴스를 중지시키는 방식으로 서버를 운영한다.

채팅서버를 예로들어 예약 인스턴스를 활용하는 방법에 대해서 알아보도록 한다.

평상 시 m5.2xlarge 두 개의 인스턴스로 운영되는 채팅 서버가 있다.

해당 서비스는 매일 21 ~ 24시에 사용자들의 트래픽이 증가하여 아래의 이미지와 같이 총 다섯 개의 인스턴스로 Scale Out 되어 운영이 된다.

이러한 특성을 가지는 서비스가 있을 때 여러가지 경우를 비교하여 최적의 비용을 산정해본다. (비용은 모두 공식문서 (링크)에 나온 서울 리전의 비용을 따르며 한 달은 30일이라고 가정한다.)

  1. 예약 인스턴스를 사용하지 않는 경우.
    이러한 경우 두 개의 인스턴스는 매일 24시간의 비용을 지불해야하며 세 개의 인스턴스는 매일 3시간의 비용을 지불해야한다.
    총 비용 = 24시간 두 대의 비용($0.236 * 24시간 * 30일 * 2대) + 3시간 세 대의 비용($0.236 * 3시간 * 30일 * 3대) = $403.56
  2. m5.2xlarge 총 다섯 개의 인스턴스를 예약 (표준 RI, 1년 계약(40% 할인)하는 경우.
    총 비용= 24시간 할인 받은 5대의 비용($0.236 * 24시간 * 30일 * 5대 * 60/100할인율) = $509.76
  3. 채팅 서버 - 1, 2는 예약 인스턴스로 구매하고 Scale Out되는 인스턴스는 예약하지 않는 경우.
    총 비용= 24시간 할인 받은 2대의 비용($0.236 * 24시간 * 30일 * 2대 * 60/100할인율) + 3시간 세 대의 비용($0.236 * 24시간 * 30일 * 3대) = $267.62
  4. 최악의 상황으로 인스턴스 5대를 사용하는 경우.
    총 비용= 24시간 다섯 대의 비용($0.236 * 24시간 * 30일 * 5대) = $849.6

저렴한 순으로 나열하면 아래와 같다.

  • 1위: 3번 케이스, 매달 발생 비용 = $267.62
  • 2위: 1번 케이스, 매달 발생 비용 = $403.56
  • 3위: 2번 케이스, 매달 발생 비용 = $509.76
  • 4위: 4번 케이스, 매달 발생 비용 = $849.6

결론적으로 서비스 유지를 위해 무조건 실행되어야하는 인스턴스는 예약 인스턴스로 계약하고 트래픽을 견디기 위해 증설되는 인스턴스는 예약 인스턴스로 계약하지 않고 사용하는 것이 가장 효율적이다.

예를 들어 아래의 표와 같은 인스턴스를 사용하고 있는 서비스에 예약 인스턴스를 적용하여 비용이 변경되는 것을 확인해본다.

서비스 유형 인스턴스 유형 시간당 비용($) 수량 총 비용 (30일 기준, $)
일반 t3a.micro 0.0117 1 8.424
일반 t3a.large 0.0936 1 67.392
일반 t3.xlarge 0.208 2 299.52
일반 t3.small 0.026 4 74.88
일반 t3.micro 0.013 1 9.36
일반 t3.medium 0.052 4 149.76
일반 t3.large 0.104 6 449.28
일반 t2.small 0.0288 2 41.472
일반 t2.micro 0.0144 3 31.104
일반 t2.medium 0.0144 5 51.84
일반 r5.large 0.152 2 218.88
일반 m5.xlarge 0.236 9 1,529.28
일반 m5.large 0.118 2 169.92
일반 m5.2xlarge 0.472 1 339.84
일반 c5.xlarge 0.192 6 829.44
일반 c5.large 0.096 1 69.12
RDS r5.xlarge 0.57 3 1,231.2
RDS t3.small 0.052 3 112.32

계약 유형 매월 비용($) 매월 비용 (₩)
일반 5,683 6,779,018
예약 인스턴스 (1년 약정) 3,409 4,066,456
예약 인스턴스 (3년 약정) 2,273 2,711,368

예약 인스턴스의 정확한 비용 계산이 필요하면 예약 인스턴스 할인율 계산 (링크)에 방문하여 정확한 계산이 가능하다.


지금까지 예약 인스턴스를 활용하는 방법과 활용하였을 때 절약할 수 있는 금액에 대해서 알아보았다.

'Infrastructure > Cloud Computing' 카테고리의 다른 글

[Well-Architected] Basics  (0) 2022.11.15
[Cloud Computing] 다중 플랫폼 사용에 대한 고찰  (0) 2022.04.04
[AWS] Lightsail  (0) 2022.02.19
[AWS] IAM  (0) 2022.02.18
[AWS] CloudFront  (0) 2022.02.18