ニュース

NTTドコモ、社内データ分析基盤でのBigQuery活用事例を解説 高いセキュリティレベルを維持したままでの運用を実現

 Google Cloudのカンファレンスイベント「Data Cloud Summit」が、9月7日~10日にオンラインで開催されている。データベースやデータ分析ソリューションに関するイベントだ。

 7日には、NTTドコモがBigQuery活用事例を語るセッション「ビッグデータ分析基盤IDAPにおけるGoogle Cloud導入事例」が開かれた。このセッションと、同事例に関する記者説明会の模様をレポートする。

Google Cloud「Data Cloud Summit」

社内データ分析基盤IDAPをBig QueryとAWSを組み合わせて構築

 ドコモのセッションは、社内データサイエンティスト向けにDMP(Data Management Platform)の1つとして提供している「IDAP(Integrated Data Analytics Platform)」においてBigQueryを導入した事例だ。導入の経緯とともに、情報漏えいを許さないセキュリティレベルでBigQueryを運用するために行ったことなどが語られた。

株式会社NTTドコモの林知範氏(サービスイノベーション部 エンジニア)

 株式会社NTTドコモの林知範氏(サービスイノベーション部 エンジニア)は、まずIDAPについて、ドコモのさまざまなデータを集約して社内の分析者に活用しやすい形で提供するものだと説明した。オンプレミスおよびGoogle CloudとAWSというハイブリッド構成で動作している。

 規模としては、IDAP登録済み総分析者数が2500人、データ加工処理の対象となる1日のデータ量が50TB以上、IDAPが保有する、分析者が分析可能な総データ量が5PB以上だという。

 5PB以上のデータは、通信事業のネットワーク系データと、スマートライフ事業のサービス系データからなる。これを、BigQueryに2PB以上、Redshiftに3PB以上格納している。

IDAPの概要
IDAPのユーザー数
IDAPでデータ加工処理の対象となる1日のデータ量
IDAPの総データ量とその内訳

 IDAPは2014年に、オンプレミス+Redshiftの構成で誕生した。2017年にRedshiftを拡充。このときにGoogle Cloudも検討したが、当時はセキュリティ要件を満たせていなかったと林氏は語った。

 このセキュリティ要件については、2018年に後述するVPC Service ControlsがGA(一般提供開始)となったのが大きかったという。2019年3月にはBigQuery性能検証を開始し、同2月にはGoogle Cloudによる運用のめどがつき、2020年10月にはIDAPでBigQueryを中心としたGoogle Cloudの小規模導入を開始した。ここで、性能面・機能面で高い評価を得たことで、2021年7月にIDAPにGoogle Cloudを本格導入した。

IDAPのあゆみ

 Google Cloudの導入を検討した背景は、IDAPで扱うデータ量の増加だ。DWHサービスの性能面・機能面を中心に調査した結果、BigQueryの同時並列実行における高いパフォーマンスと、BigQuery GISやBigQuery MLといった豊富な機能から選択した。また、セキュリティ重視の運用が可能であることから最終的に決定した。

 現在の構成では、BigQuery(Google Cloud)とRedshift(AWS)を組み合わせた構成になっている。記者説明会での林氏の説明によると、クエリの6~7割をBigQueryで処理しているとのことだ。一方、ドコモのアプリケーションでAWSを使っているものが多く、すべてをGoogle Cloudに転送するとコストが大きくなるため、AWS側でデータの収集や加工を集約しているという。

Google Cloudの導入を検討した背景
IDAPの現在の構成

情報漏えいを許さないための構成とアクセス制御

 続いて、導入にあたって考慮したこととその対策について林氏は説明した。大きく分けて「閉域環境へのGoogle Cloudの導入」と「BigQuery上の細かなアクセス制御」がある。

 1つめのポイントは、閉域環境へのGoogle Cloudの導入だ。IDAPでは、情報漏えいを一切許さない厳格なセキュリティレベルを実現するために、閉域環境での構築および運用をベースとした。

 具体的にはまず、VPC Service Controlsによる、パブリック接続の完全な遮断。これにより、承認を受けたネットワーク以外からの接続を一切遮断する。

 次に、Cloud Interconnectによるオンプレミスとのプライベート接続。通信容量とセキュリティからDedicated Interconnectを採用している。オンプレミスとGoogle Cloud間のほか、AWSとGoogle Cloud間の経路も構築し、それぞれ冗長化している。

 そしてGoogle Private Access for on-premiseにより、すべての接続をプライベートIPとする。オンプレミスのシステムからは、DNSサーバーでgoogleapis.comへの接続を特定のIPアドレス範囲に変換することで、プライベートIPで接続する。

閉域環境へのGoogle Cloud導入の必要性
VPC Service Controlsによる、パブリック接続の完全な遮断
Cloud Interconnectによるオンプレミスとのプライベート接続
Google Private Access for on-premiseにより、すべての接続をプライベートIPに

 2つめのポイントは、BigQuery上の細かなアクセス制御だ。機密性の高いデータを扱うことから、閲覧可能な分析者の範囲を制限する。ただし、分析チーム単位でデータ閲覧を制御しており、分析者ごとに権限を付与してしてしまうと管理が煩雑になるため、チーム単位で権限を付与する。

 そこで、Cloud Identityグループによって複数のサービスアカウントをグループ化する。そして、Cloud Identity and Access Management(Cloud IAM)によってグループに対して権限付与する。

