Amazon Web Services ブログ

Amazon Kinesis Data Streams の On-demand Advantage モード – スループットの即時増加とスケーラブルなストリーミング

本記事は 2025 年 11 月 3 日 に公開された「Amazon Kinesis Data Streams launches On-demand Advantage for instant throughput increases and streaming at scale」を翻訳したものです。

本日、AWS は Amazon Kinesis Data Streams の新しい On-demand Advantage モードを発表しました。ウォームスループット機能と新しい料金体系により、トラフィック急増時に即座にスケーリングしながら、安定したストリーミングワークロードのコストを最適化できます。On-demand Advantage モードは、合計 10 MiB/s 以上のデータを取り込むユースケースや、AWS リージョン内に数百のデータストリームがある場合にコスト効率の高い選択肢です。

本記事では、主なユースケース、設定オプション、料金に関する考慮事項、パフォーマンス最適化のベストプラクティスを紹介します。

実際のユースケース

ストリーミングデータの量が増え、ユースケースが多様化するにつれて、ストリーミングワークロードでは次の 2 つの課題に直面することがあります。

課題 1: トラフィックスパイクへの備え

多くの企業では、製品リリース、コンテンツ公開、ホリデーセールなどのイベント時に、予測可能ではあるものの大幅なトラフィック急増が発生します。オンデマンドキャパシティモードでトラフィックスパイクに備えるには、いくつかの手順が必要でした。

  • プロビジョンドモードへの切り替え
  • 予想されるピーク需要に基づくシャード数の手動見積もりと増加
  • スケーリング操作の完了待ち
  • その後のオンデマンドモードへの復帰

モード切り替えプロセスは時間がかかり、慎重な計画が必要で、運用が複雑になっていました。お客様はモード切り替えの運用負荷を受け入れるか、事前にキャパシティを過剰にプロビジョニングするか、データ取り込みの信頼性が最も重要なビジネスクリティカルな期間にスロットリングのリスクを負うか、いずれかを選択せざるを得ませんでした。

課題 2: 安定したワークロードのコスト最適化

大規模で安定したストリーミングワークロードを持つ組織は、オンデマンドストリームのシンプルさとスケーラビリティを維持しながらコストを最適化したいと考えていました。オンデマンドキャパシティモードは変動するデータトラフィックに適していますが、大量のストリーミングワークロードをより経済的に処理する方法が求められていました。

On-demand Advantage は上記 2 つの課題を解決します。オンデマンドストリームのウォーム機能と新しい料金体系を提供します。On-demand Advantage モードでは、ストリームごとの固定料金がなくなり、スループット使用量がより低い料金で課金されます。唯一の要件は、アカウントが少なくとも 25 MiB/s のデータ取り込みと 25 MiB/s のデータ取得の使用量にコミットすることです。

今回のリリースにより、さまざまな業界でデータストリーミングが改善されます。

  • オンラインゲーム企業は、モード切り替えやシャード要件の手動計算といった煩雑なプロセスなしに、ゲームリリースに向けてストリームを準備できます
  • メディア・エンターテインメントプロバイダーは、大規模なコンテンツリリースやライブイベント時にスムーズなデータ取り込みをサポートできます
  • E コマースサービスは、ベースラインワークロードのコストを最適化しながら、ホリデーセールのトラフィックを処理できます

即時スケーリングとコスト効率を組み合わせることで、パフォーマンスや予算を犠牲にすることなく、予測可能なトラフィック急増と安定したストリーミング量の両方を管理できます。

仕組み

On-demand Advantage モードの主な機能は、ウォームスループットとコミット使用量料金です。

ウォームスループット

On-demand Advantage モードを有効にすると利用できるウォームスループット機能では、Kinesis Data Streams のオンデマンドストリームに最大 10 GiB/s のスループットを即時利用できるよう設定できます。モード切り替えやシャード要件の手動計算といった煩雑なプロセスなしに、予想されるピークトラフィックイベントに向けてオンデマンドストリームを事前に準備できます。主なメリットは次のとおりです。

  • ピークイベントに備えてトラフィック急増をスムーズに処理
  • カスタムスケーリングソリューションの構築が不要
  • 必要に応じてウォームスループットを超えて最大 10 GiB/s または毎秒 1,000 万イベントまで自動スケーリング
  • ウォームキャパシティの維持に追加料金なし

コミット使用量料金

