「30 分で試せる!Amazon Redshift Serverless データ分析ハンズオン」のご紹介

記事タイトルとURLをコピーする


コーヒーが好きな木谷映見です。

2022 年 7 月 12 日、Amazon Redshift Serverless の一般提供が開始 されています。Redshift Serverless の概要についてはサーバーワークスエンジニアブログ - Redshift Serverless の概要 をご参照ください。
「試してみたいけど、データ分析なんてやったことないな」と思っていた私は、「30 分で試せる!Amazon Redshift Serverless データ分析ハンズオン」が AWS から提供されているのを発見しました。誰でも実施できますので、今回はこのハンズオンの概要をご紹介します。

ハンズオンはどこ?

Amazon Redshift Serverless の概要 ページのトップ画面ですぐに見つけることができます。

aws.amazon.com

上記リンクをクリックいただくと、Amazon Redshift Serverless 概要ページに遷移します。
「Amazon Redshift Serverless を 30 分で試す >>」というリンクがありますので、クリックしてリンク先に遷移します。 メールアドレスや名前を記入するフォームがありますので情報を記入すると、ハンズオンの手順やデータをダウンロードすることができます。

このハンズオンでできる構成と概要

Amazon S3 上に保存された大量のデータを Amazon Redshift Serverless に取り込み、付属の Web ベースのクエリエディタを使って簡単なクエリを実行し、可視化します。 オプションとして、可視化・分析ツールである Amazon QuickSight をAmazon Redshift Serverless に接続し、SQL を書かずに高度な可視化を行う手順も付属しています。これは嬉しいです!

やってみた

細かい操作手順はハンズオンをダウンロードいただくと見ることができますので、概要のみ記載します。

Redshift Serverless の作成

Redshft コンソール画面左のナビゲーションペインで「Redshift サーバーレス」をクリックすると、 早速作成画面に遷移します。「デフォルト設定を使用」を選択することで、3 分程度で簡単に Redshift Serverless を作成することができます。

「デフォルト設定を使用」を選択すると、デフォルト VPC のパブリックサブネットに Redshift Serverless が作成されます。

IAM ロールの設定について補足します。
ハンズオン手順に沿うと途中、Redshift Serverless に付与する IAM ロールを作成する手順があります。 Redshift Serverless が Amazon S3 にアクセスする際に必要となる権限が付与されており、ハンズオンで必要な権限は諸々不足なく設定してくれるようです。 具体的には以下のような権限が付与されており、本番環境で稼働させる際は必要な権限を確認する必要がありそうです。

  • アタッチされている許可ポリシー
    • AmazonRedshiftAllCommandsFullAccess
      • Amazon Redshift 上のデータを COPY、LOAD、UNLOAD、クエリ、分析のための SQL コマンドを実行する権限
      • Amazon S3、Amazon CloudWatch ログ、Amazon SageMaker、AWS Glueなどの関連サービスに対する select 文の実行権限
    • AmazonRedshift-CommandsAccessPolicy-yyyyMMddTxxxxxx
      • 設定時に指定した S3 バケットに対するアクセス許可権限
  • 信頼ポリシードキュメントで信頼されているエンティティ
    • "redshift.amazonaws.com"
    • "sagemaker.amazonaws.com"
    • "redshift-serverless.amazonaws.com"

分析用データのロード

分析するデータを Amazon Redshift Serverless に取り込みます。

Redshift Query Editor v2 の起動

ここからの作業は、Redshift Query Editor v2 で⾏います。これは Web ブラウザ上で SQL を書いて実⾏することのできるツールです。SQL の実⾏のほか、テーブルの作成、データロード、SQL の実⾏結果をグラフにするなど、多彩な機能を簡単に使うことができます。

Redshift Serverless コンソール画面左のナビゲーションペインで「クエリエディタ v2」をクリックするだけですぐにエディタ画面に遷移します。

画⾯左側(左ペイン)の「Serverless:default」をクリックすると⾃動的に Redshift Serverless にログインし、デフォルトで作成される dev データベースなどの情報が表⽰されます。

データ取り込み用のテーブル作成

データをロードするためのテーブルを作成します。テーブルの列名や列のデータ型などの情報は、サンプルデータを⽤意することで、Query Editor v2 が⾃動判定してくれます。

Amazon S3 からデータをロード

元のデータが格納されている S3 バケットを指定して、作成したテーブルにデータをロードします。

SQL で分析を実施

クエリをエディタに記載します。実行したい SQL 文を選択して [Run] をクリックすると、SQL 文が実行されて画面下部に実行結果が表示されます。
選択せずに実行すると、記載されているSQL ⽂が複数ある場合には、それらの SQL ⽂が同時に並列に実⾏されます。

[Chart] の左のスライドスイッチをオンにすると、グラフを表示できます。

グラフ左の trace で、値・ラベルやグラフのタイプを調整できます。

作成したグラフは Export ボタンで画像としてダウンロードできます。

Amazon QuickSight と接続し SQL を書かずに分析

AWS が提供している BI サービス、Amazon QuickSight では、SQL を書かずに⾼度な可視化を⾏うことができます。QuickSight から Redshift Serverless に接続することで、Redshift Serverless 内のデータを分析することができます。

QuickSight から接続できるように、Redshift Serverless の設定を変更

Redshift Serverless のパブリックアクセスを有効化し、セキュリティグループで QuickSight からのアクセスを許可します。
13.113.244.32/27 からのアクセスを許可するのですが、これは東京リージョンの QuickSightが使⽤している IP アドレスの範囲です。

Redshift Serverless ワークグループの設定でセキュリティグループを設定したら、Redshift Serverless のエンドポイント名をメモしておきます。
Redshift Serverless 名前空間の設定で QuickSight から接続するための Redshift Serverless のデータベースユーザー名とパスワードを設定します。

QuickSight のサインアップ

QuickSight コンソールに遷移して、QuickSight のエンタープライズプランでサインアップします。QuickSight はサインアップしたユーザー数によって課金される体系なのですが、30 日間のトライアル期間は 4 ユーザーまで無料です。

QuickSight アカウント名とメールアドレスを入力し、Redshift と IAM のアクセスを許可するよう設定してサインアップします。

QuickSight で SQL を書かずに可視化

QuickSight にサインアップできたら、データセットを作成します。新しい分析から、新しいデータセットを作成できます。

[Redshift 手動接続]という項目があるので、Redshift Serverless の情報を入力して接続します。

テーブルを選択し、[データの編集 / プレビュー] からデータを視覚化します。

ビジュアルタイプで「地図上のポイント」を選択し、フィールドリストから項目をドラッグアンドドロップすると、地図データが生成されます。

値の集計方法や表⽰サイズを調整すると、可視化完了です。かっこいい図ができました!

ハンズオン手順にはリソースの削除方法も記載されていますので、最後にリソースを削除しておきましょう。

おわりに

Redshift Serverless を使ったデータ分析と可視化を一通り体験することができました。かっこいい図ができるととテンションが上がります。
Redshift Serverless とクエリエディタ v2 だけでも簡単な視覚化が可能なので、ぜひ皆さまも実施してみてください。

参考

aws.amazon.com

blog.serverworks.co.jp

emi kitani(執筆記事の一覧)

AS部LX課。2022/2入社、コーヒーとサウナが好きです。執筆活動に興味があります。AWS認定12冠。