Amazon Kinesis Data Streams
開発者ガイド

データストリームの作成および更新

Amazon Kinesis Data Streams は、大量のデータをリアルタイムで取り込み、そのデータを永続的に保存して、消費できるようにします。Kinesis Data Streams によって保存されるデータの単位は、データレコードです。データストリームは、データレコードのグループを表します。データストリームのデータレコードはシャードに配分されます。

シャードには、ストリーム内のデータレコードのシーケンスです。ストリームを作成するときに、ストリームのシャード数を指定します。ストリームの総容量はシャードの容量の合計です。必要に応じて、ストリームのシャードの数を増減することができます。ただし、シャード単位で請求されます。シャードの容量と制限の詳細については、「Kinesis Data Streams の制限」を参照してください。

プロデューサーはシャードにデータレコードを送信し、コンシューマーはシャードからデータレコードを取得します。

Kinesis Data Stream の初期サイズを決定する

ストリームの作成前に、ストリームの初期サイズを決定する必要があります。ストリームを作成したら、AWS マネジメントコンソール または UpdateShardCount API を使用して、シャード容量を動的にスケールアップ/ダウンできます。ストリームからデータを消費する Kinesis Data Streams アプリケーションがある間は、更新することができます。

ストリームの初期サイズを決定するには、以下の入力値が必要です。

  • ストリームに書き込まれるデータレコードの平均サイズ (近似の KB 単位まで切り上げられます)。つまり、データサイズ (average_data_size_in_KB) です。

  • 1 秒間にストリームで読み書きされるデータレコードの数 (records_per_second) です。

  • ストリームのデータを同時に (相互に依存することなく) 消費する Kinesis Data Streams アプリケーションつまりコンシューマーの数 (number_of_consumers) です。

  • KB 単位での受信書き込み帯域幅 (incoming_write_bandwidth_in_KB)。average_data_size_in_KBrecords_per_second に乗算した値に等しくなります。

  • KB 単位の送信読み取り帯域幅 (outgoing_read_bandwidth_in_KB)。incoming_write_bandwidth_in_KBnumber_of_consumers に乗算した値に等しくなります。

ストリームに必要なシャードの初期数 (number_of_shards) を計算するには、入力値を以下の式にあてはめます。

number_of_shards = max(incoming_write_bandwidth_in_KB/1000, outgoing_read_bandwidth_in_KB/2000)

ストリームの作成

ストリームを作成するには、Kinesis Data Streams コンソール、Kinesis Data Streams API、または AWS Command Line Interface (AWS CLI) を使用できます。

コンソールを使用してデータストリームを作成するには

  1. AWS マネジメントコンソール にサインインし、https://console.aws.amazon.com/kinesis にある Kinesis コンソールを開きます。

  2. ナビゲーションバーで、リージョンセレクターを展開し、リージョンを選択します。

  3. [データストリームの作成] を選択します。

  4. [Kinesis ストリームの作成] ページで、ストリームの名前と必要なシャードの数を入力し、[Kinesis ストリームの作成] をクリックします。

    ストリームの作成中、[Kinesis ストリーム] ページのストリームの [ステータス] は、[Creating] になります。ストリームを使用する準備が完了すると、[ステータス] は [Active] に変わります。

  5. ストリームの名前を選択します。[ストリームの詳細] ページには、ストリーム設定の概要とモニタリング情報が表示されます。

Kinesis Data Streams API を使用してストリームを作成するには

  • Kinesis Data Streams API を使用したストリームの作成については、「ストリームの作成」を参照してください。

AWS CLI を使用してストリームを作成するには

  • AWS CLI を使用したストリームの作成については、create-stream コマンドを参照してください。

ストリームの更新

ストリームの詳細は、Kinesis Data Streams コンソール、Kinesis Data Streams API、または AWS CLI を使用して更新できます。

注記

既存のストリーム、または最近作成したストリームに対して、サーバー側の暗号化を有効にすることができます。

コンソールを使用してデータストリームを更新するには

  1. https://console.aws.amazon.com/kinesis/ にある Amazon Kinesis コンソールを開きます。

  2. ナビゲーションバーで、リージョンセレクターを展開し、リージョンを選択します。

  3. リストのストリームの名前を選択します。[ストリームの詳細] ページには、ストリーム設定の概要とモニタリング情報が表示されます。

  4. シャード数を編集するには、[シャード] セクションの [編集] を選択し、新しいシャード数を入力します。

  5. データレコードのサーバー側の暗号化を有効にするには、[サーバー側の暗号化] セクションの [編集] を選択します。暗号化のマスターキーとして使用する KMS キーを選択するか、Kinesis によって管理されるデフォルトのマスターキー aws/kinesis を使用します。ストリームの暗号化を有効にし、独自の AWS KMS マスターキーを使用する場合は、プロデューサーおよびコンシューマーアプリケーションに、この AWS KMS マスターキーへのアクセス権限があることを確認します。ユーザーが生成した AWS KMS キーにアクセスするためのアクセス許可をアプリケーションに割り当てるには、「ユーザー生成 KMS マスターキーを使用するためのアクセス許可」を参照してください。

  6. データ保持期間を編集するには、[データ保持期間] セクションの [編集] を選択し、新しいデータ保持期間を入力します。

  7. アカウントでカスタムメトリクスを有効にした場合は、[シャードレベルメトリクス] セクションの [編集] を選択し、ストリームのメトリクスを指定します。詳細については、「Amazon CloudWatch による Amazon Kinesis Data Streams サービスのモニタリング」を参照してください。

API を使用したストリームの更新

API を使用してストリームの詳細を更新するには、次の方法を参照してください。

AWS CLI を使用したストリームの更新

AWS CLI を使用したストリームの更新については、Kinesis CLI リファレンスを参照してください。