Amazon Web Services ブログ

Amazon Kinesis Data Streams On-Demand – キャパシティーを管理せずに大規模にデータをストリーミング

2021 年 11 月 30 日(米国時間)、新しいキャパシティーモードである Amazon Kinesis Data Streams On-demand をローンチしました。このキャパシティーモードでは、ストリーミングワークロードのキャパシティーのプロビジョニングと管理が不要になります

Kinesis Data Streams はフルマネージド型のサーバーレスサービスであり、ストリーミングされたデータを大規模にリアルタイムに処理します。Kinesis Data Streams は、任意の数のソースから任意の量のデータを取得し、必要に応じてスケールアップおよびスケールダウンできます。2013 年 11 月に Kinesis Data Streams を発表して以来、新しいデータストリームの作成は簡単です。 開始するには、ストリームのプロビジョニングに使用するシャードの数を指定するだけで済みます。

シャードは Kinesis Data Streams でキャパシティーを定義する方法です。各シャードは 1 Mb/秒と 1,000 レコード/秒で取り込み、出力は最大 2 MB/秒まで可能です。Kinesis Data Streams API を使用してストリームのシャードを追加または削除し、ワークロード全体のニーズに応じてストリームのキャパシティーを調整できます。これにより、プロデューサーアプリケーションとコンシューマーアプリケーションにスロットリングが発生しないようにすることができます。

お客様がデータストリーミングを広く採用するにつれて、データトラフィックが数分で数百万件増加するワークロードが一般的になってきています。このような不安定なトラフィックパターンに対して、お客様は慎重にキャパシティーを計画し、スループットをモニタリングし、Kinesis Data Streams ストリームのキャパシティーを自動的に変更するプロセスを開発する場合もあります。

Kinesis Data Streams On-demand モード
そのため、本日、Kinesis Data Streams On-demand を発表します。この新しいキャパシティーモードでは、ストリーミングデータ用のキャパシティーのプロビジョニングと管理が不要になります。Kinesis Data Streams On-demand を使用すると、データトラフィックの変化に応じてキャパシティーが自動的にスケーリングされます。ストリームへの書き込み、読み取り、保存を行うデータの 1 ギガバイトあたりの料金は、スループットごとに課金されます。

オンデマンドモードのデータストリームは、Kinesis Data Streams が既に提供しているものと同じ高い耐久性、高可用性、低レイテンシー、セキュリティを備え、AWS と緊密に統合されています。さらに、データを書き込んだり読み込んだりする新しい API はありません。既存の Kinesis Data Streams 統合はすべて、オンデマンドモードで動作します。

Kinesis Data Streams では、パーティションキーを使用してデータをシャードに分散します。そのため、Kinesis Data Streams On-demand を使用する場合、プロビジョニングモードを使って Kinesis Data Streams で現在行っているようにデータをデータストリームに書き込むには、各レコードにパーティションキーを指定する必要があります。Kinesis Data Streams On-Demand では、データストリームは不均一なデータ分散パターンを処理するように自動的に適応します。ただし、パーティションキーがシャードの制限を超えないように注意する必要があります。この場合、書き込みスロットルを受け取り、リクエストを再試行できます。

Kinesis Data Streams On-Demand を使用して新しいデータストリームを作成すると、そのデータストリームはデフォルトのキャパシティーである 4 MB/秒で作成され、1 秒あたり 4,000 レコードで書き込まれます。Kinesis Data Streams On-demand は、200 MB/秒、書き込みの場合は 1 秒あたり 200,000 レコードまで自動的にスケールアップできます。

Kinesis Data Streams On-Demand は、過去 30 日間に観測された以前のピーク書き込みスループットの最大 2 倍のスループットに対応します。データストリームの書き込みスループットが新たなピークに達すると、Kinesis Data Streams はストリームのキャパシティーを自動的にスケーリングします。

例えば、データストリームの書き込みスループットが 10 MB/秒 から 40 MB/秒 の間で変動する場合、Kinesis Data Streams はピークの 2 倍 (80 MB/秒) に簡単にバーストできるようにします。また、後で同じデータストリームで 50 MB/秒 という新しいピークに達した場合、Kinesis Data Streams は 100 MB/秒で取り込むのに十分なキャパシティーがあるようにします。ただし、15 分未満でトラフィックが以前のピークの 2 倍以上増加すると、書き込みスロットリングが発生する可能性があります。