On-demand Advantage モードを有効にすると、オンデマンドストリームの課金がストリーム時間料金を廃止した新しい体系に切り替わり、スループット使用量が少なくとも 60% 割引されます。米国東部 (バージニア北部) の料金に基づくと、データ取り込みは 60% 低下、データ取得は 60% 低下、Enhanced Fan-Out データ取得は 68% 低下、延長保持は 77% 低下します。その代わり、25 MiB/s のストリーミングを少なくとも 24 時間コミットする必要があります。実際の使用量が少なくても、この設定を有効にすると最低 25 MiB/s のスループットが割引料金で課金されます。全体として、大幅な割引により、On-demand Advantage は合計 10 MiB/s 以上を取り込むユースケース、3 つ以上のコンシューマーアプリケーションにファンアウトするユースケース、AWS リージョン内に数百のデータストリームがある場合にコスト効率が高くなります。

使い始める

On-demand Advantage モードの使用を開始するには、以下の手順に従います。

On-demand Advantage モードの有効化

On-demand Advantage モードの使用を開始するには:

AWS マネジメントコンソールの場合

  1. Kinesis Data Streams コンソールに移動します
  2. Account Settings タブに移動します
  3. Edit billing mode を選択します
  4. On-demand Advantage オプションを選択します
  5. I acknowledge this change cannot be reverted for 24 hours のチェックボックスを選択します
  6. Save changes を選択します

on-demand-billing-mode

AWS CLI の場合

次の CLI コマンドを実行して、最小スループット課金コミットメントを有効にできます。

aws kinesis update-account-settings \
--minimum-throughput-billing-commitment Status=ENABLED

AWS SDK の場合

SDK を使用して最小スループット課金コミットメントを有効にできます。次の Python の例を参照してください。

import boto3

client = boto3.client('kinesis')
response = client.update_account_settings(
    MinimumThroughputBillingCommitment={"Status": "ENABLED"}
)

有効にすると、最低 24 時間この料金モードにコミットされます。24 時間経過後はいつでもオプトアウトできます。

ウォームスループットの設定

Kinesis Data Streams オンデマンドでウォームスループットの使用を開始するには:

AWS マネジメントコンソールの場合

  1. Kinesis Data Streams コンソールに移動します
  2. ストリームを選択し、Configuration タブに移動します
  3. Warm Throughput の横にある Edit を選択します
  4. 希望するウォームスループット (最大 10 GiB/s) を設定します
  5. 変更を保存します

AWS CLI の場合

次の CLI コマンドを実行してウォームスループットを有効にできます。

aws kinesis update-stream-warm-throughput \
  --stream-name MyStream \
  --warm-throughput-mi-bps 1000

AWS SDK の場合:

SDK を使用してウォームスループットを有効にできます。次の Python の例を参照してください。

import boto3

client = boto3.client('kinesis')
response = client.update_stream_warm_throughput(
    StreamName='MyStream',
    WarmThroughputMiBps=1000
)

既存の CreateStream API を使用してウォームスループット付きの新しいオンデマンドストリームを作成したり、データストリームをプロビジョンドモードから On-demand Advantage モードに変換する際にウォームスループットを設定したりすることもできます。

スロットリングの回避とパフォーマンス最適化のベストプラクティス

ウォームスループットを使用する際は、キャパシティの管理方法を理解することが重要です。各ストリームは設定されたウォームスループットレベルまでのトラフィックを即座に処理でき、必要に応じてそれを超えて自動的にスケーリングします。

ウォームスループットで最適なパフォーマンスを得るには:

  1. 均一に分散されたパーティションキー戦略を使用して、レコードをシャード全体に均等に分散し、ホットスポットを回避します。ウォームスループットの設定値に関係なく、パーティションキーごとに最大 1 MiB/s のデータしか取り込めないため、パーティションキー戦略を慎重に検討してください。
  2. スループットメトリクスを監視して、実際の使用パターンに基づいてウォームスループット設定を調整します。
  3. プロデューサーアプリケーションにバックオフとリトライロジックを実装して、スロットリングに備えます。

コミット使用量料金でコストを最適化するには:

  1. 日次スループットを分析して、少なくとも 10 MiB/s であることを確認します。
  2. オンデマンドストリームの割引メリットを最大化するために、組織全体でストリームの統合を検討します。
  3. コスト効率の高いデータ取得には Enhanced Fan-Out を使用 – 専用スループットが必要なアプリケーションには Enhanced Fan-Out コンシューマーを使用します。Advantage モードではデータ取得コストが 68% 低下します。

