Study/Study

[Cloud FinOps] 13장. 예약 인스턴스와 약정 사용 할인으로 비용 절감

TTOII 2024. 2. 4. 15:53
728x90

13. 1. 예약 소개

각 CSP는 서비스 작동 방식과 할인 방식에 대해 각자의 고유한 특정 규칙을 사용해 조금씩 다른 서비스를 제공한다. 
각 조직에서는 필요사항에 따라 구현 모델과 전체 프로세스를 고려하고 조직 내에서 어떻게 활용할지 고민해야 한다.

예약 인스턴스에 대한 선결제는 비용 입장으로 볼 때 물리적 자산으로 감가상각되는 설비투자비용으로 보입니다.
그러나 예약 인스턴스는 사용 기간에 상각해야 하는 운영비용의 무형적인 선지급액입니다.
 

13. 2. 예약과 약정 사용량

특정 식당에서 선불 쿠폰을 구입하고 있다고 가정해보자.
쿠폰을 사용하면 해당 식사에서 식사를 제공한다. 이 쿠폰 모음에는 하루에 하나씩 쓸 수 있는 한달치 쿠폰이 들어있다. 
지정된 식당에서 식사할 때 쿠폰으로 식사비를 내면 된다.
다른 곳에서 식사하기로 한다는 것은 그날의 쿠폰을 버리고 다른 식당에서 식사비를 전액 지불하는 것을 의미한다.

선불 쿠폰 모음의 가격이 750달러이고 50달러 가치의 식사를 제공하는 식사 쿠폰이 30개 들어있다고 가정하자.
750달러를 30개로 나눠서 계산하면 이 쿠폰 하나의 25달러이고 하루에 25달러를 절약할 수 있게된다.
이 식당에서 매일 먹으면 50%를 아낄 수 있다. 즉 한달에 절반 이상을 방문하면 쿠폰을 사는 것이 유리하다.

이를 예약인스턴스에 적용해보자. 
예약 기간을 결정한 후 특정 리소스와 유형과 지역(특정 위치의 식당)에 맞는 예약(쿠폰)을 CSP에게 구입하여 이 예약을 통해 매 시간(또는 초)에 맞는 리소스를 실행할 수 있다. 
단, 예약과 일치하는 리소스를 실행하지 않으면 절감 효과가 사라진다.
예약 기간에 리소스 사용량이 충분하면 할인 혜택을 바고 비용을 절약할 수 있다.

여기서 얻을 수 있는 핵심 요점은 다음과 같다.
- 예약은 리소스에 적용되었는지 여부에 관계없이 비용을 지불하는 구조이다.
- 예약은 비용을 미리 지불하지만 계정에서 사용한 리소스에 대한 비용을 상쇄한다.
- 돈을 절약하기 위해 전부 예약을 할 필요는 없다.
 

13. 2. 1. 인스턴스 크기 유연성

AWS에서 동일한 유형과 크기의 대형 인스턴스 2개는 동일한 유형의 초대형 인스턴스 1개와 가격이 동일하다.
따라서 두개의 대형 예약 인스턴스를 구입하면, 하나의 초대형 서버 인스턴스에 할인을 적용할 수 있고 그 반대 또한 마찬가지다.

이에 대한 주의사항은 소프트웨어 라이센스 요금 영역에 있다.
소프트웨어 라이선스 요금이 포함되면 두 개의 중간 인스턴스는 하나의 대형 인스턴스와 요금이 동일하지 않다.
두개의 소프트웨어 도구를 사용하면 대형 하나에서 필요한 것보다 두배의 라이선스가 필요하다.
따라서 일부 공급 업체는 라이선스 소프트웨어가 있는 서버에서는 인스턴스 크기 유연성을 제외하는 반면 다른 공급 업체는 예약을 통해 소프트웨어 라이선스 비용을 할인하는 것을 허용하지 않는다.
즉, 인스턴스 가격에만 할인을 적용한다.
 

13. 2. 2. 전환과 취소

최근 예약에서는 예약을 전환하거나 다른 유형으로 교체할 수 있는 기능이 추가됐다.
전환이 가능한 예약은 일반적으로 교환할 수 없는 예약보다는 할인율이 낮다.
일반적으로 전환을 하려면 예약의 값이 동일하거나 더 커야한다.
따라서 클라우드 서비스 제공 업체의 사용량을 줄여서 전반적인 약정이 줄어들면 예약을 전환할 수 없다.
전환과 별도로 일부 클라우드 서비스 공급자는 수수료를 내면 일부 예약을 취소할 수 있는 기능을 제공한다.
 

13. 3. 3대 CSP가 제공하는 사용 약정 개요

  AWS GCP Azure
