Демистификация зарезервированных экземпляров AWS: типы и примеры использования

Зарезервированные инстансы (RI) — это экономичный вариант, предоставляемый Amazon Web Services (AWS), который позволяет пользователям резервировать мощности для своих инстансов EC2. Соглашаясь на срок в один или три года, пользователи могут получить значительную скидку на использование EC2. В этой статье мы рассмотрим различные типы зарезервированных инстансов, предоставляемых AWS, и приведем примеры кода, демонстрирующие их использование.

  1. Стандартные зарезервированные экземпляры.
    Стандартные зарезервированные инстансы предлагают самую высокую скидку и лучше всего подходят для стабильных рабочих нагрузок с предсказуемыми моделями использования. Они обеспечивают значительное снижение затрат по сравнению с инстансами по требованию. Вот пример приобретения стандартного зарезервированного инстанса с помощью интерфейса командной строки AWS:
aws ec2 purchase-reserved-instances-offering --instance-count 1 --instance-type t3.large --offering-type 'Heavy Utilization' --reserved-instances-offering-id <offering-id>
  1. Конвертируемые зарезервированные инстансы.
    Конвертируемые зарезервированные инстансы обеспечивают гибкость изменения типа инстанса в пределах одного семейства инстансов, что позволяет адаптироваться к меняющимся требованиям рабочей нагрузки. У них немного меньшая скидка, чем у стандартных зарезервированных инстансов. Вот пример приобретения конвертируемого зарезервированного инстанса с использованием AWS SDK для Python (Boto3):
import boto3
ec2_client = boto3.client('ec2')
response = ec2_client.purchase_reserved_instances_offering(
    InstanceCount=1,
    InstanceType='t3.large',
    OfferingType='Convertible',
    ReservedInstancesOfferingId='<offering-id>'
)
  1. Запланированные зарезервированные экземпляры.
    Запланированные зарезервированные инстансы предназначены для рабочих нагрузок, которые выполняются по определенному повторяющемуся расписанию. Они предоставляют скидку на экземпляры, которые используются на постоянной основе. В следующем примере показано создание запланированного зарезервированного инстанса с помощью AWS CloudFormation:
Resources:
  MyScheduledInstance:
    Type: 'AWS::EC2::ScheduledInstance'
    Properties:
      InstanceCount: 1
      InstanceType: t3.large
      ScheduledInstanceAction:
        Type: 'Stop'
        Recurrence: '0 0 * * *'
  1. Региональные зарезервированные инстансы.
    Региональные зарезервированные инстансы предоставляют скидку при запуске инстанса в определенном регионе AWS. Они обеспечивают гибкость в пределах региона, позволяя вам изменять зону доступности, размер или тип экземпляра. Вот пример приобретения регионального зарезервированного инстанса с использованием интерфейса командной строки (CLI) AWS:
aws ec2 purchase-reserved-instances-offering --instance-count 1 --instance-type t3.large --offering-type 'Regional' --availability-zone <availability-zone> --reserved-instances-offering-id <offering-id>
  1. Резервирование мощности.
    Резервирование мощности позволяет резервировать мощность для определенных типов экземпляров в определенной зоне доступности. Это гарантирует, что емкость будет доступна тогда, когда она вам нужна, что повышает уверенность при запуске экземпляров. Вот пример создания резервирования мощности с помощью Консоли управления AWS:

  2. Откройте консоль EC2.

  3. Выберите «Резервирование мощности» на левой панели навигации.

  4. Нажмите «Создать резервирование мощности» и следуйте указаниям мастера, чтобы указать детали резервирования.