ウォームスループットの動作確認

ウォームスループットの動作を示すために、AWS アカウントでコミット料金を有効にし、「KDS-OD-STANDARD」と「KDS-OD-WARM-TP」の 2 つのオンデマンドストリームを作成しました。「KDS-OD-WARM-TP」ストリームには 100 MiB/s のウォームスループットを設定し、「KDS-OD-STANDARD」はウォームスループットなしの通常のオンデマンドストリームのままにしました。次のスクリーンショットのとおりです。

od-standard-warm-streams

実験では、まず「KDS-OD-STANDARD」と「KDS-OD-WARM-TP」の両方のストリームに約 2 MiB/s のトラフィック取り込みをシミュレートしました。パーティションキーとして UUID を使用し、Kinesis Data Streams のシャード全体にトラフィックを均等に分散させ、結果を歪める可能性のあるホットスポットを防止しました。ベースラインを確立した後、10 分以内に取り込みトラフィックを約 28 MiB/s に増加させました。さらに、最初の増加から 15 分以内にトラフィックを 60 MiB/s 超に引き上げました。次のスクリーンショットのとおりです。

streams-ingest-mb-second-metric

次のグラフは、「KDS-OD-STANDARD」と「KDS-OD-WARM-TP」の ThrottledRecords CloudWatch メトリクスを示しています。ウォームスループットを有効にしたストリーム (「KDS-OD-WARM-TP」) は、100 MiB/s のウォームスループットが設定されていたため、両方のトラフィックスパイクでスロットリングが発生しませんでした。一方、標準のオンデマンドストリーム (「KDS-OD-STANDARD」) は、最初にトラフィックを 14 倍に増加させた時と、その後 2 倍に増加させた時にスロットリングが発生し、最終的にスケーリングしてスロットリングがゼロに戻りました。今回の実験から、ウォームスループットでピーク使用時に即座に備え、突然のトラフィック増加時のスロットリングを回避できることがわかります。

streams-throttle-metrics

まとめ

本記事で紹介したように、Amazon Kinesis Data Streams の新しい On-demand Advantage モードは、さまざまな規模の組織にメリットがあります。

  • 即時スケーリング – 過剰プロビジョニングなしに予測可能なトラフィック急増に対応
  • コスト最適化 – 安定したストリーミングワークロードに少なくとも 60% の割引
  • 運用の簡素化 – キャパシティモードの切り替えが不要
  • 柔軟性の向上 – 予測可能なトラフィックパターンと予期しないトラフィックパターンの両方に対応

On-demand Advantage モードにより、さまざまな規模でリアルタイムストリーミングアプリケーションを構築・運用できます。Kinesis Data Streams は、スケーラビリティ、パフォーマンス、コスト効率をバランスよく実現します。

On-demand Advantage モードの詳細については、Amazon Kinesis Data Streams のドキュメントをご覧ください。

著者について

Roy (KDS) Wang

Roy (KDS) Wang

Roy は、Amazon Kinesis Data Streams のシニアプロダクトマネージャーです。お客様との協業を通じて、組織がより速く、よりスマートに運営できるよう支援しています。仕事以外では、息子の良い父親であることを目指し、プラモデルを作っています。

Pratik Patel

Pratik Patel

Pratik は、シニア Technical Account Manager でストリーミング分析のスペシャリストです。AWS のお客様と連携し、ベストプラクティスを活用したソリューションの計画と構築を支援するとともに、お客様の AWS 環境の運用状態を健全に保つための技術ガイダンスを提供しています。

Umesh Chaudhari

Umesh Chaudhari

Umesh は、AWS のシニアストリーミング Solutions Architect です。お客様と連携してリアルタイムデータ処理システムの設計と構築を行っています。データ分析システムのアーキテクチャ設計、設計、開発を含むソフトウェアエンジニアリングの豊富な経験があります。仕事以外では、旅行やテクノロジートレンドのフォローを楽しんでいます。

Simon Peyer

Simon Peyer

Simon は、スイスを拠点とする AWS の Solutions Architect です。AWS クラウドサービスを使用してテクノロジーと人をつなぐことに情熱を持っています。特にデータストリーミングと自動化に注力しています。仕事以外では、家族との時間や山でのハイキングを楽しんでいます。


この記事は Kiro が翻訳を担当し、Solutions Architect の Takayuki Enomoto がレビューしました。