Money Forward Developers Blog

株式会社マネーフォワード公式開発者向けブログです。技術や開発手法、イベント登壇などを発信します。サービスに関するご質問は、各サービス窓口までご連絡ください。

20230215130734

Day1からData Informedを実現するAmazon QuickSight

こんにちは。関西開発拠点の村上です。 現在新規事業立ち上げをやっており、Day1からデータを見ながらプロダクト改善に取り組んでいます。 プロダクトをリリースした初日からデータ活用は始まっており、 チームではデータを見ながら会話をすることもしばしばあります。

元々インフラエンジニアだったので、データ基盤を真面目に作り始めることのコストやデメリットを感じていたので Day1からData Informedを実現する為に非常に軽量に利用開始できるツールとして選定したAmazon QuickSightを簡単にご紹介します!

この記事のサマリー

  • Amazon QuickSightを使うとDay1からData Insightを得ることができる理由
  • Amazon QuickSightのセットアップコスト

についてお話していきます。」想定読者は、新規事業担当や起業したばかりのプロダクトマネージャーやユーザーリサーチ、UXリサーチを担当する人です。

Amazon Quick Sight

https://aws.amazon.com/jp/quicksight/gallery/

https://d1.awsstatic.com/events/jp/2021/summit-online/AWS-43_AWS_Summit_Online_2021_BIT01.pdf

Amazon QuickSight とは平易にいうとAWSが提供しているBIツールです。 一般的なBIツールの特徴を備えてあるので細かい話はスキップしますが

  • マネージドで保守メンテナンスが必要なく、スケーリングやパフォーマンスも考える必要がない
  • ネットワーク構成をほとんど考える必要がなく本番のプライベートなネットワークにつなぐことができる
  • 十分なセキュリティを組み込むことができる

という利点を備えています。 もしAWSを本番環境のインフラとして利用しているなら、Amazon QuickSightは非常に軽量にセットアップできるので最低限のコストでビジュアライズを開始することができるのでオススメだよ!

というのが今日のお話です。

## データを扱うのはめんどくさい

いきなりAWSみたいなインフラの話がでてくるやないか!と思ったあなた。そのとおりです。 データ分析をするには実は非常にめんどくさいものをいくつも用意しなければなりません。

非常に一般化したデータ分析の基盤ですが

こんな仕組みが将来欲しくなるわけですね。それぞれのステップにはすべてインフラも必要だし。ソフトウェアも必要なわけです。 またデータ基盤を真面目に考え始めると非常に多くの考慮点が出てきてしまいます。 * 将来の負債にしたくない => 将来どうなるかわからないのにDay1から未来を見通すのは不可能 * コスト高くなりすぎない仕組み => 真面目に設計しないとインフラコストは高くなりがち * あれもやりたいこれもやりたい => 初期の分析ニーズはどんどん変わる * セキュリティはちゃんとしたい => 本番データを垂れ流しにしたいわけじゃない

しかしDay1にここまでしっかり作れる時間やスキルはエンジニアにも、プロダクトマネージャーにもないのです! 元々インフラエンジニアで、一時期データ基盤にも関わっていた私が、できる限り手を抜いた最初のデータ基盤を構築するにはどうすればよいか?を考えて選択したのがQuickSightでした。

もしデータマネジメント自体の全体像をまじめに学びたい方は入門としては、ぜひゆずたそさんのこちらの本を御覧ください。

本人の紹介記事 https://yuzutas0.hatenablog.com/entry/2020/07/16/173000

何も作らなくていいデータ基盤

一番最初にデータからInsightを得る最低限の構成をこんな感じだとすると

Day1のデータ分析基盤はこんなのでいいんじゃないか?という所からスタートします。 これだけならどのBIツールでも普通にできます。この時点ではDatabaseのパフォーマンス問題もあまり気にする必要もないし チームは小さいのでDatabaseの構造も把握できるでしょう。最低限リードレプリカのDBにつなげば良いでしょう。

直接SQLを書いて分析できて、Visualizeできればそれでいい。という段階です。

たとえばSaaS版BIツールを利用する場合、本番ネットワークにあるMySQLにどうやってつなぐのか?という問題が出るし、 セルフホスト版BIツールを利用する場合は、そのバージョンアップ対応誰がやるんだ問題がでます。 もちろんどちらもやりゃできるんですが、できればリリース当日のDay1に考えることは減らしたいですよね。

