Amazon OpenSearch Service의 예약 인스턴스 - 아마존 OpenSearch 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon OpenSearch Service의 예약 인스턴스

Amazon OpenSearch Service의 예약 인스턴스(RI)는 표준 온디맨드 인스턴스에 비해 요금이 대폭 할인됩니다. 인스턴스 자체는 동일합니다. RI는 계정에서 온디맨드 인스턴스를 사용할 때 적용되는 결제 할인입니다. 사용량이 예측 가능하며 수명이 긴 애플리케이션의 경우, RI를 이용하면 시간이 지날수록 상당한 액수를 절감할 수 있습니다.

OpenSearch Service RI는 1년이나 3년 동안 이용해야 하며, 할인율이 달라지는 3가지 결제 방법을 제공합니다.

  • 선결제 없음 – 선결제를 하지 않습니다. 사용 기간 내내 시간당 요금을 할인받습니다.

  • 부분 선결제 – 일부 비용을 선결제하고, 사용 기간 내내 시간당 요금을 할인받습니다.

  • 전체 선결제 – 모든 비용을 선결제합니다. 해당 기간 중 시간당 요금을 지불하지 않습니다.

일반적으로 선결제 금액이 많을수록 할인율이 증가합니다. 예약 인스턴스는 취소할 수 없습니다. 예약 인스턴스를 예약할 때 전체 기간에 대한 결제를 약정하고 선결제 금액은 환불되지 않습니다.

RI는 유연하지 않으며 사용자가 예약하는 정확한 인스턴스 유형에만 적용됩니다. 예를 들어, 8개의 c5.2xlarge.search 인스턴스에 대한 예약은 16개의 c5.xlarge.search 인스턴스 또는 4개의 c5.4xlarge.search 인스턴스에 적용되지 않습니다. 자세한 내용은 Amazon OpenSearch Service 가격FAQ를 참조하세요.

예약 인스턴스 구입(콘솔)

콘솔에서 기존 예약 인스턴스를 확인하고 새 예약 인스턴스를 구입할 수 있습니다.

예약 인스턴스 구입 방법
  1. https://aws.amazon.com으로 이동하여 콘솔에 로그인(Sign In to the Console)을 선택합니다.

  2. 분석(Analytics)에서 Amazon OpenSearch Service를 선택합니다.

  3. 탐색 창에서 [예약 인스턴스 임대(Reserved Instance Leases)]를 선택하세요.

    이 페이지에서는 기존 예약을 확인할 수 있습니다. 예약이 여러 개라면, 필터를 적용해 특정 예약을 쉽게 찾아 확인할 수 있습니다.

    작은 정보

    예약 인스턴스 임대 링크가 보이지 않으면 AWS 리전에서 도메인을 생성하세요.

  4. [예약 인스턴스 주문(Order Reserved Instance)]을 선택합니다.

  5. 고유한 서술식 이름을 입력합니다.

  6. 인스턴스 유형과 인스턴스 수를 선택합니다. 자세한 지침은 아마존 OpenSearch 서비스 도메인 크기 조정 섹션을 참조하세요.

  7. 사용 기간과 결제 옵션을 선택합니다. 결제 세부 정보를 자세히 검토합니다.

  8. 다음(Next)을 선택합니다.

  9. 구입 요약을 자세히 검토합니다. 구입한 예약 인스턴스는 환불할 수 없습니다.

  10. 주문(Order)을 선택합니다.

예약 인스턴스 구입(AWS CLI)

AWS CLI에는 상품을 확인하고, 예약을 구매하거나 검토하는 명령이 있습니다. 다음 명령과 샘플 응답은 해당 AWS 리전의 제품 및 서비스를 보여줍니다.

aws opensearch describe-reserved-instance-offerings --region us-east-1 { "ReservedInstanceOfferings": [ { "FixedPrice": x, "ReservedInstanceOfferingId": "1a2a3a4a5-1a2a-3a4a-5a6a-1a2a3a4a5a6a", "RecurringCharges": [ { "RecurringChargeAmount": y, "RecurringChargeFrequency": "Hourly" } ], "UsagePrice": 0.0, "PaymentOption": "PARTIAL_UPFRONT", "Duration": 31536000, "InstanceType": "m4.2xlarge.search", "CurrencyCode": "USD" } ] }

각 반환 값에 대한 설명은 다음 표를 참조하세요.

필드 설명
FixedPrice 예약의 선결제 금액.
ReservedInstanceOfferingId 상품 ID입니다. 상품을 예약하고 싶다면 이 값을 기록해 두세요.
RecurringCharges 예약의 시간당 요금.
UsagePrice 레거시 필드. OpenSearch Services의 경우 이 값은 항상 0입니다.
PaymentOption 선결제 없음, 부분 선결제 또는 전체 선결제.
Duration 사용 기간(초):
  • 31,536,000초는 1년입니다.

  • 94,608,000초는 3년입니다.

