こんにちは。CData Software Japan リードエンジニアの杉本です。
以前弊社のBlog ではデータパイプラインツール、CData Sync からMySQL HeatWave へ接続する方法を紹介していました。
https://www.cdata.com/jp/blog/sync-heatwave
ただ、以下の記事でも紹介されている通り、HeatWave はプライベートIPアドレスのみがサポートされており、外部から接続するには踏み台となるサーバーやVPN接続などを検討しなければいけません。
https://docs.oracle.com/ja-jp/iaas/odsaz/odsa-connecting-mysql-heatwave.html
CData Sync はインストール型であり様々なホスティング先をカバーしているので、OCI 上のVM 環境にインストールしてしまえば、そのネットワークの中の扱いとなり、接続にはあまり困りません
とはいえ、例えばオンプレミスにある基幹システムのデータをMySQL HeatWave にレプリケーションするようなパイプラインを組みたい、といった場合にはこのネットワーク部分は課題になってくるかなと思います。
そこで今回の記事では、オンプレミスに配置したCData Sync からMySQL HeatWave に接続するときに便利なSSH 踏み台サーバー経由で接続する方法を紹介したいと思います。
環境構成イメージ
最終的な環境構成イメージは以下の通りです。
OCI 上にはPublic Subnet に踏み台となるSSH Server/Oracle Linux マシンを用意し、Private Subnet にMySQL HeatWave が配置されています。
そして、オンプレミス側にはデータレプリケーションの対象となるERP(例として、SAP)とELT ApplicationのCData Sync を配置。CData Sync のMySQL HeatWave コネクタがSSH Client の役割も果たすことで、SSH Server 経由で透過的にMySQL HeatWave への連携を実現します。
事前準備
OCIには予め踏み台となるSSH Server としてOracle Linux(Oracle-Linux-8.9-2024.01.26-0 を利用)のコンピュートインスタンスを構成しておきます。
外部からのアクセスポートはSSH接続のみ許容していて、予めSSHキーのキー・ペアを生成しておき、秘密キーをダウンロードしています。
併せてMySQL HeatWave の環境も構成しておきます。上記コンピュートインスタンスからプライベートIPアドレスで接続できる状態にしておきました。
そして、オンプレミス側、ローカルマシンにはCData Sync をインストールしておきます。今回は私のノートパソコンで動かしていますが、オンプレミスのWindows Server や Linux 環境、AS/400 などでも構いません。
トライアルは以下のURL からダウンロード可能です。
https://www.cdata.com/jp/sync/download/
以下のようにローカルホストで動いている状態にしておきましょう。
接続設定方法
それでは、CData Sync からMySQL HeatWave に接続してみましょう。
ログイン後、「接続」→「+接続を追加」をクリックします。
同期先から「MySQL」を選択しましょう。
それではOCI 上のMySQL HeatWave への接続情報を作成していきましょう。
最初にSSH接続先のサーバーからHeatWave に接続する場合の情報をベースに入力します。
ServerのアドレスにはMySQL HeatWave のPrivate IPアドレスを指定し、合わせてUser・Password・Database などの情報を入力しましょう。
もちろんこれだけでは、ネットワーク的に接続できる環境下にないため、コネクションは確立できず失敗します。
しかしながら、前述の通り、CData Sync のMySQL 接続にはSSH の踏み台サーバー経由で疎通できるようにする機能があるため、この機能を使って、コネクションを確立させることができます。
「高度な設定」タブに移動し、SSHの設定から以下の通り情報を入力すればOKです。SSH の接続設定は環境に併せて調整してください。
プロパティ名
|
入力例
|
備考
|
SSH Auth Mode
|
Publick_Key
|
|
SSH Client Cert
|
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAmVsUHhqir+/m
(以下略)
|
予め取得しておいた秘密キーをテキストで入力します。
|
SSH Client Cert Type
|
PEMKEY_BLOB
|
|
SSH Server
|
123.123.123.123
|
SSHサーバーのパブリックIPアドレスを指定します。
|
SSH Port
|
22
|
|
SSH User
|
opt
|
|
User SSH
|
True
|
|
これで「保存およびテスト」をクリックし、コネクションが構成できればOKです。無事疎通ができたことがわかります。
SAP ERP 連携の設定
とはいえ、実際に連携できるかどうか試してみたいため、SAP ERP からの連携を設定してみましょう。これは例えば、オンプレミスのRDB やCSV ファイルなどでも構いません。
対象のデータソースを構成したら、予め構成しておいたHeatWave にレプリケーションするジョブを作成します。
タスクを追加から、任意のテーブルを選択し
レプリケーションを実行します。処理結果がSuccessful になっていればOK です!
正常にレプリケーションされたかどうかを踏み台サーバーのMySQL Shell から確認してみましょう。テーブル一覧を表示してみると、レプリケーションしたテーブルが自動的に作成されていることがわかります。
対象のテーブルもクエリしてみると、正常にデータが登録されていることがわかりました。
おわりに
このようにCData Sync のMySQL コネクションはSSH 踏み台サーバー経由でセキュアかつ手軽にオンプレミスからOCI の環境への接続を確立できます。
HeatWave はもちろんのこと、それ以外の連携にも適用できるので、ぜひうまくご活用ください。
試していてわからない点があれば、お気軽にテクニカルサポートまでご相談ください。
https://www.cdata.com/jp/support/submit.asp
関連コンテンツ