Amazon Kinesis Data Streams の用語と概念 - Amazon Kinesis Data Streams

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Kinesis Data Streams の用語と概念

Amazon Kinesis Data Streams の使用を開始すると、アーキテクチャと用語を理解していることが強みになります。

Kinesis Data Streams のアーキテクチャの概要

次の図に、Kinesis Data Streams のアーキテクチャの概要を示します。-プロデューサーKinesis データストリームに継続的にデータをプッシュし、消費者データをリアルタイムで処理します。コンシューマー (Amazon EC2 で実行されるカスタムアプリケーションや Amazon Kinesis Data Firehose 配信ストリームなど) は、AWSAmazon DynamoDB、Amazon Redshift、Amazon S3 などのサービス。


                Kinesis Data Streams のアーキテクチャの概要図

Kinesis Data Streams の用語

Kinesis Data Stream

あるKinesis データストリームの集合ですか破片。各シャードにはデータレコードのシーケンスがあります。各データレコードにはシーケンス番号Kinesis Data Streams によって割り当てられます。

データレコード

あるデータレコードはデータの単位はに保存されていますかKinesis データストリーム。データレコードはシーケンス番号、aパーティションキーと、データ BLOB (変更不可のバイトシーケンス) Kinesis Data Streams では、BLOB 内のデータを検査、解釈、または変更することはありません。データ BLOB は最大 1 MB です。

キャパシティモード

データストリームキャパシティモードキャパシティの管理方法と、データストリームの使用に対する課金方法を決定します。現在、Kinesis Data Streams では、オンデマンドモードとプロビジョニングされていますデータストリームのモード。詳細については、「データストリーム容量モードの選択」を参照してください。

の使用オンデマンドモードでは、必要なスループットを提供するために Kinesis Data Streams がシャードを自動的に管理します。使用した実際のスループットに対してのみ課金されます。Kinesis Data Streams は、ワークロードのスループットニーズが上昇または低下したときに自動的に対応します。詳細については、「オンデマンドモード」を参照してください。

の使用プロビジョニングされていますモードでは、データストリームのシャード数を指定する必要があります。データストリームの総容量は、シャードの容量の合計です。必要に応じて、データストリームのシャード数を増減できます。シャード数に対して時間単位で課金されます。詳細については、「プロビジョニングモード」を参照してください。

保持期間

保持期間は、データレコードがストリームに追加された後にデータレコードにアクセスできる時間の長さです。ストリームの保持期間は、デフォルトで作成後 24 時間に設定されます。保持期間を最長8760時間 (365日)IncreaseStreamRetentionPeriodまた、を使用して保持期間を最短 24 時間まで減らしますDecreaseStreamRetentionPeriodオペレーション. 24 時間を超える保持期間が設定されたストリームには追加料金が適用されます。詳細については、Amazon Kinesis Data Streams の料金表を参照してください。

プロデューサー

プロデューサーAmazon Kinesis Data Streams にレコードを配置します。たとえば、ストリームにログデータを送信するウェブサーバーはプロデューサーです。

コンシューマー

コンシューマーAmazon Kinesis Data Streams からレコードを取得して処理します。これらのコンシューマーは Amazon Kinesis Data Streams アプリケーション と呼ばれます。

Amazon Kinesis Data Streams アプリケーション

AnAmazon Kinesis Data Streams アプリケーションはストリームのコンシューマーで、一般的に複数の EC2 インスタンスで実行されます。

開発可能なコンシューマーには、共有ファンアウトコンシューマーと拡張ファンアウトコンシューマーの 2 種類あります。両者間の相違点を確認する方法、各種類のコンシューマーを作成する方法については、「Amazon Kinesis Data Streams からのデータの読み取り」を参照してください。

Kinesis Data Streams アプリケーションの出力を別のストリームに入力することで、リアルタイムにデータを処理する複雑なトポロジを作成できます。アプリケーションは、さまざまな他のアプリケーションにデータを送信することもできます。AWSのサービス。複数のアプリケーションが 1 つのストリームを使用して、各アプリケーションが同時にかつ独立してストリームからデータを消費できます。

