Amazon Kinesis Data Streams は、ログ・クリックストリーム・IoT センサーなどの大量のストリーミングデータをリアルタイムに取り込み、複数のコンシューマーで処理できるようにするフルマネージドサービスです。
このラボでは、オンデマンドモードの Kinesis Data Stream を 1 つ作成し、AWS CloudShell(ブラウザ上で動く東京リージョンのシェル)から AWS CLI を使って、ストリームへのレコード投入と読み出しの基本フローを体験します。具体的には、put-record でデータを書き込み、get-shard-iterator と get-records でデータを読み出して確認します。プロビジョニング不要のオンデマンド容量モードを使うため、シャード数の見積もりや管理は不要で、最小構成・低コストで Kinesis の仕組みを理解できます。
なお、オンデマンドモードのストリームは作成時に既定で 4 つのシャードを持ちます。レコードは「パーティションキー」のハッシュ値によって各シャードへ振り分けられるため、本ラボでは 3 件のレコードをすべて同じパーティションキーで投入し、確実に同一シャードに集約してから読み出します。これにより、複数シャードに分散して一部しか読めない、という混乱を避けています。
put-record を使いレコードを投入し、レスポンスで返る ShardId を活用できるget-shard-iterator(TRIM_HORIZON)と get-records を使ってレコードを読み出し、Base64 データをデコードできるNextShardIterator の関係(イテレーターは消費するたびにレスポンスで次の位置を返す)を理解する詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。
本番形式の問題で理解度を確認できます。各試験とも先頭 15 問は無料です。