Googleの強力生成AIを最大限活用する近未来データ分析基盤を構築した

## はじめに
![1-Conversational-Analytics-4.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1344334/032ffd37-b340-a72a-1a35-0d98402c33dd.gif)


きっかけはGoogleのGemini in Lookerの紹介動画
ChatGPTやCopilotの感覚で会話的にBIツールの分析を行う姿を見て、「近未来的だぁ」と小学生並みの感想を抱いたあと、次世代の分析基盤はコレだと確信
チームの分析基盤をGoogle Cloudで構築することを決定

GCPのGemini機能がPreview版ということもあり情報も少ない中で、導入までは色々探り探りで苦労したので、
最終的に何が必要だったかをこの記事で共有したいと思います。
参考にした他記事のURL多め

## やってみた結果
Google Looker Studio Pro(以下、基本Lookerと表現)とBigQueryを導入し、Geminiで対話的にグラフ化まで行えるデータ分析基盤が構築できました
※近未来って書きましたが、今時点で実現可能ですね。Google PlatformのPreview版の機能なので近未来と言えば近未来

### 前提
6人の小規模な組織、ビジネスサイド(PO)とエンジニアで構成

### やる前
RDS、Redshift、ファイルサーバ上のCSVやらに点在
エンジニアは、TableauやVSCodeのSandDanceなどのBIツールをたまにつかったりするが、おおむねPythonのJupyter上でポチポチ
ビジネスサイドはCSVをExcelに張り付けてポチポチ

### やった後
せっかくなんでLookerやBigQueryを使ってみよう感がでる（もの珍しさもある、ワクワク感って重要だよねってはなし）
ビジネスサイドも面白そうだから触ってみる
「コレBigQueryに入れてくれない？」「リアルタイムで更新してくれない？」 → データの一元化が進み始める → もっと使われる → 以下ループのサイクルに期待


### この記事を読んだ人がどうなるのか
近未来データ分析基盤を構築できます



## 導入したもの
- 独自ドメイン(月額千円少々)
- Looker Studio Pro(月額料金 9 ドル)
- BigQuery(使った分だけ従量課金)
- Cloud Storage(BigQueryに投入するときに経由すると料金が抑えれる)

## やったこと
### アセスメント
所属組織が基盤としてGCPを使っていないということもあり、組織のセキュリティ担当者にお伺い建て
会社のグローバルIPから接続に制限しますという方針で合意

### Google セールスに連絡
Gemini in Lookerで調べるとLookerの有料契約(Looker Studio Pro / Looker)が必要とのこと
小規模組織だったのでLooker Studio Proが適切。契約のために当時はセールスとのコンタクトが必要だったので、コンタクトフォームよりGoogle セールス担当者に連絡

・Google セールス コンタクトフォーム

https://cloud.google.com/contact?hl=ja

セールス担当者とWeb面談し、Looker Studio ProとGemini in Lookerの申し込みフォームのURLを入手
※当時Lookerの申し込みが非常に多くなっていたようで、セールスがパンク状態だったとのこと。結構ここで時間がかかる

### お名前.comでドメインを取得
Lookerを使用するためには組織アカウント配下のGCPプロジェクトを作成する必要があるとのこと
Google組織アカウントを作成するためには、DNSレコードを編集できる公開ドメインが必要
会社のDNSを編集できる権限がないしめんどくさいこと請負なので、自分のチームの独自ドメインを作成することに
ググって最初に出てきたサービス「お名前.com」さんでドメインを取得することに。DNSとメールサービスは必要になってきそうなのでオプションで契約

・お名前.comでドメイン取得 参考URL

https://qiita.com/kidxcv/items/1c0ed96e572e9872048d

#### Try-Error
会社のメールアドレスでGoogleアカウントを作成 → GCPを始める → Looker Studio Proを開始 → エラー
エラーメッセージもよくわからなかったので、Googleセールスに確認
Looker Studio Proの利用に組織アカウント配下のGCPプロジェクトが必要なことが判明

### Googleの組織を作成
Googleの組織を作成し、作った独自ドメインを使って認証

・参考URL

https://qiita.com/khoshina/items/19cd1203b587029c74e0


#### Try-Error
DNSレコード登録の経験がなく苦戦
DNS反映までの時間がかかったこともあり、組織の認証に何度か失敗

### 組織配下のアカウント作成しLookerのサブスクリプション割り当て
組織の管理者画面から～@ドメイン名のGoogleアカウントが作成できる。
Cloud Identityを使って組織アカウントを管理する

・参考URL

https://iret.media/78305

Looker Studio Proの管理者画面からサブスクリプションを割り当て
事前に入手したフォームからGemini in Lookerの利用申請を行う

#### Try-Error
はじめはCloud Identityを作成せずに組織のGoogleアカウントにサブスクリプションを割り当てようとしていたが、原因不明のエラーと表示
かなりお手上げ気味だったが、半日くらい試行錯誤した結果Cloud Identityで管理しているユーザーに対してでないとLooker Studio Proのサブスクリプションが割り当てれないという結論に（試行錯誤しすぎて自信なし）
Google WorkspaceだったらCloud Identityは不要だったようで、最初からGoogle Workspaceとドメインを買っておけばよかったと後悔

### GCPにアクセスできるグローバルIPを制限
VPC Service Controlsの設定で「Looker～」「BigQuery～」「CloudStorage～」を特定グローバルIPからのみ許可するように設定

https://blog.g-gen.co.jp/entry/using-vpc-service-controls-looker-studio

#### Try-Error
GCP自体触るの初めてということもあり、VPC Service Controlsの設定に四苦八苦

### BigQueryにデータ投入
Cloud StorageにデータをアップロードしてBigQueryにロード
ここは思ったより簡単

https://zenn.dev/nbstsh/scraps/243f60512ba30d


#### Try-Error
PythonからBigQueryに直接ロードができたのでそれでやっていたが、ロードの度に課金が発生していた
調べたところ上記の方式の方が値段がお安くなることを認識


### LookerのデータソースにBigQueryのデータを指定
LookerのGUIに従っていくだけなのでここは簡単
BigQuery以外のデータソースRedshiftなども指定できるが、Gemini in Lookerの対話機能を使うためには
GoogleのデータBigQueryやGoogle Driveを指定する必要があるので注意

## できること詳細
### Gemini in Looker
Looker画面の右にGeminiの欄が出てくるのと、「Conversational Analytics」という対話型の分析画面ChatGPTの描画強化版みたいなのが使える
英語限定なのでDeepLから転記しよう
結構な頻度で「ちょっと何言ってるかわかりませんね」的なことをGeminiに言われる

https://www.niandc.co.jp/tech/20240508_50208/


### Gemini in BigQuery(データキャンバス)
Preview機能だが、申請フォームではなく管理者画面から有効にできる
こちらは日本語で対話可能
個人的にこっちのほうをよく使う

https://blog.g-gen.co.jp/entry/trial-for-gemini-in-bigquery


## まとめ
GCPのBigQueryとLookerを導入してGoogleの生成AIを活用してデータ分析を進めよう