国産BI のMotionBoard からCData Connect Cloud を使ってAmazon S3 データにリアルタイム連携するレポートを作成。
MotionBoard は、ウイングアーク1st 社が提供する人気のBI ダッシュボードツールです。この記事ではMotionBoard で、Amazon S3 データをCData Connect を通じてシームレスに統合利用する方法を説明します。

CData Connect Cloud (旧CloudHub)は、SaaS ベースで提供されるデータハブサービスです。Salesforce、Dynamics、Zoho CRM、NetSuite、Marketo、kintone など多様なSaaS にBI、アナリティクス、iPaaS、ノーコード開発プラットフォームからアクセスするための仮想エンドポイントです。連携方法が異なるSaaS をMySQL、SQL Server、OData の3種類のインターフェースに仮想化することで、データ連携をシンプルに実現します。この記事では、Amazon S3 のデータを仮想MySQL エンドポイントして利用します。
CData Connect Cloud でAmazon S3 のMySQL仮想インスタンスを作成
CData Connect のアカウントを取得します。CData Connect はSaaS ですので、アカウントを取得したらインストールやホスティングなどなく、ブラウザからログインすることですぐに使用開始です。
ブラウザからCData Connect にログインします。まずはじめに、MySQL仮想インスタンスにアクセスできるデータベースのユーザを作成します。「USERS」タブからユーザーを作成してパスワードを設定します。

次に「DATABASE」タブからデータベースを設定していきます。まずは接続するデータソースのアイコンをクリックします。本手順では、Amazon S3 を選択します。

データソース接続画面が開くので、Amazon S3 のロゴを選択して、データソース毎の認証情報を入力します。 Amazon S3 への接続に必要なプロパティを入力してください。
Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。
Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。
アクセスキーの取得
IAM ユーザーの資格情報を取得するには:
- IAM コンソールにサインインします。
- ナビゲーションペインで[ユーザー]を選択します。
- ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから[セキュリティ認証情報]タブを選択します。
AWS ルートアカウントの資格情報を取得するには:
- ルートアカウントの資格情報を使用してAWS 管理コンソールにサインインします。
- アカウント名または番号を選択し、表示されたメニューで[My Security Credentials]を選択します。
- [Continue to Security Credentials]をクリックし、[Access Keys]セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。
AWS ロールとして認証
多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、本製品は指定されたロールの資格情報を取得しようと試みます。
(すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。
SSO 認証
SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、本製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。

次に「ENDPOINTS」タブで、このデータをどのインターフェースのエンドポイントして公開するかを選択します。デフォルトで、OData、MySQL wire protocol、TDS(SQL Server) wire Protocol がすべて有効になっています。今回はMySQL エンドポイントを利用します。必要があればアクセスを許可する信頼されたIP アドレスを指定することも可能です。

このようにノーコードでAmazon S3 のMySQL仮想インスタンスを公開できました。接続の確認をする場合には、MySQL Workbench などMySQL のクライアントから接続を試してみてください。
MotionBoard からAmazon S3 データに接続してダッシュボードを作成
MotionBoardの「システム設定 → 接続/認証 → 外部接続」から新しい外部接続を作成します。ここでのポイントは、接続先タイプはMySQL を選択します。
- 外部接続名:任意(例:CDataConnect)
- 接続先タイプ:MySQL
- 中継サービス:使用しない

外部接続の基本情報タブにて以下内容をセットします。
- 外部接続名:任意(例:CDataConnect)
- 接続先タイプ:MySQL
- 接続先タイプ:MySQL5.1(JDBC)
- 中継サービス:使用しない
- サーバー名:XXXXX.cdatacloud.net (「ENDPOINTS」タブから参照可能なMySQL仮想インスタンスのホスト名)
- ポート : 「ENDPOINTS」タブから参照可能なMySQL仮想インスタンスのポート番号 (例:3306)
- データベース名 : 「DATABASE」タブで参照可能なデータベース名 (例:Amazon S31)
- 文字コード : UTF8
- ユーザー名 : 「USERS」タブで作成したMySQL仮想インスタンスのデータベース ユーザー
- パスワード : 「USERS」タブで作成したMySQL仮想インスタンスのデータベース ユーザーのパスワード

「データソース」タブを開き、Amazon S3 内のテーブルが一覧に表示されることを確認できます。ここまで確認できたら「保存」ボタンで外部接続定義を保存して閉じます。
「ボード新規作成」から新しいボードを作成します。

アイテムウィザードのDS1の接続先に上記の外部接続定義で作成した接続(本例では Cdata Connect)を選択します。次に、左側のデータベースにAmazon S3 のテーブルリストが表示されますので、使用するテーブルを選択します。右側にDealsテーブル内のデータがプレビューされます。

ウィザードを次に進み、作成するアイテムにチャートを選択して、「次へ」をクリックします。データソース エディタが起動します。左側の項目一覧から可視化したい項目を行項目・列項目・集計項目にセットします。もうRDB やCSV などのデータソースを扱う場合と同じ操作でビジュアライズを作成できます。あとは、おすすめチャートから適切なチャート種類を選択します。

是非、CData Connect Cloud の試用版で、MotionBoard からAmazon S3 へのシンプルかつパワフルな連携をお試しください。