InstanceType 예약의 인스턴스 유형. 각 인스턴스 유형에 할당되는 하드웨어 리소스 정보는 Amazon OpenSearch Service 요금을 참조하세요.
CurrencyCode FixedPriceRecurringChargeAmount의 통화.

다음은 예약 구입 예제입니다.

aws opensearch purchase-reserved-instance-offering --reserved-instance-offering-id 1a2a3a4a5-1a2a-3a4a-5a6a-1a2a3a4a5a6a --reservation-name my-reservation --instance-count 3 --region us-east-1 { "ReservationName": "my-reservation", "ReservedInstanceId": "9a8a7a6a-5a4a-3a2a-1a0a-9a8a7a6a5a4a" }

마지막으로 다음 예시를 활용해 해당 리전의 예약을 리스팅할 수 있습니다.

aws opensearch describe-reserved-instances --region us-east-1 { "ReservedInstances": [ { "FixedPrice": x, "ReservedInstanceOfferingId": "1a2a3a4a5-1a2a-3a4a-5a6a-1a2a3a4a5a6a", "ReservationName": "my-reservation", "PaymentOption": "PARTIAL_UPFRONT", "UsagePrice": 0.0, "ReservedInstanceId": "9a8a7a6a-5a4a-3a2a-1a0a-9a8a7a6a5a4a", "RecurringCharges": [ { "RecurringChargeAmount": y, "RecurringChargeFrequency": "Hourly" } ], "State": "payment-pending", "StartTime": 1522872571.229, "InstanceCount": 3, "Duration": 31536000, "InstanceType": "m4.2xlarge.search", "CurrencyCode": "USD" } ] }
참고

StartTime은 Unix epoch 시간으로, 1970년 1월 1일 자정 UTC 이후 경과 시간(초)을 의미합니다. 예를 들어 epoch 시간 1522872571은 UTC로 2018년 4월 4일 20:09:31입니다. 온라인 변환기를 이용할 수도 있습니다.

이전 예제에서 사용한 명령을 자세히 알아보려면 AWS CLI 명령 참조를 참조하세요.

예약 인스턴스 구입(AWS SDK)

AWS SDK(Android 및 iOS SDK 제외)는 다음을 비롯하여 Amazon OpenSearch Service API 참조에 정의된 모든 작업을 지원합니다.

  • DescribeReservedInstanceOfferings

  • PurchaseReservedInstanceOffering

  • DescribeReservedInstances

이 샘플 스크립트는 AWS SDK for Python (Boto3)의 OpenSearchService 하위 수준의 Python 클라이언트를 이용하여 예약 인스턴스를 구매합니다. instance_type의 값을 제공해야 합니다.

import boto3 from botocore.config import Config # Build the client using the default credential configuration. # You can use the CLI and run 'aws configure' to set access key, secret # key, and default region. my_config = Config( # Optionally lets you specify a region other than your default. region_name='us-east-1' ) client = boto3.client('opensearch', config=my_config) instance_type = '' # e.g. m4.2xlarge.search def describe_RI_offerings(client): """Gets the Reserved Instance offerings for this account""" response = client.describe_reserved_instance_offerings() offerings = (response['ReservedInstanceOfferings']) return offerings def check_instance(offering): """Returns True if instance type is the one you specified above""" if offering['InstanceType'] == instance_type: return True return False def get_instance_id(): """Iterates through the available offerings to find the ID of the one you specified""" instance_type_iterator = filter( check_instance, describe_RI_offerings(client)) offering = list(instance_type_iterator) id = offering[0]['ReservedInstanceOfferingId'] return id def purchase_RI_offering(client): """Purchase Reserved Instances""" response = client.purchase_reserved_instance_offering( ReservedInstanceOfferingId = get_instance_id(), ReservationName = 'my-reservation', InstanceCount = 1 ) print('Purchased reserved instance offering of type ' + instance_type) print(response) def main(): """Purchase Reserved Instances""" purchase_RI_offering(client)

AWS SDK 설치 및 사용에 대한 자세한 내용은 AWS 소프트웨어 개발 키트를 참조하세요.

비용 검사

Cost Explorer는 지난 13개월의 지출 데이터를 확인할 수 있는 무료 도구입니다. 이 데이터를 분석하면 지출 추세를 확인하고 RI가 사용 사례에 적합한지 확인할 수 있습니다. 이미 RI가 있으면 구매 옵션(Purchase Option)별로 그룹화하고 분할 상환 요금을 표시하여 온디맨드 인스턴스에 대한 지출과 해당 지출을 비교할 수 있습니다. 또한 예약을 최대한 활용하도록 사용 예산을 설정할 수 있습니다. 자세한 내용은 AWS Billing 사용 설명서Cost Explorer를 사용한 비용 분석을 참조하세요.