[レポート]Building a serverless data consumption platform on AWS #PEX304-R #reinvent

2022.11.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

どーも、データアナリティクス事業本部コンサルティングチームのsutoです。

現地ラスベガスでre:Invent 2022に参加中です。

本エントリはAWS re:Invent 2022のセッション PEX304-R Building a serverless data consumption platform on AWSというワークショップのレポートです。

ワークショップの概要

The advent of serverless services on AWS has redefined contemporary architectures and driven new architecture patterns. Join this hands-on workshop to learn how to build a future-proof serverless data platform on AWS. Learn how to use a suite of serverless analytics services including Amazon Kinesis Data Firehose, AWS Glue, Amazon Redshift Serverless, Amazon Athena, and Amazon QuickSight to visualize the serverless data processing results. You must bring your laptop to participate. This workshop is intended for AWS Partners.

 

AWS上のサーバーレス・サービスの登場は、現代のアーキテクチャを再定義し、新しいアーキテクチャ・パターンを推進しました。このハンズオンワークショップでは、AWS上で将来を見据えたサーバーレスデータプラットフォームを構築する方法について学びます。Amazon Kinesis Data Firehose、AWS Glue、Amazon Redshift Serverless、Amazon Athena、Amazon QuickSightなどのサーバーレス分析サービス群を使用して、サーバーレスデータ処理結果を可視化する方法を学びます。参加にはノートPCの持参が必要です。本ワークショップは、AWSパートナー様を対象としています。

 

スピーカー

  • Vitor Freitas, Partner Solutions Architect, AWS
  • Gitika Vijh, Partner Solutions Architect, AWS

ワークショップの内容

以下の構成図のようにKinesis Data Firehoseを利用してGlueジョブで取り込んだデータをRedshift Servelessクラスターへ格納し、Stepfunctions、Event Bridge、Lambdaと連携してQuickSight、Athenaで可視化と分析が行えるところまで実施します。

実行の流れは主に以下のとおりです。

 1.ストリーミングデータを取り込む

 2.ビジネス レポート用にリアルタイムでデータを変換する

 3.クエリ用のカタログ データ

 4.データ ウェアハウスでイベント駆動型のデータのロードを調整する

 5.ビジネス インテリジェンス ダッシュボードを作成する

基本的に、事前準備含めてすべて手順通りに進めていけばOKです。よく起こるエラー対応も手順書に書かれていますが、それでもわからないときは現地スタッフを呼べば対応してくれます。(私にとっては英語でしゃべるのが一番のハードルですが)

0.事前準備

  • 現地のセッション会場にて、各サービスの概要を軽く説明されたあと、ハンズオンで利用するURLを教えられ、AWSが用意するハンズオン用アカウントにログインします。

ハンズオン用アカウントにログインした後の画面

  • リソースの準備としてRedshift Servelessクラスター作成、QuickSightユーザーの作成を実施します。

  • Cloud9を使ってハンズオン作業の補助となるワークステーション環境をセットアップしていきます。

1.Amazon Redshift サーバーレスでの作業

  • redshift Servelessに CREATE TABLE COPY でテーブルを作成
  • 以下のようにRedshift stored procedureを作成

  • 用意してあるGlueクローラーを実行してデータカタログを作成

2.AWS オーケストレーション サービスの使用

  • stepfunctionsステートマシンを作成(手順書の定義をコピーして事前作成してあるLambda関数を追記する程度)
  • Event Bridge設定を作成
  • ※この章は、Cloud9で実行するスクリプトなどがあって、リソース作成に手間はかかりませんでした

3.AWS Glue ジョブの使用

  • 「ストリーミング ジョブのロジックとデータの検証」ということで、手順のとおりにGlueジョブを作成
  • 最終的にこんな感じのジョブを作るかたちになります

  • Glue Streaming Jobを実行し、データをKinesis Data Firehoseにプッシュ、以下のようにストリームデータが流れます

  • 最後にRedshiftでクエリを打ってみてデータを確認

4.Amazon QuickSight と Amazon Athena の操作

  • QuickSight Q の準備とデータセットの追加を実施してデータを可視化
  • またオプションでAthenaでもQuickSightと同じ要求をするクエリを実行して確認

最後に

今回のワークショップの内容は、Redshift Serveless、Glueジョブ、QuickSightの操作に焦点を当てたハンズオンですので、これらのサービスを自分で手を動かしながら学ぶことができます。

アナリティクス関連のサーバレス系サービスを組み合わせて、一貫したストリームデータのロード〜可視化を体験できました。

ワークショップのセッションは参加者ごとの席の感覚も広めで非常に過ごしやすい環境でした。ゆったりした空間でスピーカーの解説も聞けて、PCの電源スペースもしっかり確保できて満足でした。