Kinesis Data Streams On-demand はいつ使用すればよいか
オンデマンドモードは、ワークロードが不明または変動するお客様や、単にキャパシティーの管理を行いたくないお客様に最適です。オンデマンドモードは、パーティションキーが均等に分散されているワークロードに最適です。例えば、顧客がほとんど夜間または週末にプレイするため、週または日のトラフィックが変動するモバイルゲームを実行している場合がそれです。または、ライブショーをホストするストリーミングプラットフォームを運営していて、ゲストによっては需要が急増する場合です。

また、オンデマンドモードとプロビジョニングモードは 1 日に 2 回切り替えることができます。例えば、トラフィックが予測可能な E コマースサイトを運営しているとします。しかし、来月からは、世界中で多くのマーケティングキャンペーンが開始される予定でいます。それらがサイトのトラフィックに与える影響はわかりません。Kinesis Data Streams をオンデマンドモードに切り替えると、データストリームのキャパシティープランニングと管理を自動化できます。

Kinesis Data Streams On-demand の開始方法
Kinesis Data Streams On-demand を使用して、AWS コンソール、AWS SDKAWS Command Line Interface (CLI)、および AWS CloudFormation から新しいデータストリームを作成します。

コンソールから作成するには、Kinesis コンソールにアクセスし、[データストリームの作成] をクリックします。キャパシティーモードを選択するときは、[オンデマンド] を選択します。

データストアの作成

ページの最後には、新しいデータストリームの設定がすべて表示されます。これらの設定は、データストリームの作成後に変更できます。

データストリームの設定

では、これを実際に見てみましょう。
このデモでは、新しい Kinesis Data Streams 機能がどのように機能するかを説明します。この状況は、次の Amazon CloudWatch グラフを見てみると最もよくわかります。緑の線はストリームに正常に取り込まれたバイト数を表し、赤い線はスロットリングされたトラフィックの割合を示します。

まず、5 つのシャードでプロビジョニングされたストリームから始めます。最初の 3 分間は、4 MB/秒 の負荷を送信します。ストリームがロードを処理できることがわかります。

タイムスタンプ 21:19 では、負荷を 12 MB/秒 に増加させます。ストリームがロードを処理できなくなり、スロットルが開始されます (赤い線は、スロットリングされるリクエストの最大 60% まで上昇し始めます)。

プロビジョニングされたストリームの負荷を増やす

タイムスタンプ 21:23 に、ストリームキャパシティーをプロビジョニングモードからオンデマンドに変更します。ストリームに影響を与えることなく、オンザフライでこれを行うことができます。あるキャパシティーモードから別のキャパシティーモードに切り替えると、ストリームがロードを処理するのにわずかな時間しかかからないことがわかります。

数分後 (タイムスタンプ 21:24)、ストリームがスケールアップし始めると、スロットルが低下し始めます。ストリームキャパシティーは最初に 2 倍の 10 シャードになり (タイムスタンプ 21:26)、各シャードの負荷が 0.5 MB/秒 未満になるまでストリームのスケールアップが継続されます。このようにして、ストリームが突然 2 倍の負荷を受けた場合、ストリームはそれを処理できるキャパシティーになります。

オンデマンドモードに変更する

タイムスタンプ 21:26 では、ストリームの負荷は 18 MB/秒 に増加しています。緑の線が 350,000 レコードまで上昇しているのがわかります。スロットルはなく、ストリームはシャードが 40 個使える状態でこのデモを終了します。これは、ストリームが突然 40 MB/秒 の負荷を受け取った場合でも、問題なく処理できることを意味します。

負荷を増やす

今すぐご利用いただけます
Amazon Kinesis Data Streams On-demand は、すべての商用リージョンでグローバルにご利用いただけます。

キャパシティーモードの詳細については、「 Amazon Kinesis Data Streams デベロッパーガイド」を参照してください。

Marcia

原文はこちらです。