BigQuery上の細かなアクセス制御の必要性
Cloud Identityグループによるグループ化
Cloud IAMによるグループへの権限付与

経験から得たBigQueryのTips

 最後に林氏は、BigQuery利用でハマった点とその解決策を3つ紹介した。

 1つめは、BIGNUMERIC型の活用。データソースをRedshiftとし、それをBigQueryにロードしているが、NUMERIC型の精度の違いからエラーが頻発していたという。そこで、ちょうど登場したBigQueryのBIGNUMERIC型を採用することで解決した。

 2つめは、BigQuery Storage APIで高速化。機械学習モデルを作成するときには大規模なデータの読み取りが頻繁に発生するため、時間がかかっていた。そこで、BigQueryのデータにクエリを介さずに直接アクセスするBigQuery Storage APIを使うようにしたことで、読み取り時間を大幅に削減。30分の読み取り時間が10分以下になるといった結果となったという。

 3つめは、BQ Visualizerでクエリ分析。想定よりも性能が出ていないクエリがあったとき、BQ Visualizerによる分析で原因を特定したという。例えば、クエリの処理工程ごとにかかった時間や、消費しているコンピュート数が可視化されることで、原因分析とクエリ改善のサイクルを迅速に回せたと林氏は語った。

CASE 1:BIGNUMERIC型の活用
CASE 2:BigQuery Storage APIで高速化
CASE 3:BQ Visualizerでクエリ分析

BigQueryは広範囲なユースケースをカバーするアナリティクスプラットフォーム

 記者説明会では、グーグル・クラウド・ジャパン合同会社の寳野雄太氏(技術部長(アナリティクス / 機械学習、データベース))が、Google Data PlatformやBigQueryのメリットについて解説した。

グーグル・クラウド・ジャパン合同会社の寳野雄太氏(技術部長(アナリティクス / 機械学習、データベース))

 寳野氏はまず、アナリティクスが世界市場に影響を与える金額が15兆4000億ドルにのぼるというマッキンゼーの報告を紹介。しかし、データを測定可能な価値へ具体化できている企業は32%であるという。

アナリティクスが世界市場に影響を与える金額は15兆4000億ドル
データを測定可能な価値へ具体化できている企業は32%

 データ活用が進まない理由の1つとして、寳野氏は、データから価値に至るまでの間にフィルターがかかっていることを挙げた。例えば、リアルタイム処理か保存か、BIかデータサイエンスか、安全性と利用可能性のどちらを重視するか、高速なのか安価なのか、など、データの技術をこれまで選択する必要があった。こうしたデータの技術の選択は、多くの場合後戻りができないと寳野氏は言う。

 この問題に対して、Google Data Platformは、統一されたエコシステムでデータプラットフォームを提供する、と寳野氏は説明した。オペレーショナルなデータベースのデータを分析し、その結果を機械学習に使ったり、モバイルアプリケーションのグロースハックに使ったり、というのを統一したエコシステムでシンプルに提供するという。

データ技術には選択肢があり、ほとんどの場合後戻りできない
Google Data Platformは統一されたエコシステム

 その中でも、アナリティクスプラットフォームのBigQueryについて寳野氏は解説した。BigQueryはDWHとしてスタートしたが、現在ではそれだけではなく、「あらゆるユーザーへ洞察を。どんなスケールでも」がいまの立ち位置だと氏は説明した。

BigQueryは広範囲なユースケースに対応するアナリティクスプラットフォーム

 BigQueryのスケールとパフォーマンスの秘訣(ひけつ)として、コンピュート/ストレージ/メモリの分離、重いクエリで後がつかえないよう動的なクエリプランで同時並列クエリのパフォーマンスを担保する技術、インデックスチューニング不要で用途の読めない場合にも適していることを寳野氏は挙げた。

 そのほかの特徴として、SQLを書くだけで機械学習ができるBigQuery MLも寳野氏は紹介した。これにより、データアナリストでも機械学習ができるほか、BigQueryからデータを移動させることなく機械学習ができる。

 さらに、BigQueryによるデータサイロの解消として、ドコモの事例にも登場したBigQuery Storage APIを寳野氏は挙げた。BigQueryのストレージに高速にアクセスするもので、これによりほかのツールからBigQueryのデータを使える。そのほか、外部ストレージフェデレーションや外部DBフェデレーションについても氏は言及した。

BigQueryのスケールとパフォーマンスの秘訣
SQLを書くだけで機械学習ができるBigQuery ML
BigQueryによるデータサイロの解消

 最後に寳野氏は再び、BigQueryはアナリティクスプラットフォームであり、DWHのエンタープライズのユースケースから、データサイエンスのユースケース、ビジネスユーザーのユースケースまで、広範囲にカバーすることを強調した。