В режиме выделенных ресурсов можно указать количество операций чтения и записи данных в секунду, необходимое вашему приложению. Можно использовать Auto Scaling для автоматической регулировки объема ресурсов таблицы в зависимости от указанного коэффициента загрузки, чтобы обеспечить высокую производительность приложения и снизить издержки. На странице цен подробно описано, как рассчитывается стоимость использования основных и дополнительных возможностей DynamoDB. Цены, действительные для регионов AWS в Китае, приведены здесь.

Ключевые понятия

Единица ресурса чтения (RCU). Каждый вызов API с целью чтения данных из таблицы является запросом на чтение. Запросы на чтение могут быть строго непротиворечивыми, потенциально непротиворечивыми или транзакционными. Для объектов объемом не более 4 КБ одна единица RCU позволяет выполнять один строго непротиворечивый запрос на чтение в секунду. Для объектов объемом более 4 КБ необходимы дополнительные единицы RCU. Для объектов объемом не более до 4 КБ одна единица RCU позволяет выполнять два потенциально непротиворечивых запроса на чтение в секунду. При транзакционных запросах на чтение для выполнения одной операции чтения в секунду требуются две единицы RCU для элементов объемом не более 4 КБ. Например, для выполнения строго непротиворечивого запроса на чтение объекта объемом 8 КБ необходимы две единицы RCU, для потенциально непротиворечивого запроса на чтение объекта объемом 8 КБ – одна единица RCU, для транзакционного запроса на чтение объекта объемом 8 КБ – четыре единицы RCU. Подробные сведения см. в разделе Read Consistency.

Единица ресурса записи (WCU). Каждый вызов API с целью записи данных в таблицу является запросом на запись. Для объектов объемом не более 1 КБ одна единица WCU позволяет выполнять один стандартный запрос на запись в секунду. Для объектов объемом более 1 КБ необходимы дополнительные единицы WCU. При транзакционных запросах на запись для выполнения одной операции записи в секунду требуются две единицы WCU для объектов объемом не более 1 КБ. Например, для выполнения стандартного запроса на запись объекта объемом 1 КБ требуется одна единица WCU, для стандартного запроса на запись объекта объемом 3 КБ – три WCU, а для транзакционного запроса на запись объекта объемом 3 КБ – шесть WCU.

Единица ресурса реплицируемой записи (rWCU). При использовании глобальных таблиц DynamoDB данные автоматически записываются в несколько указанных пользователем регионов AWS. Каждая операция записи выполняется в локальном регионе, а также в регионах репликации.

Единица запроса на чтение данных из потоков. Каждый вызов API GetRecords к DynamoDB Streams является единицей запроса на чтение данных из потоков. Одной единицы запроса на чтение данных из потоков достаточно для извлечения данных объемом до 1 МБ.

Запросы на транзакционное чтение или запись. В DynamoDB транзакционное чтение или запись отличается от стандартного чтения или записи тем, что все операции в составе одного набора транзакций гарантированно выполняются или не выполняются как один набор.

Единицы сбора данных об изменениях: DynamoDB может сохранять изменения на уровне элементов в таблицах DynamoDB и реплицировать их в другие сервисы AWS, такие как Amazon Kinesis Data Streams и AWS Glue Elastic Views. DynamoDB сохраняет такие изменения как делегированные операции, то есть DynamoDB от вашего имени выполнит все действия репликации, избавляя от управления пропускной способностью. DynamoDB начисляет плату за одну единицу сбора данных об изменениях за каждую операцию записи в таблицу (размером до 1 КБ). Для объектов, размер которых превышает 1 КБ, требуются дополнительные единицы сбора данных об изменениях.

Классы таблиц DynamoDB. В DynamoDB представлены два класса таблиц, позволяющие оптимизировать затраты. DynamoDB Standard является классом таблиц по умолчанию, который рекомендуется применять для подавляющего большинства рабочих нагрузок. Класс таблиц DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) оптимизирован для таблиц, хранящих данные, к которым обращаются нечасто, в ситуациях, когда на хранение приходится основная часть затрат. Для каждого класса таблиц предусмотрены разные цены на хранение данных, а также запросы на чтение и запись. Можно выбрать наиболее выгодный класс таблиц исходя из требований к хранилищу таблицы и моделей получения доступа к данным. Подробные сведения о классах таблиц DynamoDB см. на странице DynamoDB Developer Guide.


Обзор возможностей и тарификации использования DynamoDB

Возможность

Действие

Расчетная единица

Основные возможности

 

Выделенные ресурсы записи

Запись данных в таблицу

WCU

 

Выделенные ресурсы чтения

Чтение данных из таблицы

RCU

 

Хранилище данных

Хранение данных, в том числе индексных значений

Гигабайт в месяц

Дополнительные возможности

 

Непрерывное резервное копирование

Непрерывное поддержание резервных копий за последние 35 дней

ГБ в месяц

 

Резервное копирование по требованию

Создание резервных копий в виде снимков состояния на момент времени

ГБ в месяц

 

Восстановление из резервной копии

Восстановление таблицы из определенного снимка состояния или на указанный момент времени

Гигабайт

 

Глобальные таблицы

Репликация данных для создания таблицы на несколько регионов с несколькими активными серверами

rWCU

  Сбор данных об изменениях для Amazon Kinesis Data Streams Сбор данных об изменениях на уровне объекта во всех таблицах DynamoDB и их репликация в выбранный поток данных Kinesis Единица сбора данных об изменениях
  Сбор данных об изменениях для AWS Glue Elastic Views Сбор данных об изменениях на уровне элемента в таблице и репликация изменений в AWS Glue Elastic Views Единица сбора данных об изменениях
  Экспорт данных в Amazon S3 Экспорт резервных копий таблиц DynamoDB на конкретный момент времени в Amazon S3 Гигабайт

 

Accelerator DynamoDB (DAX)

Уменьшение задержки путем кэширования в памяти

Час работы узла

 

DynamoDB Streams

Предоставление упорядоченной по времени последовательности изменений в таблице на уровне объектов

Единица запроса на чтение данных из потоков

 

Передача исходящих данных

Передача данных в другие регионы AWS

Гигабайт

Подробная информация о ценах на возможности DynamoDB

  • • Запросы на чтение и запись

    Выделенные ресурсы

    При выборе режима выделенных ресурсов необходимо указать объем ресурсов чтения и записи, который может потребоваться приложению. Можно использовать Auto Scaling для автоматической регулировки объема ресурсов таблицы в зависимости от указанного коэффициента загрузки, чтобы обеспечить высокую производительность приложения и снизить издержки. DynamoDB считает каждую операцию записи в секунду (объемом до 1 КБ) за одну единицу WCU, а каждую операцию транзакционной записи – за две единицы WCU. В случае операций чтения DynamoDB считает каждую строго непротиворечивую операцию чтения в секунду за одну единицу RCU, каждую транзакционную операцию чтения в секунду – за две единицы RCU, а каждую потенциально непротиворечивую операцию чтения в секунду (объемом до 4 КБ) – за половину RCU. Плата взимается за ресурсы (чтение и запись), выделенные в таблице Amazon DynamoDB, даже если вы не используете их полностью. Цена на выделенные ресурсы зависит от класса таблиц. Фактическая производительность операций записи и чтения в таблицах DynamoDB может отличаться и оказаться меньше, чем возможности выделенных вами ресурсов.

    Зарезервированные ресурсы

    Зарезервированные ресурсы DynamoDB помогут вам сэкономить на распределении ресурсов путем принятия авансовых обязательств на базовом уровне распределенных ресурсов. Благодаря зарезервированным ресурсам вы вносите одноразовый авансовый платеж и подтверждаете обязательство использовать минимальный распределенный уровень ресурсов за определенный период времени. Зарезервированные ресурсы оплачиваются по пониженному почасовому тарифу. Любой объем ресурсов, который выделяется сверх зарезервированного, оплачивается по обычным расценкам на распределенные ресурсы. Зарезервированные ресурсы доступны только для одного региона и представляют собой расположенные в таблицах DynamoDB распределенные единицы ресурса для считывания и записи (RCU и WCU), которые используют стандартный класс таблиц DynamoDB Standard. Зарезервированные ресурсы недоступны для таблиц, которые используют класс DynamoDB Standard – IA или представляют собой ресурсы по требованию.

    Чтобы купить зарезервированные ресурсы DynamoDB, необходимо оформить запрос на Консоли управления AWS. Зарезервированные ресурсы приобретаются блоками по 100 WCU или 100 RCU. Вы не можете приобрести зарезервированные ресурсы для реплицированных WCU (rWCU). При покупке зарезервированных ресурсов необходимо выбрать их количество, регион AWS и продолжительность использования. Для начала вам необходимо внести одноразовый авансовый платеж. Затем в рамках выбранного вами периода плата будет начисляться за каждый час использования зарезервированных ресурсов DynamoDB. Чтобы использовать зарезервированные ресурсы DynamoDB, также необходимо оплачивать хранение, передачу данных и другие сервисы, как это указано в Пользовательском соглашении AWS или других документах, согласно которым мы предоставляем вам услуги.

  • • Хранилище данных

    Специально выделять хранилище не требуется. DynamoDB непрерывно следит за размером таблиц для расчета стоимости хранилища. DynamoDB измеряет объем данных, подлежащих оплате, путем сложения исходного размера ваших данных с дополнительным объемом, который зависит от включенных вами функций. Подробные сведения см. на странице DynamoDB User Guide. Цена носителя данных зависит от класса таблиц.

  • • Резервное копирование и восстановление

    DynamoDB предусматривает два способа резервного копирования данных таблиц. Непрерывное резервное копирование с восстановлением на момент времени (PITR) обеспечивает постоянное резервное копирование данных таблицы за последние 35 дней. Таблицу можно восстановить до состояния на любую конкретную секунду за предыдущие пять недель. При резервном копировании по требованию создаются снимки состояния таблицы, архивирование которых можно выполнять на более продолжительный период времени для обеспечения соответствия корпоративным стандартам и законодательным требованиям.

    Непрерывное резервное копирование с восстановлением на момент времени (PITR)

    PITR оплачивается в зависимости от размера каждой таблицы DynamoDB, для которой включена эта возможность (т. е. с учетом объема данных таблицы и локальных вторичных индексов). DynamoDB в течение месяца непрерывно отслеживает размер таблиц, для которых включено PITR, чтобы рассчитать плату за резервное копирование, и продолжает выставлять счет, пока PITR не будет отключено для каждой таблицы.

    Резервное копирование по требованию

    Резервное копирование по требованию оплачивается в зависимости от объема хранилища, выделяемого для таблицы DynamoDB (т. е. с учетом объема данных таблицы и локальных вторичных индексов). Размер каждой резервной копии определяется на момент запроса на резервное копирование. Общий размер хранилища резервных копий, за который выставляется счет каждый месяц, представляет собой сумму всех резервных копий таблиц DynamoDB. DynamoDB в течение месяца непрерывно следит за размером резервных копий, созданных по требованию, для расчета платы за резервное копирование.

    Вы можете использовать DynamoDB или AWS Backup для создания резервных копий по требованию и для управления ими. AWS Backup поможет централизовать и автоматизировать защиту данных в сервисах AWS. Кроме того, AWS Backup предлагает дополнительные возможности, такие как выполняемое по требованию дублирование резервных копий на другие аккаунты и в другие регионы, недорогое хранение, проставление тегов для резервных копий, а также шифрование резервных копий, которое выполняется независимо от исходных данных, что позволяет сохранить непрерывность соблюдения бизнес-требований и оптимизировать стоимость создания резервных копий. За передачу данных между регионами взимается дополнительная плата. Дополнительную информацию об этих тарифах см. в разделе Цены на AWS Backup.

    * Хранилище для «холодного» резервного копирования поддерживается для создания таких резервных копий по требованию, которые управляются исключительно AWS Backup. Вы можете предоставить согласие на использование AWS Backup с помощью Консоли управления AWS.
    Резервные копии в хранилище «холодных» данных хранятся не менее 90 дней. При удалении резервных копий до истечения 90‑дневного срока начисляется плата за хранение, пропорциональная оставшемуся сроку хранения.
     

    Восстановление таблиц

    Запрос на восстановление таблицы из резервной копии по требованию или PITR оплачивается в зависимости от общего объема восстановленных данных (данных таблицы, локальных и глобальных вторичных индексов).

    * Восстановление из хранилища для «холодного» резервного копирования поддерживается для таких резервных копий по требованию, которые управляются исключительно AWS Backup. Вы можете предоставить согласие на использование AWS Backup с помощью Консоли управления AWS. Хранилище для «холодных» резервных копий не применяется для непрерывных копий с возможностью восстановления на момент времени (PITR).

  • • Глобальные таблицы

    Плата за использование глобальных таблиц в DynamoDB взимается в зависимости от ресурсов, используемых в каждой реплике таблицы. Запросы на запись в глобальные таблицы измеряются в WCU на реплицируемую запись, а не в стандартных единицах WCU. Количество реплицированных WCU, которое потребовалось для репликации, зависит от версии используемых глобальных таблиц. Дополнительную информацию см. в разделе Best Practices and Requirements for Managing Global Tables. Цена зависит от класса таблиц. Стоимость запросов на чтение и хранение данных рассчитывается так же, как и для таблиц, которые не являются глобальными. Если добавляется реплика таблицы для создания или расширения глобальной таблицы в новых регионах, DynamoDB взимает плату за восстановление таблиц в добавленных регионах в зависимости от размера восстановленных данных в гигабайтах. За межрегиональную репликацию и добавление реплик в таблицы, которые содержат данные, также взимается плата за передачу данных. Подробнее см. в разделе «Передача данных» на этой странице цен.

  • • Сбор данных об изменениях для Amazon Kinesis Data Streams

    DynamoDB взимает плату за сбор данных об изменениях для Amazon Kinesis Data Streams, выраженную в единицах сбора данных об изменениях. DynamoDB начисляет плату за одну единицу сбора данных об изменениях за каждую операцию записи (размером до 1 КБ). Вы оплачиваете только те операции записи, которые выполняет приложение, не беспокоясь об управлении пропускной способностью для таблицы.

    Также при репликации изменений DynamoDB в поток данных Kinesis применяется плата за использование Kinesis Data Streams. Дополнительную информацию по этой теме можно найти в разделе Цены на Amazon Kinesis Data Streams

  • • Сбор данных об изменениях для AWS Glue Elastic Views

    DynamoDB взимает плату за сбор данных об изменениях для AWS Glue Elastic Views, выраженную в единицах сбора данных об изменениях. DynamoDB начисляет плату за одну единицу сбора данных об изменениях за каждую операцию записи (размером до 1 КБ). Вы оплачиваете только те операции записи, которые выполняет приложение, не беспокоясь об управлении пропускной способностью для вашей таблицы.

    При репликации изменений из DynamoDB в целевую базу данных AWS Glue Elastic Views применяется плата за использование AWS Glue Elastic Views. Дополнительную информацию по этой теме можно найти в разделе Цены на AWS Glue Elastic Views.

  • • Экспорт данных в Amazon S3

    Используйте эту функцию для экспорта данных из непрерывно создаваемых резервных копий DynamoDB (восстановление на момент времени) в Amazon Simple Storage Service (Amazon S3). Поддерживаемые форматы исходящих данных: DynamoDB JSON и Amazon Ion. Можно анализировать экспортированные данные с помощью таких сервисов AWS, как Amazon Athena, Amazon SageMaker и AWS Lake Formation.

    При использовании DynamoDB плата взимается за экспортированные данные в зависимости от размера каждой таблицы DynamoDB (данные таблицы и локальные вторичные индексы) в конкретный момент времени, когда была создана резервная копия.

    Дополнительная плата взимается за хранение экспортированных данных в Amazon S3 и запросы PUT к корзине Amazon S3. Дополнительную информацию об этих тарифах см. в разделе Цены на Amazon S3.

  • • Accelerator DynamoDB (DAX)

    Ресурсы DAX оплачиваются на почасовой основе, запуск инстансов DAX не требует принятия долгосрочных обязательств. Стоимость зависит от количества часов работы узла, а также от выбранного пользователем типа инстанса. Каждый частично использованный час работы узла оплачивается как полный. При начислении платы учитывается работа каждого отдельного узла в кластере DAX. Например, если используется кластер DAX с тремя узлами, необходимо будет оплатить работу каждого отдельного узла (то есть всех трех узлов) на почасовой основе.

    Плата за передачу данных между Amazon Elastic Compute Cloud (Amazon EC2) и DAX в рамках одной зоны доступности не взимается. При передаче данных между инстансом Amazon EC2 и узлом DAX в разных зонах доступности того же региона AWS применяется стандартная плата за передачу данных Amazon EC2. При этом плата начисляется только за входящий или исходящий трафик инстанса Amazon EC2. Отдельная плата за передачу данных DAX, т. е. за входящий и исходящий трафик узла DAX, не взимается.

    Инстансы T3 DAX работают в безлимитном режиме, то есть плата начисляется, если средняя загрузка ЦП в течение суток превышает базовый уровень инстанса. Кредиты ЦП оплачиваются по тарифу 0,096 USD за час работы виртуального ЦП. Цены на кредиты ЦП одинаковы для инстансов T3 любых размеров во всех регионах AWS.

  • • DynamoDB Streams

    Оплате подлежит только чтение данных из потоков DynamoDB Streams, измеренное в единицах запросов на чтение. Каждый вызов API GetRecords оплачивается как одна единица запроса на чтение данных из потоков и позволяет извлечь до 1 МБ данных из DynamoDB Streams. Единицы запроса на чтение данных из потоков отличаются от единиц запросов на чтение данных из таблицы DynamoDB. Плата не начисляется за вызовы API GetRecords, которые сервис AWS Lambda выполняет как часть триггеров DynamoDB. Не подлежат оплате и вызовы API GetRecords, выполняемые глобальными таблицами DynamoDB.

  • • Передача данных

    Передача входящих и исходящих данных – это передача данных в сервис DynamoDB и из него. За входящий трафик, а также за передачу данных между DynamoDB и другими сервисами AWS в пределах одного региона AWS плата не взимается (то есть цена составляет 0,00 USD за ГБ). Плата за передачу данных между регионами AWS (например, между DynamoDB в регионе Восток США [Сев. Вирджиния] и Amazon EC2 в регионе ЕС [Ирландия]) взимается с обеих сторон передачи. В рамках уровня бесплатного пользования AWS можно каждый месяц бесплатно передавать 1 ГБ исходящих данных совокупно для всех сервисов AWS, за исключением региона AWS GovCloud (США). Дополнительную информацию см. в разделе Уровень бесплатного пользования AWS. Если вам необходимо передавать более 500 ТБ данных в месяц, свяжитесь с нами.


