☁️ Tencent Cloud/☁️ Tencent cloud Notes

Reserved Instance 리소스 여러개로 분할하기

just in here

 

 

예약 인스턴스 구매 후, 고객사의 사정으로 인해 RI의 구조를 변경해야 하는 경우가 생기기도 합니다. 이럴때 이미 구매한 RI를 최대한 활용하여 효율적으로 구독 모델을 구성하는 방법을 소개합니다.

 

 

Reserved Instance

 Tencent Cloud CVM의 예약인스턴스(Reserved Instance, RI) 과금 모델은 사용한 만큼 비용을 지불하는 Pay-as-you-go 가 아닌 특정 스펙의 가상머신에 대해 1년 단위로 선불금액을 결제하여 고정비용으로 사용하는 약정 과금 모델입니다. 다른 모든 클라우드 벤더 사에도 존재하는 옵션으로, 기업의 비즈니스 모델에 따라 도입할 수 있는 경제적인 선택지 중 하나입니다. 

 Tencent Cloud CVM 콘솔에서 Reserved Instance 항목을 클릭하면 위와 같이 RI 구매 창이 뜨게 되는데 여기서 원하는 리전과 스펙을 선택하면 현재 구매 가능한 RI 리소스들이 리스팅 됩니다. RI는 모든 CVM에 모델에 지원되는 것이 아니니 주의해야 합니다. 원하는 옵션을 선택하고 최종적으로 구매를 완료하고 나면 RI 구매 후 생성되는 인스턴스나 이미 생성된 인스턴스 중 RI 옵션과 일치하는 옵션이 있으면 자동으로 해당 인스턴스의 구독 모델이 RI로 전환됩니다.

 

계약한 RI 리스트를 확인하면 자동으로 매칭된 인스턴스의 숫자를 확인할 수 있습니다.

 

 Tencent Cloud에서는 약정금액을 전액 선불로 지불하고 더 큰 할인율을 누리는 All Upfront 방식과 약정액을 분할하여 납부하는 대신 비교적 적은 할인율을 받는 Partial Upfront 방식이 있습니다. (스펙에 따라 No Upfront 모델도 존재하나 권장하는 편은 아닙니다.) 하지만 어떤 지불방식을 선택하든 간에, 1년 약정 계약을 하는 것은 변함이 없고 RI 특성상 인스턴스와의 바인딩 이후에는 Specifications 변경이 불가능합니다. (스펙을 변경하는 경우 바로 RI와의 바인딩이 해지됩니다.)

 

RI Split & Merge

 그런데 고객사의 요청으로 서버그룹과 RI와 바인딩 이후에 워크로드 구성의 변경이 필요할 수 있습니다. 이에따라 추가적인 RI 구매가 필요하기도 하고 이로 인해 이미 구입한 RI가 낭비되는 상황이 생깁니다. 이러한 경우를 대비하여 Tencent Cloud CVM은 기구매한 RI에 대해 Split 과 Merge 기능을 제공합니다.

 

1) RI Split

 

 말그대로 이미 약정 계약이 완료된 RI의 Specification을 여러 개의 RI로 분리하는 기능입니다. 물론 CVM 스펙을 떡 자르듯 마음대로 나눌 수 있는 건 아닙니다. 16Core 64GB 구성의 1개의 RI를 2Core 4GB + 4Core 20GB + 8Core 40GB 구성으로 3개의 RI로 바꿀 수는 없다는 뜻입니다. 

 

 우선 구입한 RI의 CPU : MeM 비율을 봐야합니다. Tencent Cloud CVM 중 Standard S5 인스턴스는 1:2 혹은 1:4 의 CPU : MeM 비율을 가집니다.

출처 : Tencent Cloud

  그리고 normalization factor 값도 살펴봐야 합니다. normalization factor은 vCPU의 성능을 수치화한 것으로, 일반적으로 vCPU의 코어 수와 일치합니다. 

 

 이 두 가지 CPU : MeM 비율과 normalization factor 값을 알고 있다면 아래 두 조건을 만족시키는 방법으로 RI Split이 가능합니다.

조건 1) Split 전 RI의 CPU:MeM 비율과 같은 RI 들로만 분할이 가능
조건 2) Split 전 RI의 normalization factor = Split 후 RI들의 normalization factor의 합 

 

복잡해보이지만 어떻게 보면 또 당연한 말이기도 합니다. 직접 콘솔에서 16Core64GB 인스턴스로 RI Split을 시도하면

이렇게 조건을 만족하지 못 하면 Splitting이 진행이 불가능하고

 조건을 만족하면 Splitting 진행이 가능한 것을 확인할 수 있습니다.

 

 애초에 원래의 RI와 같은 CPU : MeM 비율을 가지도록 메모리는 고정 값으로 지정되어 있기 때문에 위에서 소개한 조건 중 조건2만 고려하면 됩니다. 위 그림의 상황을 기준으로 OK를 클릭하면 원래 RI는 expired되고, 새로운 5개의 RI가 활성화됩니다.

 

2) RI Merge 

 

 조립은 분해의 역순이므로 Split을 이해하였다면 Merge도 비슷한 과정입니다. 그러나 Split에 비해 조건이 다소 까다롭습니다. 합치려는 RI들의 가용영역이 모두 같아야 하고 , 설치된 OS까지 같아야 합니다. Merge 하려는 RI들의 normalization factor의 합과 일치하는 normalization factor만 생성 가능합니다.

 

Split과 마찬가지로 콘솔의 Reserved Instance 항목에서 Merge를 클릭하고

조건에 맞는 RI로 Merge를 할 수 있습니다.

 

마찬가지로 Merge 조건에 맞지 않는다면 생성이 불가능합니다. 조건을 만족한 후 OK를 클릭하면 원래의 RI들은 expired 되고, 새롭게 생성된 RI가 활성화됩니다.

 

마치며

 

 Reserved Instance의 도입은 생각처럼 그렇게 간단한 것은 아닙니다. 사용자 입장에서 약정이라는 구독 모델도 그다지 반가운 것은 아니고 생성 후 스펙을 변경하기도 어렵습니다. 리소스의 재고가 부족한 경우에는 RI가 매진되기도 하고 애초에 RI 대상이 되는 인스턴스 스펙들도 제한적인 편입니다. 그러나 비즈니스 요구사항에 딱 맞는 RI를 찾았다면 가장 비용효율적으로 클라우드 가상머신을 사용할 수 있는 방법이기도 합니다.

 

 하지만 성공적으로 예약 인스턴스 구성을 마쳤더라도, 약정 기간 내에 서비스에 어떤 변화가 생길지는 모르는 일입니다. 이럴때 이 글에서 소개한 방법들을 활용하면 마치 우리가 안 입는 옷을 잘라서 여러 가지 다른 제품을 만드는 것 처럼 클라우드 자원의 낭비를 막고 비용까지 경제적으로 컨트롤 할 수 있습니다.