本記事では、DataSpiderからGoogle CloudSQL for MySQLへの接続する方法およびその事前準備について記載します。
DataSpiderは連携ツールであり、外部のDBにあるデータに対するCRUD操作のアダプタが基本的に用意されていますが、GoogleのCloudSQL for MySQLの接続アダプタはまだ用意されておりません。
そこで汎用的なJDBCアダプタを利用した接続方法についてこの記事で紹介しますので、お役に立てば幸いです。
DataSpiderは連携ツールであり、外部のDBにあるデータに対するCRUD操作のアダプタが基本的に用意されていますが、GoogleのCloudSQL for MySQLの接続アダプタはまだ用意されておりません。
そこで汎用的なJDBCアダプタを利用した接続方法についてこの記事で紹介しますので、お役に立てば幸いです。
接続全体像
接続の全体像は、以下の通りです。
・GoogleのCloudSQL for MySQL側から下記の証明書を取得
1.server-ca.pem(サーバー証明書)
2.client-cert.pem(クライアントの公開鍵証明書)
3.client-key.pem(クライアント秘密鍵)
※キーストアファイルにインポート用のファイル
・OpenSSLのダウンロード&インストール
証明書の暗号化などに使用
※証明書を結合したり、暗号化したりする
・DataSpiderのkeytool
$DATASPIDER_HOME/jre/bin/keytool.exe
Googleの証明をDataSpiderにインポートするためのツール
・JDBCドライバのダウンロード&インストール
・キーストアファイルの設定
1.keystoreファイル
2.truststoreファイル
※後続のJDBCのURL設定に使うファイル
・DataSpiderのJDBC接続設定グローバルリソースで詳細の設定
・GoogleのCloudSQL for MySQL側から下記の証明書を取得
1.server-ca.pem(サーバー証明書)
2.client-cert.pem(クライアントの公開鍵証明書)
3.client-key.pem(クライアント秘密鍵)
※キーストアファイルにインポート用のファイル
・OpenSSLのダウンロード&インストール
証明書の暗号化などに使用
※証明書を結合したり、暗号化したりする
・DataSpiderのkeytool
$DATASPIDER_HOME/jre/bin/keytool.exe
Googleの証明をDataSpiderにインポートするためのツール
・JDBCドライバのダウンロード&インストール
・キーストアファイルの設定
1.keystoreファイル
2.truststoreファイル
※後続のJDBCのURL設定に使うファイル
・DataSpiderのJDBC接続設定グローバルリソースで詳細の設定
事前準備
CloudSQL for MySQL から以下のファイルを取得しておく
1.server-ca.pem(サーバー証明書)
2.client-cert.pem(クライアントの公開鍵証明書)
3.client-key.pem(クライアント秘密鍵)
2.client-cert.pem(クライアントの公開鍵証明書)
3.client-key.pem(クライアント秘密鍵)
使用する [keytool] は以下のDataSpider組み込みのツールを使用します
$DATASPIDER_HOME/jre/bin/keytool.exe
DataSpider組み込みのツール
opensslコマンドが使えるようにしておく
下記サイトで紹介されているページより、OpenSSL のインストール・設定を行います。
ライブラリの入手
MySQL Connector/J 5.1ダウンロードサイト(https://www.mysql.com/jp/products/connector/ )よりJDBCドライバをダウンロードします。
インストール手順
1.DataSpiderServerおよびDataSpider Studioを停止します。
2.$DATASPIDER_HOME/server/plugin/data_processing/modules/jdbc_adapterディレクトリ直下に<mysql-connector-java-5.1.<バージョン>-bin.jar>をコピーします。
※ダウンロードしたコネクタのバージョンを適切なバージョンフォルダ内に置いてください。
今回、バージョンは5.1.49を使用しています。
3.DataSpiderServerおよびDataSpider Studioを起動します。
2.$DATASPIDER_HOME/server/plugin/data_processing/modules/jdbc_adapterディレクトリ直下に<mysql-connector-java-5.1.<バージョン>-bin.jar>をコピーします。
※ダウンロードしたコネクタのバージョンを適切なバージョンフォルダ内に置いてください。
今回、バージョンは5.1.49を使用しています。
3.DataSpiderServerおよびDataSpider Studioを起動します。
※$DATASPIDER_HOME は実際のDataSpiderのインストール先を指定してください
DataSpiderからCloudSQL for MySQL への接続設定
サーバ証明書をtruststoreにインポート
$ keytool -import -file ./server-ca.pem -alias mysqlServerCACert -keystore "$DATASPIDER_HOME/jre/lib/security/truststore"
サーバ証明書をtruststoreにインポート
※[server-ca.pem]のファイルパスは実ファイルのパスを指定してください
パスワードの入力を求められた場合 [changeit] と入力してください
パスワードの入力を求められた場合 [changeit] と入力してください
クライアント証明書をPKCS12形式 [client.p12] に変換
$ openssl pkcs12 -export -inkey ./client-key.pem -in ./client-cert.pem -name mysqlClientCert -out "$DATASPIDER_HOME/jre/lib/security/client.p12"
クライアント証明書をPKCS12形式 [client.p12] に変換
※[client-key.pem][client-cert.pem]のファイルパスは実ファイルのパスを指定してください
クライアント証明書をkeystoreにインポート
$ keytool -importkeystore -srckeystore "$DATASPIDER_HOME/jre/lib/security/client.p12" -srcstoretype pkcs12 -destkeystore "$DATASPIDER_HOME/jre/lib/security/keystore"
クライアント証明書をkeystoreにインポート
正常の場合、下記の入力が連続求められます(この手順書では、パスワードをchangeitで統一しています)
・出力先キーストアのパスワードを入力してください: changeit
・新規パスワードを再入力してください: changeit
・ソース・キーストアのパスワードを入力してください: changeit
・出力先キーストアのパスワードを入力してください: changeit
・新規パスワードを再入力してください: changeit
・ソース・キーストアのパスワードを入力してください: changeit
DataSpiderのグローバルリソースを作成(JDBCアダプタの接続設定)
ドライバクラス名:com.mysql.jdbc.Driver
URL:jdbc:mysql://xx.xx.xx.xx:{port_No.}/{db_name}?useSSL=true&requireSSL=true
&clientCertificateKeyStoreUrl=file:///$DATASPIDER_HOME\\jre\\lib\security\\keystore
&clientCertificateKeyStoreType=JKS
&clientCertificateKeyStorePassword=changeit
&trustCertificateKeyStoreUrl=file:///$DATASPIDER_HOME\\jre\\lib\security\\truststore
&trustCertificateKeyStoreType=JKS
&trustCertificateKeyStorePassword=changeit
&trustCertificateKeyStoreUrl=file:///$DATASPIDER_HOME\\jre\\lib\security\\truststore
&trustCertificateKeyStoreType=JKS
&trustCertificateKeyStorePassword=changeit
ユーザ名:DBユーザを指定
パスワード:DBパスワードを指定
URL:jdbc:mysql://xx.xx.xx.xx:{port_No.}/{db_name}?useSSL=true&requireSSL=true
&clientCertificateKeyStoreUrl=file:///$DATASPIDER_HOME\\jre\\lib\security\\keystore
&clientCertificateKeyStoreType=JKS
&clientCertificateKeyStorePassword=changeit
&trustCertificateKeyStoreUrl=file:///$DATASPIDER_HOME\\jre\\lib\security\\truststore
&trustCertificateKeyStoreType=JKS
&trustCertificateKeyStorePassword=changeit
&trustCertificateKeyStoreUrl=file:///$DATASPIDER_HOME\\jre\\lib\security\\truststore
&trustCertificateKeyStoreType=JKS
&trustCertificateKeyStorePassword=changeit
ユーザ名:DBユーザを指定
パスワード:DBパスワードを指定
jdbc:mysql://xx.xx.xx.xx:{port_No.}/{db_name}?useSSL=true&requireSSL=true &clientCertificateKeyStoreUrl=file:///$DATASPIDER_HOME\\jre\\lib\security\\keystore &clientCertificateKeyStoreType=JKS &clientCertificateKeyStorePassword=changeit &trustCertificateKeyStoreUrl=file:///$DATASPIDER_HOME\\jre\\lib\security\\truststore &trustCertificateKeyStoreType=JKS &trustCertificateKeyStorePassword=changeit
DataSpiderのグローバルリソースURL
接続成功イメージ
おわりに
今回の記事は、下記サイトを参考に作成しました。
少しでもみなさまのお役に立てば幸いです。
41 件