Kinesis Data Stream を作成して CloudShell からデータを投入・取得する

オンデマンドの Kinesis Data Stream を作成し、CloudShell から put-record でデータを投入、get-records で読み出しを確認します。

入門30Azure 実環境

ラボ概要

Amazon Kinesis Data Streams は、ログ・クリックストリーム・IoT センサーなどの大量のストリーミングデータをリアルタイムに取り込み、複数のコンシューマーで処理できるようにするフルマネージドサービスです。

このラボでは、オンデマンドモードの Kinesis Data Stream を 1 つ作成し、AWS CloudShell(ブラウザ上で動く東京リージョンのシェル)から AWS CLI を使って、ストリームへのレコード投入と読み出しの基本フローを体験します。具体的には、put-record でデータを書き込み、get-shard-iteratorget-records でデータを読み出して確認します。プロビジョニング不要のオンデマンド容量モードを使うため、シャード数の見積もりや管理は不要で、最小構成・低コストで Kinesis の仕組みを理解できます。

なお、オンデマンドモードのストリームは作成時に既定で 4 つのシャードを持ちます。レコードは「パーティションキー」のハッシュ値によって各シャードへ振り分けられるため、本ラボでは 3 件のレコードをすべて同じパーティションキーで投入し、確実に同一シャードに集約してから読み出します。これにより、複数シャードに分散して一部しか読めない、という混乱を避けています。

学習目標

  • Kinesis Data Stream をオンデマンドモードで作成し、ストリームのライフサイクル(Creating → Active)を理解する
  • データストリーム / シャード / パーティションキー / シーケンス番号といった基本概念を把握する
  • オンデマンドモードのストリームが既定で複数(4 つ)のシャードを持ち、レコードがパーティションキーのハッシュでシャードへ分散されることを理解する
  • CloudShell から AWS CLI で put-record を使いレコードを投入し、レスポンスで返る ShardId を活用できる
  • get-shard-iterator(TRIM_HORIZON)と get-records を使ってレコードを読み出し、Base64 データをデコードできる
  • シャードイテレーターと NextShardIterator の関係(イテレーターは消費するたびにレスポンスで次の位置を返す)を理解する
  • マネージドなストリーミング取り込みの基本パターンを体感する

前提

  • federated console に cloud_user ロールでサインイン済みであること
  • すべての操作を 東京リージョン (ap-northeast-1) で行うこと(IAM などのグローバルサービスを除く)
  • AWS マネジメントコンソールと CloudShell をブラウザで操作できること
  • 基本的なコマンドライン操作に慣れていること(コピー&ペーストで実行可能)
  • 事前の環境構築は不要(リソースはラボ内ですべて作成します)

ラボの構成

  1. 1東京リージョンを確認する
  2. 2Kinesis Data Stream を作成する
  3. 3CloudShell を起動する
  4. 4CloudShell からレコードを投入する (put-record)
  5. 5シャードイテレーターを取得する (get-shard-iterator)
  6. 6レコードを取得して読み出す (get-records)
  7. 7動作確認
  8. 8完了チェックリスト
  9. 9後片付け

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

構成図

参考リソース

参考リンク

このラボが対応する試験の模擬問題集

本番形式の問題で理解度を確認できます。各試験とも先頭 15 問は無料です。

CLF-C02AWS Cloud Practitioner練習テスト 4 回・全 200DEA-C01AWS Data Engineer – Associate練習テスト 4 回・全 200DVA-C02AWS Developer – Associate練習テスト 4 回・全 200