프로그램 이름 예약 인스턴스/Savings Plans 약정 사용 할인 예약 VM 인스턴스
결제 모델 모두 선결제, 부분 선결제, 선결제 없음 선결제 없음 모두 선결제
기간 1년 또는 3년 1년 또는 3년 1년 또는 3년
인스턴스 크기 유연성 해당사항 없음
전환 또는 교환 표준 인스턴스 : 불가능
전환가능 인스턴스 가능
해당사항 없음 가능
예약 취소가능 여부 불가능, 다만 예약 인스턴스를 마켓플레이스에서 판매 가능 불가능 가능, 다만 연간 가능 한도 존재
지속 사용 할인 없음 있음 없음
결제 모델 측면에서는 AWS가 가장 유연한 모델을 제공한다.
약정 기간의 경우 3사 CSP 모두 1년 또는 3년이라는 기간을 가져간다.
인스턴스 크기 유연성의 경우 GCP는 제공하지 않는다.
전환 또는 교환의 측면에서는 AWS는 약간의 제한을 두며 GCP는 불가하고 Azure의 경우 수수료 내면 가능한 구조이다.
예약 취소의 측면에서는 AWS의 경우 불가능하지만, AWS가 제공하는 마켓플레이스에서 재판매를 할 수 있는 구조이다. 
수요가 많은 인스턴스의 경우 이를 잘 이용한다면 예약 취소 상황에서 큰 손실없이 예약을 취소할 수 있을 지도 모른다.
지속 사용 할인의 측면에서는 GCP가 유일하게 할인을 적용한다.

정리해보면, 고객의 측면에서는 AWS가 제일 유연함을 제공하는 셈이다.

 

13. 4. 아마존 웹 서비스

예약 인스턴스는 종종 리소스 비용에 적용되는 할인 비율로 간주된다.
하지만 예약 인스턴스는 구매시 온디맨드 요금보다 일정 금액이 더 저렴한 고정형 요금이다라고 하는 것이 맞다.
중요한 것은 AWS가 온디맨드 요금을 낮추더라도 기존 예약 인스턴스 요금이 1년이나 3년 동안 동일하게 유지된다는 점이다.
 
그동안 AWS 가격 하락을 분석한 결과 AWS는 일반적으로 3년 예약으로 인스턴스 가격이 낮춰진 만큼 온디맨드 요금을 낮추지는 않는다는 사실을 알 수 있었다.
 

13. 4. 2 AWS 예약 인스턴스의 매개변수

  • 지역
    • 리소스는 어디에 있나요 (예를 들어 us-west-1 또는 eu-west-1).
  • 범위
    • 예약이 영역인가요, 지역인가요.
  • 가용 영역(AZ)
    • 영역 예약 인스턴스인 경우 예약 인스턴스를 적용해야 하는 특정 가용 영역은 어디인가요.
  • 인스턴스 특성
    • 유형 : 인스턴스 패밀리와 크기의 조합으로 구성됩니다.
    • 테넌시 : 인스턴스를 공유된 하드웨어에서 실행할지 전용으로 제공되는 하드웨어에서 실행할지 결정할 수 있다.
    • 운영체제 : 인스턴스에 포함되는 운영 체제와 소프트웨어 라이센스(RHEL, MS Windows, Linux)을 지정한다.

예약 인스턴스 매개변수가 실행 중인 인스턴스의 사용량의 매개변수와 정확히 일치하지 않으면 예약 인스턴스를 통해 할인이 적용되지 않는다. 따라서 알맞은 매개변수로 예약을 구매하는 것이 중요하다.
인스턴스 크기 유연성은 가장 작은 인스턴스부터 가장 큰 인스턴스까지도 모두 적용되지만 일치하는 리소스 대신 다른 특정 리소스에 할인을 적용할 수 있는 방법은 현재 없다.
 
 
13. 4. 3. 연결된 계정 선호
AWS Organizations는 통합 결제 기능을 통해 계정들을 연결하고 비용을 단일 마스터 지불 계정으로 합칠 수 있다.
AWS Organizations에 마스터 지불 계정은 단 하나만 있을 수 있으며, 계정들은 하나의 AWS Organizations에 연결될 수 있다.
예약을 구매하고 싶으면 마스터 지불 계정이나 연결된 계정에서 예약 인스턴스를 구매할 수 있다.
동일한 AWS 조직 내 여러 계정 간에 예약 인스턴스 할인을 공유할 수 있다.
그러나 각 계정은 자신이 속한 로컬 계정에 대해 우선순위가 높아서 특정 계정에서 구매한 예약 인스턴스는 해당 계정의 리소스에서 먼저 사용할 수 있게 된다.
예약 인스턴스 공유는 AWS 계정별로 비활성활 수 있다.

 
 

13. 4. 4. 표준 예약 인스턴스 vs 전환형 예약 인스턴스

AWS에서 예약 인스턴스를 구매할 때 한번 구매시 여러 예약 인스턴스를 같이 구매할 수 잇다.
표준 예약 인스턴스(Standard Reserved Instance, SRI)를 구입하면 처음 구매할 때 매개변수를 설정할 수 있다.
 
