翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
専用スループットを備えた拡張ファンアウトを開発する
Amazon Kinesis Data Streams では、拡張ファンアウトと呼ばれる機能を使用するコンシューマーを構築できます。この機能により、コンシューマーは、シャードあたり 1 秒間に最大 2 MB のデータのスループットで、ストリームからレコードを受け取ることができます。このスループットは専用です。つまり、拡張ファンアウトを使用するコンシューマーは、ストリームからデータを受け取る他のコンシューマーと競合する必要がありません。Kinesis Data Streams は、ストリームのデータレコードを、拡張ファンアウトを使用するコンシューマーに送信します。そのため、これらのコンシューマーはデータをポーリングする必要はありません。
重要
オンデマンドアドバンテージモードでは、ストリームごとに最大 50 のコンシューマーを登録して、拡張ファンアウトを使用できます。オンデマンドの標準ストリームとプロビジョンドストリームでは、ストリームごとに最大 20 のコンシューマーを登録して、拡張ファンアウトを使用できます。
拡張ファンアウトのアーキテクチャを以下の図に示します。バージョン 2.0 以降の Amazon Kinesis Client Library (KCL) を使用してコンシューマーを構築する場合、KCL は拡張ファンアウトを使用してストリームのすべてのシャードからデータを受け取るように、コンシューマーを設定します。API を使用して、拡張ファンアウトを使用するコンシューマーを構築する場合は、シャードを個別にサブスクライブできます。
図に示す内容は以下のとおりです。
-
2 つのシャードを持つストリーム。
-
ストリームからデータを受信するために拡張ファンアウトを使用する 2 つのコンシューマー (コンシューマー X とコンシューマー Y)。2 つのコンシューマーはそれぞれ、ストリームのすべてのシャードとすべてのレコードにサブスクライブされています。バージョン 2.0 以降の KCL を使用してコンシューマーを構築する場合、KCL は自動的に、ストリームのすべてのシャードにコンシューマーをサブスクライブします。これに対し、API を使用してコンシューマーを構築する場合は、シャードを個別にサブスクライブできます。
-
コンシューマーがストリームからデータを受け取るために使用する拡張ファンアウトパイプを表す矢印。拡張されたファンアウトパイプは、シャードあたり最大 2 MB/秒 のデータを送信します。他のパイプやコンシューマーの総数は関係ありません。
トピック
共有スループットコンシューマーと拡張ファンアウトコンシューマーの違い
次の表は、デフォルトの共有スループットコンシューマーと、拡張ファンアウトコンシューマーを比較したものです。メッセージ伝達遅延時間は、ペイロードを送信する API (PutRecord や PutRecords) を使用して送信されたペイロードが、ペイロードを消費する API (GetRecords や SubscribeToShard) を経由してコンシューマーアプリケーションに到達するまでにかかった時間 (ミリ秒) として定義されます。
| 特性 | 拡張ファンアウトなしの共有スループットコンシューマー | 拡張ファンアウトコンシューマー |
|---|---|---|
| 読み取りスループット |
シャードあたり合計 2 MB/秒に固定されています。同じシャードから読み取るコンシューマーが複数ある場合、それらのすべてがこのスループットを共有します。コンシューマーがシャードから受け取るスループットの合計が 2 MB/秒を超えることはありません。 |
拡張ファンアウトを使用するコンシューマーが登録されるにつれてスケールされます。拡張ファンアウトを使用するように登録された各コンシューマーは、他のコンシューマーとは関係なく、シャードあたりに受け取る独自の読み取りスループットが最大 2 MB/秒です。 |
| メッセージの伝播遅延 |
ストリームから読み取るコンシューマーが 1 つの場合は平均約 200 ms です。コンシューマーが 5 つの場合、この平均は最大約 1,000 ms まで上がります。 |
コンシューマーが 1 つまたは 5 つかによって、一般的に平均 70 ms です。 |
| Cost | 該当しない |
データ取得コストおよびコンシューマー - シャード時間料金がかかります。詳細については、「Amazon Kinesis Data Streams の料金 |
| レコードの配信モデル |
GetRecords を使用した HTTP 経由のプルモデルです。 |
Kinesis Data Streams は、SubscribeToShard を使用して、HTTP/2 経由でレコードをプッシュします。 |
最大 50 の拡張ファンアウトコンシューマーでサポートされているリージョン (オンデマンド Advantage のみ)
オンデマンドアドバンテージモードで最大 50 の拡張ファンアウトコンシューマーのサポートは、次の AWS リージョンでのみ使用できます。
| AWS リージョン | リージョン名 |
|---|---|
|
eu-north-1 |
欧州 (ストックホルム) |
|
me-south-1 |
中東 (バーレーン) |
|
ap-south-1 |
アジアパシフィック (ムンバイ) |
|
eu-west-3 |
欧州 (パリ) |
|
ap-southeast-3 |
アジアパシフィック (ジャカルタ) |
|
us-east-2 |
米国東部 (オハイオ) |
|
af-south-1 |
アフリカ (ケープタウン) |
|
eu-west-1 |
欧州 (アイルランド) |
|
me-central-1 |
中東 (アラブ首長国連邦) |
|
eu-central-1 |
欧州 (フランクフルト) |
|
sa-east-1 |
南米 (サンパウロ) |
|
ap-east-1 |
アジアパシフィック (香港) |
|
ap-south-2 |
アジアパシフィック (ハイデラバード) |
|
us-east-1 |
米国東部 (バージニア北部) |
|
ap-northeast-2 |
アジアパシフィック (ソウル) |
|
ap-northeast-3 |
アジアパシフィック (大阪) |
|
eu-west-2 |
欧州 (ロンドン) |
|
ap-southeast-4 |
アジアパシフィック (メルボルン) |
|
ap-northeast-1 |
アジアパシフィック (東京) |
|
us-west-2 |
米国西部 (オレゴン) |
|
us-west-1 |
米国西部 (北カリフォルニア) |
|
ap-southeast-1 |
アジアパシフィック (シンガポール) |
|
ap-southeast-2 |
アジアパシフィック (シドニー) |
|
il-central-1 |
イスラエル (テルアビブ) |
|
ca-central-1 |
カナダ (中部) |
|
ca-west-1 |
カナダ西部 (カルガリー) |
|
eu-south-2 |
欧州 (スペイン) |
|
cn-northwest-1 |
中国 (寧夏) |
|
eu-central-2 |
欧州 (チューリッヒ) |
| us-gov-east-1 | AWS GovCloud (米国東部) |
| us-gov-west-1 | AWS GovCloud (米国西部) |