Уровень бесплатного пользования DynamoDB

Уровень бесплатного пользования AWS позволяет получить бесплатный практический опыт работы с сервисами AWS. На уровне бесплатного пользования AWS доступны следующие преимущества DynamoDB. Каждое преимущество предоставляется на месяц для каждого региона и каждого аккаунта плательщика.

  • 25 единиц WCU и 25 единиц RCU выделенных ресурсов для таблиц, использующих класс таблиц класса DynamoDB Standard
  • 25 ГБ хранилища данных для таблиц, использующих класс таблиц DynamoDB Standard
  • 25 единиц rWCU для глобальных таблиц с развернутым классом таблиц DynamoDB Standard в двух регионах AWS
  • 2,5 миллиона запросов на чтение данных из потоков DynamoDB Streams
  • 1 ГБ исходящего трафика (15 ГБ за первые 12 месяцев) для всех сервисов AWS в совокупности

Примеры расчета стоимости DynamoDB

  • • Простой пример

    В следующем примере показано, как рассчитываются цены для таблицы с использованием Auto Scaling в режиме выделенных ресурсов. Auto Scaling непрерывно изменяет объем выделяемых ресурсов в соответствии с фактическим потреблением ресурсов таким образом, чтобы фактическая загрузка постоянно была приближена к целевой.

    Предположим, вы создаете новую таблицу DynamoDB Standard в регионе Восток США (Северная Вирджиния), при этом целевой уровень использования по умолчанию составляет 70 %, минимальное количество единиц ресурсов – 100 RCU и 100 WCU, а максимальное – 400 RCU и 400 WCU (см. раздел Limits in DynamoDB). Для удобства предположим, что при каждом взаимодействии пользователя с приложением выполняется одна операция записи 1 КБ данных и одна операция чтения 1 КБ строго непротиворечивых данных.

    Предположим, что в течение первых 10 дней количество потребляемых единиц RCU и WCU изменяется в диапазоне от 1 до 70. Auto Scaling не запускает какие‑либо действия по масштабированию, и плата за час составляет 0,078 USD (0,065 USD за 100 выделенных единиц WCU [0,00065 USD x 100] и 0,013 USD за 100 RCU [0,00013 USD x 100]).

    Теперь предположим, что на 11‑й день потребление ресурсов увеличивается до 100 RCU и 100 WCU. Auto Scaling начинает выполнять действия по масштабированию, чтобы увеличить объем выделенных ресурсов до 143 WCU и 143 RCU (100 потребляемых единиц / 143 выделенных = 69,9 %). Плата за час составляет 0,11109 USD (0,0925 USD за 143 WCU и 0,01859 USD за 143 RCU).

    Предположим, что на 21‑й день потребление ресурсов снижается до 80 RCU и 80 WCU. Auto Scaling начинает выполнять действия по масштабированию, чтобы уменьшить объем выделенных ресурсов до 114 WCU и 114 RCU (80 потребляемых единиц / 114 выделенных = 70,2 %). Плата за час составляет 0,08952 USD (0,0741 USD за 114 WCU и 0,01482 USD за 114 RCU).

    По итогам месяца будет начислена плата в размере 66,86 USD по следующему расчету.

    Дни 1–10: 18,72 USD (0,078 USD в час x 24 часа x 10 дней)

    Дни 11–20: 26,66 USD (0,11109 USD в час x 24 часа x 10 дней)

    Дни 21–30: 21,48 USD (0,08952 USD в час x 24 часа x 10 дней)

    Уровень бесплатного пользования AWS включает 25 единиц WCU и 25 единиц RCU для таблиц, использующих класс таблиц DynamoDB Standard, благодаря чему плата за месяц будет меньше на 14,04 USD.

    25 WCU x 0,00065 USD в час x 24 часа x 30 дней = 11,70 USD

    25 RCU x 0,00013 USD в час x 24 часа x 30 дней = 2,34 USD

    Хранение данных. Предположим, что таблица занимает 25 ГБ пространства хранилища в начале месяца и увеличивается до 29 ГБ к его концу. Ее средний объем составляет 27 ГБ согласно результатам непрерывного отслеживания размера таблицы. Поскольку в качестве класса таблицы выбран DynamoDB Standard, первые 25 ГБ хранящихся данных входят в уровень бесплатного пользования AWS. Остальные 2 ГБ хранилища оплачиваются из расчета 0,25 USD за 1 ГБ. Следовательно, хранение таблицы стоит 0,50 USD в месяц.

    Размер платы за месяц составит 53,32 USD, из которых 52,82 USD взимаются за ресурсы чтения и записи и 0,50 USD – за хранение данных.

  • • Развернутый пример

    В следующем примере показано, как рассчитываются цены для таблицы с использованием Auto Scaling в режиме выделенных ресурсов. Auto Scaling непрерывно изменяет объем выделяемых ресурсов в соответствии с фактическим потреблением ресурсов таким образом, чтобы фактическая загрузка постоянно была приближена к целевой.

    Предположим, вы создаете новую таблицу в регионе Восток США (Северная Вирджиния), при этом целевой уровень использования по умолчанию составляет 70 %, минимальное количество единиц ресурсов – 100 RCU и 100 WCU, а максимальное – 400 RCU и 400 WCU (см. Limits in DynamoDB). Auto Scaling будет работать с этими ограничениями, не позволяя масштабировать объем выделяемых ресурсов ниже минимального значения или выше максимального. После создания таблицы Auto Scaling начнет с выделения минимального количества единиц ресурсов. Для удобства предположим, что при каждом взаимодействии пользователя с приложением выполняется 1 операция записи 1 КБ данных и 1 операция чтения 1 КБ строго непротиворечивых данных.

    Предположим, что в течение первого часа после создания таблицы количество потребляемых единиц RCU и WCU изменяется в диапазоне от 1 до 70. Фактический уровень использования соответственно изменяется от 1 % (1 потребляемая единица ресурсов в процентах от 100 выделенных) до 70 % (70 потребляемых единиц ресурсов в процентах от 100 выделенных), то есть в пределах целевого уровня использования, равного 70 %. Auto Scaling не запускает какие‑либо действия по масштабированию, и плата за час составляет 0,078 USD (0,065 USD за 100 выделенных единиц WCU [0,00065 USD x 100] и 0,013 USD за 100 RCU [0,00013 USD x 100]).

    Предположим, что в течение второго часа потребляемый объем ресурсов увеличивается до 100 RCU и 100 WCU. Это приводит к увеличению фактического уровня использования до 100 % (100 потребляемых единиц ресурсов в процентах от 100 выделенных), что значительно превышает целевой уровень, равный 70 %. Auto Scaling начинает выполнять действия по масштабированию, чтобы увеличить объем выделенных ресурсов и приблизить фактическую загрузку к целевому уровню 70 %. В результате объем выделенных ресурсов составляет 143 WCU и 143 RCU (100 потребляемых единиц / 143 выделенных = 69,9 %). Плата за этот второй час составляет 0,1154 USD (0,09295 USD за 143 WCU и 0,01859 USD за 143 RCU).

    Предположим, что в течение третьего часа потребляемый объем ресурсов снижается до 80 RCU и 80 WCU. Это приводит к снижению фактического уровня использования до 56 % (80 потребляемых единиц ресурсов в процентах от 143 выделенных), что значительно ниже целевого уровня использования, равного 70 %. Auto Scaling начинает выполнять действия по масштабированию, чтобы сократить объем выделенных ресурсов и приблизить фактический уровень использования к целевым 70 %, в результате чего объем выделенных ресурсов сокращается до 114 RCU и 114 WCU (80 потребляемых единиц / 114 выделенных = 70,2 %). Плата за этот третий час составляет 0,08892 USD (0,0741 USD за 114 WCU и 0,01482 USD за 114 RCU).

    Для удобства предположим, что потребление ресурсов остается неизменным на уровне 80 RCU и 80 WCU. Для таблицы остается выделено 114 WCU и 114 RCU, и ежедневная плата составляет 2,1341 USD со следующей детализацией:

    114 WCU x 0,00065 USD в час x 24 часа = 1,7784 USD

    114 RCU x 0,00013 USD в час x 24 часа = 0,3557 USD

    Плата за месяц составит 64,04 USD по следующему расчету.

    Всего за 1‑й день: 2,14578 USD

    1‑й час: 0,078 USD

    2‑й час: 0,1154 USD

    Часы 3–24: 0,08892 USD в час

    Дни 2–30: 2,1341 USD в день

    Уровень бесплатного пользования AWS включает 25 единиц WCU и 25 единиц RCU для таблиц, использующих класс таблиц DynamoDB Standard, благодаря чему плата за месяц будет меньше на 14,04 USD.

    25 WCU x 0,00065 USD в час x 24 часа x 30 дней = 11,70 USD

    25 RCU x 0,00013 USD в час x 24 часа x 30 дней = 2,34 USD

    Хранение данных. Предположим, что таблица занимает 25 ГБ пространства хранилища в начале месяца и увеличивается до 29 ГБ к его концу. Ее средний объем составляет 27 ГБ согласно результатам непрерывного отслеживания размера таблицы. Поскольку в качестве класса таблицы выбран DynamoDB Standard, первые 25 ГБ хранящихся данных входят в уровень бесплатного пользования AWS. Остальные 2 ГБ хранилища оплачиваются из расчета 0,25 USD за 1 ГБ. Следовательно, хранение таблицы стоит 0,50 USD в месяц.

    Резервное копирование и восстановление. Если в сумме созданные по требованию резервные копии занимают 60 ГБ пространства и хранятся в течение 30 дней, стоимость хранения резервных копий за месяц составит (0,10 USD x 60 ГБ) = 6,00 USD в месяц. Однако в случае удаления 15 ГБ резервных копий по требованию через 10 дней после начала расчетного месяца стоимость хранения составит (0,10 USD x 60 ГБ) ‑ (0,10 USD x 15 ГБ x 20 / 30) = 5,00 USD в месяц.

    Далее предположим, что вместе с резервным копированием по требованию также используется непрерывное резервное копирование. Размер таблицы составляет 29 ГБ, поэтому стоимость за месяц составит (0,20 USD x 29 ГБ) = 5,80 USD в месяц.

    Если вам потребуется восстановить таблицу размером 29 ГБ один раз в течение месяца, это восстановление будет стоить (0,15 USD × 29 ГБ) = 4,35 USD.

    Сбор данных об изменениях для Kinesis Data Streams. Теперь предположим, что вы передаете данные в поток данных Kinesis для обработки данных об изменениях с помощью сервисов Amazon Kinesis. Также предположим, что ваша производительность записи соответствует предыдущему примеру. Ваше приложение выполняет 80 записей по 1 КБ в секунду. DynamoDB начисляет одну единицу сбора данных об изменениях за каждую операцию записи размером до 1 КБ, выполняемую в поток данных Kinesis. За месяц накопится (80 x 3 600 x 24 x 30) = 207 360 000 единиц сбора данных об изменениях. Цена за месяц составит (0,10 USD x 207 360 000/1 000 000) = 20,74 USD.

    Экспорт данных в Amazon S3. Допустим, вы хотите экспортировать резервные копии таблиц в Amazon S3 для проведения анализа. Если размер таблицы в конкретный момент времени составляет 29 ГБ, итоговая стоимость экспорта составит: (0,10 USD × 29 ГБ) = 2,90 USD.

    DynamoDB Accelerator (DAX). Допустим, вы решили, что необходимо увеличить время отклика приложения, и воспользовались DynamoDB Accelerator (DAX). Изучив доступные технические характеристики, вы остановили выбор на кластере инстансов t2.small с тремя узлами. Вы включили DAX на 26‑й день. Стоимость работы DAX составляет 0,12 USD в час (0,04 USD x 3 узла), что в сумме дает 14,40 USD за последние 5 дней месяца (0,12 USD x 120 часов).

    Глобальные таблицы. Предположим, что в регионе Запад США (Орегон) необходимо создать реплику таблицы для восстановления после аварии. Предположим, что реплика добавляется в регионе Запад США (Орегон), когда таблица приобретает размер 25 ГБ. В результате плата за восстановление таблицы составляет 3,75 USD (0,15 USD x 25ГБ). Кроме того, при добавлении этой реплики производится передача 25 ГБ данных, как указано в разделе «Передача данных» ниже. Также предположим, что ваши потребности в ресурсах соответствуют предыдущему примеру. Auto Scaling по‑прежнему выделяет 114 WCU и 114 RCU для обеспечения потребностей приложения в пропускной способности, но теперь также необходимо выделить rWCU для записи в обе реплики таблицы. Количество выделяемых единиц rWCU равняется общему количеству rWCU для выполнения операций записи приложения в двух регионах. В этом сценарии вы выполняете 80 операций записи в секунду в двух регионах – Восток США (Северная Вирджиния) и Запад США (Орегон). В результате минимальный объем выделенных ресурсов составляет 160 rWCU (80 rWCU в Северной Вирджинии + 80 rWCU в Орегоне = 160 rWCU). Auto Scaling выделяет 229 rWCU (160 rWCU/70 %) для поддержания фактической загрузки на целевом уровне 70 процентов от объема выделенных ресурсов. Дополнительную информацию см. в разделе Best Practices and Requirements for Managing Global Tables. Первые 25 rWCU, выделяемых каждый час в каждом регионе, входят в уровень бесплатного пользования AWS для таблиц, использующих класс таблиц DynamoDB Standard, в результате чего плата составляет 0,174525 USD в час или 125,66 USD в месяц (30 дней). Кроме того, в реплицированной таблице в регионе Запад США (Орегон) хранятся дополнительно 27 ГБ данных. Первые 25 ГБ хранящихся данных входят в уровень бесплатного пользования AWS в каждом регионе AWS для таблиц, использующих класс таблиц DynamoDB Standard. Остальные 2 ГБ хранилища оплачиваются из расчета 0,25 USD за 1 ГБ. Следовательно, хранение дополнительной таблицы стоит 0,50 USD в месяц.

    DynamoDB Streams. Теперь предположим, что вы включили DynamoDB Streams и настроили приложение таким образом, что каждую секунду оно выполняет один запрос на чтение данных из потоков. За месяц оно выполнит 2 592 000 запросов на чтение данных из потоков, первые 2 500 000 из которых предоставляются в рамках уровня бесплатного пользования AWS. Оплата взимается только за остальные 92 000 запросов на чтение по тарифу 0,02 USD за 100 000 единиц.

    Передача данных. Поскольку для развертывания глобальных таблиц данные передаются между регионами AWS, взимается плата за передачу исходящих данных DynamoDB. Входящий трафик не оплачивается. Если предположить, что каждую секунду совершается 80 операций записи и в каждой операции объем данных составляет 1 КБ, формируется поток передаваемых данных между регионами со скоростью 80 КБ/с. В результате за месяц будет передано 198 ГБ данных (80 КБ/с x 2 592 000 секунд в 30-дневном месяце). При добавлении реплики в регионе Запад США (Орегон) передается еще 25 ГБ данных. Если квота на передачу данных, предоставляемая в рамках уровня бесплатного пользования AWS, уже исчерпана другими сервисами AWS, то размер платы за передачу данных составит 20,07 USD (0,09 USD x (198 ГБ + 25 ГБ)).

    Всего за таблицу DynamoDB в одном регионе в месяц взимаются указанные ниже суммы.

    • Выделенные ресурсы: 50,00 USD
    • Хранилище данных: 0,50 USD
    • Резервное копирование по требованию: 5,00 USD
    • Непрерывное резервное копирование (PITR): 5,80 USD
    • Восстановление таблицы: 4,35 USD
    • Сбор данных об изменениях для Kinesis Data Streams: 20,74 USD
    • Экспорт данных в Amazon S3: 2,90 USD
    • DynamoDB Accelerator (DAX): 14,40 USD
    • DynamoDB Streams: 0,02 USD

    Общая стоимость: 103,71 USD

    После добавления региона Запад США (Орегон) ежемесячная плата за DynamoDB изменится указанным ниже образом.

    • Выделенные ресурсы чтения: 10,68 USD
    • Хранение данных (Северная Вирджиния): 0,50 USD
    • Резервное копирование по требованию: 5,00 USD
    • Непрерывное резервное копирование (PITR): 5,80 USD
    • Восстановление таблицы (Северная Вирджиния): 4,35 USD
    • Сбор данных об изменениях для Kinesis Data Streams: 20,74 USD
    • Экспорт данных в Amazon S3: 2,90 USD
    • DynamoDB Accelerator (DAX): 14,40 USD
    • DynamoDB Streams: 0,02 USD
    • Восстановление глобальной таблицы (Орегон): 3,75 USD
    • Ресурсы записи в реплицированные глобальные таблицы: 125,66 USD
    • Хранилище данных глобальных таблиц (Орегон): 0,50 USD
    • Передача данных: 20,07 USD

    Общая стоимость: 214,38 USD

  • • Пример использования различных классов таблиц

    В этом примере мы продемонстрируем, как можно сократить ежемесячные расходы на таблицы, используя класс таблиц DynamoDB, который лучше всего подходит для хранилища вашей таблицы и моделей получения доступа к данным. 

    Предположим, у вас есть таблица в регионе Восток США (Северная Вирджиния). Она занимает 1 ТБ данных за прошедший период. К этим данным обращаются не часто, однако пользователи должны иметь возможность быстро получать к ним доступ при необходимости. А теперь предположим, что объем хранящихся у вас данных вырос до 1,4 ТБ к концу месяца и в среднем составляет 1,2 ТБ согласно результатам непрерывного отслеживания размера таблицы. Для вашей таблицы существует постоянная прогнозируемая модель трафика. Следовательно, вы выделили 160 единиц WCU и 160 единиц RCU, учитывая, что в течение месяца использоваться будет не более 70 % выделенных ресурсов.

    Начнем с оценки ежемесячной платы за таблицу при использовании класса таблиц DynamoDB Standard. 

    Ежемесячная плата при использовании класса таблиц DynamoDB Standard

    Если в качестве класса таблицы задан DynamoDB Standard, плата будет взиматься описанным далее образом.

    Хранение данных. При использовании класса таблиц DynamoDB Standard первые 25 ГБ хранящихся данных входят в уровень бесплатного пользования AWS. Остальные 1,175 ГБ хранилища оплачиваются из расчета 0,25 USD за 1 ГБ. Следовательно, хранение таблицы стоит 293,75 USD за месяц.

    Выделенные ресурсы. Уровень бесплатного пользования AWS включает 25 единиц WCU и 25 единиц RCU для таблиц, использующих класс таблиц DynamoDB Standard. Плата будет взиматься по такому принципу:

    135 единиц WCU x 0,00065 USD в час x 24 часа x 10 дней = 63,18 USD за выделенные ресурсы записи;

    135 единиц RCU x 0,00013 USD в час x 24 часа x 10 дней = 12,63 USD за выделенные ресурсы для чтения.

    В общем, итоговая ежемесячная плата при использовании класса таблиц DynamoDB Standard будет выглядеть следующим образом.

    • Выделенные ресурсы: 75,82 USD.
    • Хранилище данных: 293,75 USD.

    Итоговая ежемесячная плата при использовании класса таблиц DynamoDB Standard оставит 369,57 USD.

    Ежемесячная плата при использовании класса таблиц DynamoDB Standard-IA

    Как указывалось ранее, при использовании класса таблиц DynamoDB Standard стоимость хранения составляет более чем 50 процентов от стоимости выделенных ресурсов. Если на хранение приходится основная часть затрат (более 50 процентов стоимости выделенных ресурсов) при использовании класса таблиц DynamoDB Standard, можно оптимизировать затраты, перейдя к использованию класса таблиц DynamoDB Standard-IA. Теперь предположим, что в начале следующего месяца при такой же рабочей нагрузке вы перешли к использованию класса таблиц DynamoDB Standard-IA. Плата будет взиматься описанным далее образом.

    Хранение данных. 1,2 ТБ хранилища оплачиваются из расчета 0,10 USD за 1 ГБ. Следовательно, хранение таблицы стоит 120,00 USD в месяц.

    Выделенные ресурсы. Плата будет взиматься по такому принципу:

    160 единиц WCU x 0,00081 USD в час x 24 часа x 10 дней = 92,16 USD за выделенные ресурсы записи;
    160 единиц RCU x 0,00016 USD в час x 24 часа x 10 дней = 18,43 USD за выделенные ресурсы для чтения.

    В общем, итоговая ежемесячная плата при использовании класса таблиц DynamoDB Standard-IA будет выглядеть следующим образом.

    • Выделенные ресурсы: 110,59 USD.
    • Хранилище данных: 120,00 USD.

    Итоговая ежемесячная плата при использовании класса таблиц DynamoDB Standard-IA оставит 230,59 USD. Благодаря переходу к использованию DynamoDB Standard-IA итоговая сумма платы за таблицу снизится на 37,6 %, или на 138,97 USD.

Дополнительные ресурсы по ценам

Калькулятор цен AWS

Простой расчет ежемесячных расходов на AWS

Получить консультацию о ценах

Связаться со специалистами AWS и получить индивидуальное предложение

Изображение веб‑страницы
Узнайте, как начать работу

Посмотрите видео и учебные пособия, зарегистрируйтесь для прохождения обучения.

Подробнее 
Изображение регистрации аккаунта
Зарегистрируйте бесплатный аккаунт

Получите мгновенный доступ к уровню бесплатного пользования AWS. 

Регистрация 
Изображение инструментов
Начать разработку в консоли

Начните разработку с помощью Amazon DynamoDB в Консоли управления AWS.

Войти