GCPでは、ビッグデータ分野のデータ探索・可視化サービスとして、「Google Cloud Datalab」と「Google Data Studio」の二つを提供している(図1)。Cloud Datalabは対話型インタフェースを備えたデータ分析および機械学習ツール。一方のData Studioは、グラフや表などから成るレポート画面を柔軟に作成できるBI(Business Intelligence)ツールだ。日本での正式名称は「Googleデータポータル」だが、本稿ではData Studioを用いる。

図1 GCPのビッグデータサービス
今回はCloud DatalabとData Studioを取り上げる
[画像のクリックで拡大表示]

 以下でCloud DatalabとData Studioを順に見ていこう。

Jupyter NotebookがベースのCloud Datalab

 Cloud Datalabは対話型で利用する、データ分析および機械学習ツールである。オープンソースソフトのデータ分析ツールとして有名な「Jupyter Notebook」をベースにしており、Webブラウザーによってデータ分析や可視化、機械学習などの分析プログラミングをインタラクティブに実行できる。

 Cloud DatalabはGCPサービスと連携するライブラリが充実しており、BigQuery、Cloud Machine Learning Engine、Compute Engine、Cloud Storageがデータソースになる。そのため例えばBigQuery上のデータに対して投げたクエリーの結果をグラフ化したり、Cloud Storage上のファイルを読み込んでPythonを用いた統計情報の計算をしたりできる。

 Cloud Datalabの実行環境はコンテナとしてパッケージ化されており、コンテナをCompute Engineインスタンス上で実行する仕組みである。Cloud Datalab用インスタンスには、専用のVPC環境とCloud Datalab用インスタンスにSSH接続を許可するファイアウォールルールの作成が必要だ。これらは、初期環境構築用コマンドを実行することで自動作成される。

 Datalab環境の構築作業には、プロジェクトの管理者(オーナー)権限が必要なものが含まれる(2018年10月時点)。権限不足エラーになった場合は、管理者権限を持つユーザーが作業しなければならない。

 Cloud Datalabでは、Cloud Datalab VMサービスアカウントを使用してGCPサービスにアクセスする。そのためCloud Datalab VMサービスアカウントに、利用するGCPサービスへのアクセス権限を与えておく必要がある。

 Cloud Datalab用インスタンスは任意のタイミングで起動・停止できる。起動するには、datalab connectコマンドを実行すればよい。Compute Engineのコンソール画面でインスタンスを起動するといった操作は不要だ。アイドル状態が一定時間続くと、自動的にインスタンスを停止させるAuto Shutdown機能も提供されている。

 Cloud DatalabではPythonまたはSQLコードとコードの実行結果をノートブックという単位で管理する。ノートブックはGCP上のGitリポジトリーであるCloud Source Repository(以下、リモートリポジトリー)に保存される。Cloud Datalab用のインスタンスが起動する際には、リモートリポジトリーを複製しCompute Engineインスタンス上のローカルリポジトリー(以下、VMリポジトリー)を作成することでワークスペースを作成できる。

 ユーザーはVMリポジトリー上のノートブックに対して作業を行い、リモートリポジトリーに変更内容をPushすることで、リモートリポジトリー上のノートブックが更新され他のユーザーと共有できる(図2)。

図2 Cloud Datalabの基本概念
[画像のクリックで拡大表示]

 Cloud Datalabでは必要最低限のPythonのライブラリ、GCPサービスを利用するためのライブラリが用意されており、特別にカスタマイズすることなく利用できる。利用を進める中で追加ライブラリが必要になった場合は、pipを利用してPythonライブラリを手動インストールすることも可能だ。

 上記以外の基本機能として「バックアップ」「ネットワークセキュリティ」「スケーリング」を順に説明する。

■バックアップ

 ユーザーコンテンツのバックアップは自動的に、10分間隔で変更があった場合のみ取得される。永続ディスク全体をzip形式で取得し、Cloud Storageバケットに保存する。1時間ごとのバックアップを過去10回分、1日ごとのバックアップを7回分、1週間ごとのバックアップを20回分保持し、古いバックアップは自動削除される。

■ネットワークセキュリティ

 Datalabを使用する際、接続元マシンからCloud Datalab用インスタンスにSSH接続する。Cloud Datalab用VPCでは、Compute Engineインスタンスに対してインターネット側から接続できるファイアウォールルールやルーティングが設定されている。接続元のIPアドレスを制限したい場合は、ファイアウォールルールの設定変更を行うなどの考慮が必要だ。

■スケーリング

 Cloud Datalab用インスタンスはCompute Engineインスタンスとして起動するため、インスタンスタイプの指定が可能だ。CPUではマシンパワーが足りない場合は、GPUを使用したCompute Engineインスタンスを構築できるため、GPUの機械学習環境を簡単に手に入れられる。

 よりパワフルな実行環境が必要になった場合や、新しいCloud Datalabバージョンにバージョンアップする際には、永続ディスクを残したままインスタンスの再作成を行うことでVMリポジトリーのデータを保持したまま新たなインスタンスを起動できる。

 Cloud Datalabはインスタンスに対して利用可能なユーザーが1対1対応のシングルユーザー環境なので、Cloud Datalabのユーザーが複数存在する場合は、ユーザーごとにインスタンスを作成する必要がある。

この先は有料会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら