RI 인스턴스란?
RI란? Reserved Instance의 약자로 말 그대로 해석하면 Instance를 예약하겠다 라는 뜻 입니다.
이는 일정기간동안 Instance를 예약해서 사용을 하겠다는 일종의 약정할인과 같은 방식입니다.
옵션에 따라 다르지만 온디멘드 인스턴스에 비해 최대 75%까지 저렴합니다.
RI 인스턴스의 사용
예약인스턴스는 필요에 따라 언제든지 구입하여 사용할 수 있습니다.
RI 인스턴스 유형
표준(Standard RI)
- 할인율이 높음.
- 예약된 기간동안 인스턴스의 유형 변경 불가
- 위에서 인스턴스 유형이란? T2, M5등의 인스턴스 유형을 말함
- 예약된 기간동안 인스턴스의 크기 변경 가능
- 예를들어 t2.small 인스턴스 사용중 같은 계열의 하위 크기 인스턴스인 t2.micro 2대로 변경이 가능함.(현재 인스턴스 크기의 하위 인스턴스로만 변경이 가능함)
전환형(Convertible RI)
- Standard RI와 비교하여 할인율이 좀더 낮지만 인스턴스 유형, 크기에 상관 없이 보다 자유롭게 변경이 가능함.
결재 옵션 및 기간
- 결재 옵션 : 전체 선결재(All Upfront) , 부분 선결재(Partial Upfront), 선결재 없음(No Upfront)
- 기간 : 1년(60초 x 60분 x 24시간 x 365일 = 31,536,000초), 3년(60초 x 60분 x 24시간 x 1095일 = 94,608,000초)
- 뻔한 이야기 이겠지만 선결재 비중이 높고 기간이 길수록 할인률이 높아짐.
- 선결재 금액은 환불이 되지 않으니 신중하게 생각하고 결재 합니다.
RI 구매 방법(Standard 기준)
EC2 콘솔의 좌측메뉴 Reserved Instances > Purchase Reserved Instances 버튼 클릭
다음 화면에서 구매할 인스턴스 옵션을 선택하여 검색합니다.
- Platform : OS플렛폼 선택( linux / windows 등 )
- Tenancy : 테넌시 속성 선택 ( default / dedicated )
- Offering Class : RI 클래스 선택 ( Standard / Convertible / Any )
- Instance Type : 인스턴스 타입 선택
- Term : RI 기간 선택 ( 1년 / 3년 )
- Payment Option : 지불 옵션 선택( Any / No Upfront / Patial Upfront / All Upfront )
다음화면에서 검색된 RI상품을 카트에 담습니다.
쇼핑카트에 있는 상품을 구매합니다.
구매가 완료 되고 구매한 인스턴스와 동일한 속성의 온디맨드 인스턴스가 실제 존재 한다면 바로 적용이 됩니다. ( 구동중인 인스턴스가 없으면 바로 만들면 됩니다. )
적용시 주의해야 할 점
예를들어 t2.micro 인스턴스 1년 또는 3년 1개를 구매하였고 운영중인 t2.micro 타입의 온디맨드 인스턴스가 여러개가 있다고 가정해 보겠습니다.
결론적으로 1개를 구입했지만 여러개의 t2.micro 인스턴스에 골고루 적용이 되게 됩니다.
구체적인 예를 들어 설명하자면…..
t2.micro 온디맨드 인스턴스 가격이 시간당 $1, RI 적용했을때 $0.5라 가정 하겠습니다.
- 인스턴스 1개를 사용할 경우 RI 적용후 $0.5과금이 됩니다.
- 월 $0.5의 할인이 적용되기 때문에 그걸 2대에 분산하면 인스턴스당 $0.25씩 할인이 적용된다고 보면 됩니다.
정확히 말해서 인스턴스 1개에 대해 1또는 3년 사용하는 기간동안의 할인을 받는것이기 때문에 과금기준 1개월을 놓고 계산해보면 다음과 같습니다.
- t2.micro 1개월 사용할 경우 720시간을 사용.
- 2개일경우 720시간 x 2 = 1440시간이 된다.
- RI는 1개를 구매하였기 때문에 1440시간 중 인스턴스 1개분(720시간)에 대해서만 $0.5가 적용된다고 보면 됨.
- 인스턴스 2개를 사용하므로 최종계산은 ($0.5 x 720시간) + ($1 x 720시간) = $1080 이 됩니다.
여기서 중요한 부분 하나를 말씀 드리겠습니다.
RI 적용한 계정이 consolidated billing에 묶인 Linked Account이거나 Master Account일 경우 연결된 모든 계정에 RI가 적용이 된다는 사실!!!
물론 묶여진 다른 계정에 동일한 타입의 인스턴스가 존재 할 경우이겠지만 어쨌든 t2.micro 인스턴스를 사용하는 계정이 있다면 그 계정도 혜택을 보게된다는 말이 됩니다.
예를 들어 A라는 Master Account가 있고 여기에 B, C라는 이름의 Linked Account가 있고 계정 B 에서 RI를 구매했다고 가정 하겠습니다.
이 상황에서 계정 B의 t2.micro 인스턴스에만 RI를 적용이 되면 좋겠지만 계정 B와 C의 모든 t2.micro 인스턴스에 RI가 적용이 되게 됩니다.
이는 여러가지 이유에서 문제가 될 수 있습니다.
모든 결재는 계정 A 에서 발생되지만 회사 정책상 또는 다른 어떤 이유에서건 Linked Account에 대해서 내부적으로 정산을 한다면 문제가 될 수 있습니다.
계정 B에서만 쓰려고 RI를 샀는데 결국 계정 C도 RI혜택을 보게 되기 때문입니다.
이 같은 문제를 해결하기 위해 AWS Billing Dashboard > Preferences 메뉴에 RI discount sharing 기능에서 연결된 Linked Account들을 RI discount sharing disabled쪽으로 이동시켜 놓으면 계정들끼리의 공유를 막을 수 있습니다.(예전에는 이런 기능이 없습니다. ㅠㅠ)
팁!!! credit도 RI와 마찬가지로 모든 계정에 공유가 되므로 Disable credit sharing 옵션을 체크해 막을 수 있습니다.
이상 RI인스턴스에 대해 간단히 알아보았습니다.