シャード

シャードは、ストリーム内の一意に識別されたデータレコードのシーケンスです。ストリームは複数のシャードで構成され、各シャードが容量の 1 単位になります。各シャードは、読み取りに対して最大 5 つのトランザクションをサポートできます。最大総データ読み取りレートは 2 MB /秒、書き込みの場合は最大 1,000 レコード/秒、最大 1 MB /秒(パーティションキーを含む)のデータ書き込みレート(パーティションキーを含む)です。ストリームのデータ容量は、ストリームに指定したシャードの数によって決まります。ストリームの総容量はシャードの容量の合計です。

データ転送速度が増加した場合、ストリームに割り当てられたシャード数を増やしたり、減らしたりできます。詳細については、「ストリームをリシャーディングする」を参照してください。

パーティションキー

あるパーティションキーは、ストリーム内のデータをシャード単位でグループ化するために使用されます。Kinesis Data Streams は、ストリームに属するデータレコードを複数のシャードに配分します。この際、各データレコードに関連付けられたパーティションキーを使用して、配分先のシャードを決定します。パーティションキーは Unicode 文字列で、各キーの最大長は 256 文字に制限されています。MD5 ハッシュ関数を使用して、パーティションキーを 128 ビットの整数値にマッピングし、関連付けられたデータレコードをシャードにマッピングします。後者のマッピングにはシャードのハッシュキー範囲を使用します。アプリケーションは、ストリームにデータを配置するときに、パーティションキーを指定する必要があります。

シーケンス番号

各データレコードにはシーケンス番号これは、シャード内のパーティションキーごとに一意です。を使用してストリームに書き込むと、Kinesis Data Streams によってシーケンス番号が割り当てられます。client.putRecordsまたはclient.putRecord。同じパーティションキーのシーケンス番号は、通常徐々に増加されます。書き込みリクエスト間の期間が長くなるほど、シーケンス番号は大きくなります。

注記

シーケンス番号は、同じストリーム内の一連のデータのインデックスとして使用することはできません。一連のデータを論理的に区別するには、パーティションキーを使用するか、データセットごとに個別のストリームを作成します。

Kinesis クライアントライブラリ

Kinesis Client Library はアプリケーションにコンパイルされ、フォールトトレラントにストリームからデータを消費できます。Kinesis Client Library によって、シャードごとにその実行と処理用のレコードプロセッサが確保されます。また、ストリームからのデータの読み取りが簡素化されます。Kinesis クライアントライブラリは、Amazon DynamoDB テーブルを使用してコントロールデータを保存します。また、データを処理するアプリケーションごとに 1 つのテーブルを作成します。

Kinesis Client Library のメジャーバージョンは 2 種類あります。使用するバージョンは、作成するコンシューマーの種類によって異なります。詳細については、「Amazon Kinesis Data Streams からのデータの読み取り」を参照してください。

アプリケーション名

Amazon Kinesis Data Streams アプリケーションの名前によって、アプリケーションが識別されます。各アプリケーションには、スコープが指定された一意の名前が必要です。AWSアプリケーションで使用されるアカウントとリージョン。この名前は、Amazon DynamoDB ではコントロールテーブルの名前として、Amazon では名前空間名として使用されます。CloudWatchメトリクス。

サーバー側の暗号化

Amazon Kinesis Data Streams は、プロデューサーがストリームに入力するときに、機密データを自動的に暗号化できます。Kinesis Data Streams はAWS KMS暗号化用のマスターキー。詳細については、「Amazon Kinesis Data Streams のデータ保護」を参照してください。

注記

暗号化されたストリームに対して読み書きを行うために、プロデューサーおよびコンシューマーアプリケーションにはマスターキーへのアクセス許可が必要です。プロデューサーおよびコンシューマーアプリケーションにアクセス許可を付与する方法については、「ユーザー生成 KMS マスターキーを使用するためのアクセス許可」を参照してください。

注記

サーバー側の暗号化を使用すると、AWS Key Management Service (AWS KMS) の料金が発生します。詳細については、「」を参照してください。AWSKey Management Service