※2016年10月1日より、サービス名称が「Yahoo!ビッグデータインサイト」から「トレジャーデータサービス by IDCF」に変更となっております。
はじめに
Yahoo!ビッグデータインサイト(以下YBI)を用いて、大量のデータを容易に分析することができますが、重要なデータをインターネット上でやりとりしたくない、そもそもインターネット接続なんてさせていない、みたいなケースがしばしばあるかと思っています。
データを扱う上でセキュリティは無視できないもの、切っても切り離せない永遠の課題です。 IDCFクラウド(オンプレでも可)ではプライベートコネクトを用いて、プライベートなネットワーク上でYBIに対してデータのimport/exportを行なうことが可能です。 (プライベートコネクトというのは、プライベートでセキュアなネットワーク、いわゆるVPNと考えてください)

プライベートコネクト側の設定
プライベートコネクト側の設定はいたって簡単です。3分くらいで終わります。
まず、プライベートコネクトのコンソール画面でYahoo!ビッグデータインサイトの接続を選択し、

任意のネットワークアドレス、プライベートIPを設定します。
つまりユーザー側で好きなプライベートIPの指定が可能です。
この例の設定では、YBIのAPIに対して192.168.20.1で、YBIのコンソールに対して192.168.20.2でアクセスできるようになります。
YBIではAPIエンドポイントに対してデータのimportを行います。以上でimport用の設定は完了です。
次にexport用の設定です。 exportはユーザーマシン(FTP、MySQL、APIサーバーなど)に解析データをexportする機能です。
“Result Export先Host"部分にexport先のマシンのプライベートIPアドレスを入力し、+ を押すとexport用のFQDNが自動でアサインされます。
この例では192.168.1.1のFTPサーバーと192.168.10.1のMySQLサーバーをexport先に登録する形になります。
以上でプライベートコネクト側の設定は完了です。
実際の利用方法
YBIのアカウント作成、マシン側のtd(CLIツール)、td-agentインストールまでは完了しているとします。 YBIの基本的な使い方はこちらを参考にしてください。
td コマンドを使用する際に、URL部分に先ほどのAPI用のプライベートIPを指定します。 (通常はybi.api.idcfcloud.netの部分) 例えば、下記はプライベートコネクト経由でnginx用のDBにtest というTableを作成しています。
td -e http://192.16.20.1 table:create nginx test
YBI側のコンソールを確認してみると、確かにnginxのDBにtestのTableが作成されています。
(このコンソール画面にも192.168.20.2のプライベートIPでアクセスできます。)

td-agent側の設定は、/etc/td-agent/td-agent.conf で設定します。
<source>
type tail
format /^(?<remote>[^ ]*) (?<host>[^ ]*) (?<user>[^ ]*) \[(?<time>[^\]]*)\] "(?<method>\S+)(?: +(?<path>[^ ]*) +\S*)?" (?<code>[^ ]*) (?<size>[^ ]*)(?: "(?<referer>[^\"]*)" "(?<agent>[^\"]*)" "(?<forwarder>[^\"]*)")?/
time_format %d/%b/%Y:%H:%M:%S %z
path /var/log/nginx/access.log
pos_file /var/log/td-agent/nginx-access.pos
tag td.nginx.test
</source>
<match td.*.*>
@type tdlog
apikey 123456789012345678901234567890
auto_create_table
buffer_type file
buffer_path /var/log/td-agent/buffer/td
endpoint http://192.168.20.1 ###ここをAPIエンドポイントIPにする###
flush_interval 10s
<secondary>
@type file
path /var/log/td-agent/failed_records
</secondary>
</match>
上記の例だと、nginxのアクセスログが、td-agentを用いて、192.168.20.1がアサインされているYBIのnginx.testにimportされていきます。当然インターネットは経由しません。
実際はこんな感じでアクセスログのデータが溜まっていきます。

YBIではデータを解析した結果を抽出するというResult Exportという機能があります。 プライベートコネクト経由でユーザーマシンにexportする際には、YBIのResult Exportの設定画面で、Hostの部分に 専用のFQDN を入れる必要があります。(※プライベートIPだと期待した動作にはならないので注意してください。)

これで適切なSQL文を書いて、実行(Run)すると、192.168.10.1 のMySQLマシンに結果がexportされます。