オンプレミス上のCData Sync からMySQL HeatWave へSSH 踏み台サーバー経由でシームレスに接続する方法

heatwave

こんにちは。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

トライアル・お問い合わせ

関連コンテンツ