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

by 杉本和也 | 2024年02月13日

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

関連コンテンツ

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

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。