표준 예약 인스턴스를 활용하면 가용성 영역과 범위(지역 또는 영역)와 같은 매개변수 중 일부를 수정할 수 있다.
그러나 기간, 운영 체제, 인스턴스 패밀리, 테넌시 와 같은 다른 많은 매개변수는 수정할 수 없다.
표준 예약 인스턴스를 구매하면 예약 인스턴스 기간(1년이나 3년) 내에 이러한 매개변수와 일치하는 리소스를 실행해야 한다.
 
EC2 인스턴스의 경우 더 유연한 옵션인 전환형 예약 인스턴스(CRI)를 사용할 수 있다.
할인율이 더 낮지만 기간 내에 기존 예약을 다른 예약으로 전환할 수 있다. 전환에는 일부 제한은 있다.
어찌됐든 AWS에 대한 전반적인 약정을 줄일 수 는 없다. 
예약 인스턴스 교환으로 인해 더 많은 비용이 발생하면 AWS는 선결제 금액에 비례하여 차액을 청구한다.
 
한번의 예약 인스턴스 구매에서 구매한 모든 예약 인스턴스 대신 일부만 전환할 수 있도록 전환형 예약 인스턴스를 분할할 수 있는 프로세스가 있다. 마찬가지로 여러 전환형 예약 인스턴스를 함께 결합하여 하나의 새로운 전환형 예약 인스턴스로 바꿀 수 있는 프로세스도 있다.
그러나 다음의 경우에는 전환형 예약 인스턴스의 매개변수를 수정할 수 없다.

  • 전환형 예약 인스턴스를 구입시에는 특정 지역에 대해 구매할 수 있으며 다른 지역으로 전환할 수 없다.
  • 전환형 예약 인스턴스를 구입시에는 EC2 인스턴스 전용이며 다른 서비스로 전환할 수 없습니다. 예를 들어 데이터베이스를 EC2 인스턴스에서 아마존 관계형 데이터베이스로 이동하는 경우 전환형 예약 인스턴스를 관계형 데이터베이스 서비스의 예약 인스턴스로 전환할 수 없다.
  • 전환형 예약 인스턴스를 구입 시 때때로 기간을 1년에서 3년으로 연장할 수 있는 경우를 제외하고는 전환형 예약 인스턴스의 기간을 변경할 수 없다.

 

13. 4. 5. 인스턴스 크기 유연성

지역 예약 인스턴스 중 리눅스, 유닉스의 경우 인스턴스 크기 유연성(Instance Size Flexibility, ISF)라는 옵션을 활용할 수 있다.
현재 소유하고 있거나 구매할 예정에 있는 리눅스, 지역 예약 인스턴스, 공유 테넌시 속성의 예약은 자동으로 인스턴스 크기 유연성을 가지는 예약 인스턴스가 된다.
크기가 다양한 모든 인스턴스를 처리하기 위해 예약 인스턴스의 정확한 크기를 구체적으로 지정할 필요는 없기 때문에 예약 인스턴스의 구매 시 매개변수를 조금씩 바꿔가면서 묶어서 구매하면 된다.

 

13. 4. 6. Savings Plans

컴퓨팅 Savings Plans

EC2나 Fargate 컴퓨팅에 광범위하게 적용될 수 있고 전환가능 예약 인스턴스에 버금가는 절감 효과를 제공한다.
이 유형은 전환 가능 예약 인스턴스보다 더 광범위하게 적용되고 지역 간에도 적용되기 때문에 활용도가 높다.

 
EC2 인스턴스 Savings Plans

단순히 컴퓨팅 사용량 보다도 더 구체적으로 일치하는 컴퓨팅에 적용하는 할인 혜택이다.
지역 내의 특정 인스턴스 패밀리에 적용된다. 이 유형은 제한적이지만 표준 예약 인스턴스보다는 더 높은 할인률을 제공하고 덜 제한적이다.

 
예약 인스턴스 vs Savings Plans

  • 두 Savings Plans 모두 더 많은 유연성을 제공하여 테넌시, 운영체제, 인스턴스 패밀리, 인스턴스 크기를 고려할 필요가 없다.
    가장 중요한 점은 Savings Plans가 모든 지역에 적용될 수 있다는 점이다. 이 Plans는 적용 가능한 사용량을 크게 향상시킨다.
  • 예약 인스턴스를 사용하면 계정의 인스턴스와 일치하는 예약을 여러개 구입할 수 있다.
    Savings Plans는 시간당 약속된 가격으로 구매하는 방식이다. (RI는 인스턴스 개수로 약정, Savings Plans는 시간당 사용 금액을 미리 약정한다고 이해하면 쉽다.) 
  • 예약 인스턴스와 달리 Savings Plans는 AWS Fargate 사용량에도 할인을 적용한다. 
728x90