Day1なので今後いくらでも変更しうる。あんまり何も考えずスクラップアンドビルドがしやすいもの。 構築コストが低いものを考えると、QuickSightがいい勝負をします。

QuickSightはVPCコネクターを利用して、PrivateNetworkにあるMySQLにつなぐことができます。 つまり、セルフホスト版の様にインターナルなネットワークにインストールして利用開始できるということです。

https://aws.amazon.com/jp/blogs/news/amazon-quicksight-private-vpc-access/

何もいじりたくない。というほどではないですが、Subnetを用意してSecurityGroupで通信をコントロールするだけの非常にシンプルな構造です。 TCP Tunnel over ssh とかくまなくていいし、MySQLをPublicに晒す必要もありません。

パフォーマンスの為の仕組みやスケーリングはマネージドなのでもちろん既に準備されています。

Amazon QuickSightを利用すると超ローコストで、ある程度のBI機能が手に入ります。

最低限のセキュリティ/アクセスコントロールも欲しい

Amazon QuickSightが直接DBにつながるということは、QuickSightのWebページから本番データが見えてしまいます。 その時には以下の制限を最低限入れると良いでしょう。

  • カラムベースのアクセスコントロール
  • SSOを利用したアクセスコントロール

カラムベースアクセスコントロール

Amazon QuickSightは

  • データソース (いわゆるコネクタ)と
  • データセット(いわゆる参照したいデータ群)

を分けて管理することが出来ます。データセットはこの後BIツールから参照されるデータ群のことです。

データセットには、除外フィールドと、フィルターの2つの設定を持つことができます。 例えば図の様にAccessTokenは公開したくないけど、User数は集計したい。みたいなときに 個人情報に類するデータ、クレデンシャルに類するデータを除外した上で分析する人にデータを公開することができます。

SSOを利用したアクセスコントロール

何にアクセスできるか以外にも、誰がどこからアクセスできるのか?を管理する為にSAMLを利用したSSOも準備されています。

https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/external-identity-providers.html

例えばAWS SSOとつなぐこともできますし、Azure ADは最近は無料でもSSOを組むことができます。 IdPを用いてより細やかなコントロールを設定すると良いでしょう。

セットアップコスト

ここまでご紹介した最低限のことを手に入れるために、必要なことは

  • Amazon QuickSightにアクセスして利用開始する
  • Private Networkにつなぐ設定をする(Subnetを作成してMySQL側からSecurityGroupをあける)
  • データソースを設定する(MySQLにつなぐ)
  • データセットを設定する(閲覧したいデータ範囲を決める)

これだけです。後はグラフを作っていくだけです! 簡単でしょう?

まとめ

今回はAmazon QuickSightを利用したDay1からAnalyticsというテーマでお送りしました。 既に基盤を構築するテクニックや、予算、時間があるのであれば最初からもっと良いツールに行けば良いと思いますが

あれこれありすぎてよくわからないな。本職じゃないな。というチームには、まず最初にQuickSightを選ぶことをおすすめしてみます。 QuickSight単独では時系列データを保存して可視化することはやりづらいので、気が向いたらDay7からデータ履歴の可視化についてもご紹介できたらと思います。

関係するブログ

2021年 サーバーレス BI Amazon QuickSight の特徴総ざらい by AWS公式 Amazon QuickSightの記事一覧 by Classmmethod


マネーフォワードでは、エンジニアを募集しています。 ご応募お待ちしています。

【サイトのご案内】 ■マネーフォワード採用サイトWantedly京都開発拠点

【プロダクトのご紹介】 ■お金の見える化サービス 『マネーフォワード ME』 iPhone,iPad Android

ビジネス向けバックオフィス向け業務効率化ソリューション 『マネーフォワード クラウド』

おつり貯金アプリ 『しらたま』

お金の悩みを無料で相談 『マネーフォワード お金の相談』

だれでも貯まって増える お金の体質改善サービス 『マネーフォワード おかねせんせい』

金融商品の比較・申し込みサイト 『Money Forward Mall』

くらしの経済メディア 『MONEY PLUS』