株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

CData Sync Web管理コンソールのHTTPS化手順

Oracle ACE Proの渡部です。

本記事では、非常に多くのデータベース製品、SaaS、アプリケーション、APIに対応したデータ連携ツールである、CData SyncのWeb管理コンソールへのアクセスをHTTPS化する手順について説明します。

本記事は、CData Syncを以下の手順で導入したことを前提として記載します。

なお、弊社コーソルはCData パートナーであり、CData Syncの販売および導入、運用やトライアルの支援が可能です。

CData Syncとは

CData Syncは、非常に多くのデータベース製品、SaaS、アプリケーション、APIに対応したデータ連携ツールです。

CData Syncを用いてデータベース内のデータを別のデータベースに連携することで、以下を実現できます。

  • 分析用途での解放が難しい基幹システムのデータベース内のデータを、CData Syncを用いて別の分析用データベースに準リアルタイム連携し、分析用データベースを分析用途で解放できる(ユースケース1: 期間データの社内活用)
  • 複数の業務システムやSaaSに散在する各種データを統合し、分析用データベースに一元化できる(ユースケース2: データ分析基盤のデータ連携)

以下の特徴を持ちます。

  • 同期元として400種以上の製品およびサービスに、同期先として30種程度のデータベース製品に対応

  • 差分レプリケーション機能を持ち、サイズが非常に大きいデータでも準リアルタイムでのデータレプリケーションが可能。
  • 異種データベース間のロジカルレプリケーションに対応した製品としては、とても低価格
  • オンプレミス環境およびクラウド環境に対応
  • WebベースのGUI管理コンソールを用いて、お客様自身でデータレプリケーションを簡単に構成可能
  • Oracle Database、Microsoft SQL Server、PostgreSQL、MySQL、MariaDBからのChange Data Captureに対応
  • エージェントレス構成であるため、既存システムへ最小限の影響で導入可能
  • 方式がロジカルレプリケーションであるため、レプリケーション中にデータを変換したり特定のSQLを伝搬対象から除外したりすることが可能
  • 組込みスケジュール機能によるレプリケーションの自動化が可能

対象ソフトウェアおよび環境

  • CData Sync
    • v24.3 (24.3.9121.0)
    • クロスプラットフォーム版(Java版、オンプレミス / セルフホスティング)
    • サービスの稼働ユーザー: cdatasync
  • インストール対象ホスト
    • OS: Oracle Linux 8

本記事は、CData Syncを以下の手順で導入したことを前提として記載します。

CData Sync Web管理コンソールのHTTPS化

デフォルトでは、CData Sync Web管理コンソールへのアクセス方法はHTTPのみで、HTTPSは使えません。

CData Syncでは、データベース接続時のパスワードなどの情報を扱うため、Web管理コンソールへのアクセスをHTTPS化し、通信を暗号化することが一般に望ましいです。また、Google BigQueryなど、Web管理コンソールへのアクセスがHTTPS化されていることが必要なサービスもあります。

なお、以下の手順では自己署名証明書を使用しています。

自己署名証明書と秘密鍵を含むPKCS#12形式ファイルを作成する

以下の手順に従い、自己署名証明書と秘密鍵を含むPKCS#12 形式ファイルを作成します。

  • 関連するすべてのファイルは、CData Syncのインストールディレクトリ直下(ここでは/opt/sync/)に配置することにします。
  • cdatasyncユーザーで実行します。

    1. 4096 ビット長のRSA秘密鍵 (ca.key) を作成します。
[cdatasync@l8rep3sv1 ~]$ id
uid=1000(cdatasync) gid=1001(cdatasync) groups=1001(cdatasync)
[cdatasync@l8rep3sv1 ~]$ cd /opt/sync/
[cdatasync@l8rep3sv1 sync]$ openssl genrsa -out ca.key 4096
Generating RSA private key, 4096 bit long modulus (2 primes)
...........................................................................................++++
........++++
e is 65537 (0x010001)
[cdatasync@l8rep3sv1 sync]$ ls -l ca.*
-rw-rw-r-- 1 cdatasync cdatasync 1931 Mar 27 23:03 ca.crt
  1. 作成したRSA秘密鍵 (ca.key) を使って自己署名のCA証明書 (ca.crt) を作成します。

    • 証明書の有効期限は 365 日間としています。
    • 組織名や国名などの情報を入力するよう求められますが、いわゆる「正式な」証明書を作るわけではないため、すべて[Enter]を入力し、デフォルト値をそのまま使います。
[cdatasync@l8rep3sv1 sync]$ openssl req -x509 -key ca.key -out ca.crt -days 365
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:
[cdatasync@l8rep3sv1 sync]$ ls -l ca.*
-rw-rw-r-- 1 cdatasync cdatasync 1931 Mar 27 23:03 ca.crt
-rw------- 1 cdatasync cdatasync 3247 Mar 27 23:02 ca.key
[cdatasync@l8rep3sv1 sync]$
  1. 作成した自己署名証明書 (ca.crt) と秘密鍵 (ca.key) を一つの PKCS#12 形式ファイル(ca.pfx)にまとめます。

    • パスワードが求められるため、入力します。
[cdatasync@l8rep3sv1 sync]$ openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx
Enter Export Password:
Verifying - Enter Export Password:
[cdatasync@l8rep3sv1 sync]$ ls -l ca.*
-rw-rw-r-- 1 cdatasync cdatasync 1931 Mar 27 23:03 ca.crt
-rw------- 1 cdatasync cdatasync 3247 Mar 27 23:02 ca.key
-rw------- 1 cdatasync cdatasync 4149 Mar 27 23:06 ca.pfx
[cdatasync@l8rep3sv1 sync]$

(存在しない場合) sync.propertiesを生成する

CData Syncのインストールディレクトリ(/opt/sync/)にsync.propertiesがない場合、以下のコマンドを実行してsync.propertiesを生成します。sync.propertiesは、CData Syncの設定ファイルです。

[cdatasync@l8rep3sv1 sync]$ JAVA=/opt/sync/jre/jdk-17.0.5+8/bin/java
[cdatasync@l8rep3sv1 sync]$ ${JAVA} -jar sync.jar -GenerateProperties
Mar 27, 2025 11:01:53 PM d.a a
INFO: The properties deserializes success.
Mar 27, 2025 11:01:53 PM b.d a
INFO: Parse .properties from default.
Mar 27, 2025 11:01:53 PM cdata.sync.SyncServer a
INFO: There is no app data directory setting.
Mar 27, 2025 11:01:53 PM cdata.sync.SyncServer b
INFO: The server log directory is /opt/sync/logs/httpserver
Mar 27, 2025 11:01:53 PM cdata.sync.SyncServer main
INFO: The .properties configuration file has generated into /opt/sync/sync.properties.
[cdatasync@l8rep3sv1 sync]$ cat sync.properties
; ---------------------------------------
; ${cdata.home} is the installation directory.
; ---------------------------------------

cdata.contextPath=/

; The connection string to use for an external database to be used as the Application Database. When unspecified, the application will default to a derby database within Application Directory.
cdata.app.db=
; The path on disk to use as Application Directory. Use '/' character as a Path separator regardless of the Operating system.
cdata.app.directory=

;; HTTP
cdata.http.port=8181

;; TLS
cdata.tls.port=
cdata.tls.keyStoreType=
cdata.tls.keyStorePath=
cdata.tls.keyStorePassword=

;; Request log
cdata.requestLog.enabled=false
cdata.requestLog.filenameDateFormat=yyyy_MM_dd
cdata.requestLog.retainDays=90

[cdatasync@l8rep3sv1 sync]$

sync.propertiesにHTTPS関連の設定を追加する

sync.propertiesにHTTPS関連の設定を追加します。今回の場合は、以下のように変更します。

[変更前]

;; TLS
cdata.tls.port=
cdata.tls.keyStoreType=
cdata.tls.keyStorePath=
cdata.tls.keyStorePassword=

[変更後]

;; TLS
cdata.tls.port=8443
cdata.tls.keyStoreType=PKCS12
cdata.tls.keyStorePath=/opt/sync/ca.pfx
cdata.tls.keyStorePassword=<ca.pfx作成時に指定したパスワード>

CData Syncを再起動

CData Syncを再起動します。ここで、CData Syncはsystemdサービスとして構成済みとします。

[cdatasync@l8rep3sv1 sync]$ sudo systemctl restart cdatasync.service
[cdatasync@l8rep3sv1 sync]$ sudo systemctl status cdatasync.service
● cdatasync.service - CData Sync
   Loaded: loaded (/etc/systemd/system/cdatasync.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2025-03-27 23:10:39 JST; 7s ago
  Process: 2420 ExecStop=/bin/sleep 3 (code=exited, status=0/SUCCESS)
  Process: 2385 ExecStop=/opt/sync/jre/jdk-17.0.5+8/bin/java -jar /opt/sync/sync.jar -stop (code=exited, status=0/SUCCESS)
 Main PID: 2423 (java)
    Tasks: 40 (limit: 46142)
   Memory: 583.0M
   CGroup: /system.slice/cdatasync.service
           mq2423 /opt/sync/jre/jdk-17.0.5+8/bin/java -jar /opt/sync/sync.jar

Mar 27 23:10:43 l8rep3sv1.domain java[2423]: Mar 27, 2025 11:10:43 PM XcoreXcdata.syncX243X9121.leb a
Mar 27 23:10:43 l8rep3sv1.domain java[2423]: INFO: Can not find the deprecated driver jar file of 'CData ADLSSync'
Mar 27 23:10:43 l8rep3sv1.domain java[2423]: Mar 27, 2025 11:10:43 PM XcoreXcdata.syncX243X9121.leb a
Mar 27 23:10:43 l8rep3sv1.domain java[2423]: INFO: Can not find the deprecated driver jar file of 'CData AmazonS3Sync'
Mar 27 23:10:44 l8rep3sv1.domain java[2423]: Mar 27, 2025 11:10:44 PM XcoreXcdata.syncX243X9121.leb a
Mar 27 23:10:44 l8rep3sv1.domain java[2423]: INFO: The schedule task [ExecuteJob] starts successful.
Mar 27 23:10:44 l8rep3sv1.domain java[2423]: Mar 27, 2025 11:10:44 PM XcoreXcdata.syncX243X9121.leb a
Mar 27 23:10:44 l8rep3sv1.domain java[2423]: INFO: The schedule task [CheckCDCEngineStatus] starts successful.
Mar 27 23:10:44 l8rep3sv1.domain java[2423]: Mar 27, 2025 11:10:44 PM XcoreXcdata.syncX243X9121.leb a
Mar 27 23:10:44 l8rep3sv1.domain java[2423]: INFO: The disk usage threshold monitor is started.  If the disk where AppDirectory is >
[cdatasync@l8rep3sv1 sync]$

CData SyncのWeb管理コンソールにHTTPSでアクセス

sync.propertiesのcdata.tls.portに設定したポート番号のURLを指定して、HTTPSでCData SyncのWeb管理コンソールにアクセスします。

https://<ホスト名 or IPアドレス>:8443

今回使用した証明書は自己署名証明書であり、いわゆる「正式な証明証」ではないため、以下は想定された動作です。

  • ブラウザのアドレスバーには「保護されていない通信」などの、Webサーバ(ここではCData Sync)の証明書が適切に署名された証明書ではないことに起因する警告が表示されます
  • アクセス時に「この接続ではプライバシーが保護されません」などの、Webサーバ(ここではCData Sync)の証明書が適切に署名された証明書ではないことに起因する警告が表示されます

なぜコーソルからCData Syncを購入すべきなのか

弊社コーソルはCData パートナーであり、CData Syncの製品販売を行います。加えて、コーソルが得意とするデータベース技術領域を含めたCData Syncの導入、技術支援、サポートを行います。

CData Syncを用いたデータ連携をご検討されている場合は、ぜひコーソルへご相談いただければとと思います。

  • 製品販売 : CData Syncの販売
  • 製品導入 : CData Syncの設計および導入
  • 製品サポート: CData Syncの製品サポート
  • 技術支援 : トライアル支援、運用支援

コーソルからCData Syncを購入いただくと

データベースのレプリケーションにおいては、データベース製品およびレプリケーション製品の両方の知識が必要です。このような知識を持つエンジニアの確保は一般に困難です。弊社のサービスがこの問題のお役に立てると考えております。

また、弊社からCData Syncを見積/購入いただくと、以下のサービスを無償でご提供いたします。

  • お客様構成にあわせた簡易導入手順書の提供
  • CData Sync 30日間トライアルライセンスを使用したトライアルの支援
  • トライアル実施時に参考となるチェックリストの提供
  • CData Sync導入後の運用支援(各種Q&A、Web会議、設定変更作業など)

多数のOracle関連書籍を執筆

コーソルはORACLE MASTER Platinum 累計取得者数No.1

コーソルからデータベース関連製品をご購入いただくと、ORACLE MASTER Platinum 単年取得者数7年連続No.1、2016年6月以降 累計保持者数No.1という指標に裏付けされた高い技術力により、安心して製品を導入/利用いただけます。

ORACLE MASTER Platinumとは、2日間にわたる実技試験により認定されるOracle Database最高難度の資格です。 グローバルで有効な資格であり、海外では"Oracle Certified Master"と呼ばれます。

ORACLE MASTER Platinumとは何か / コーソルはPlatinum取得者数No.1!

Oracle DatabaseのDBAサービスを提供可能

Oracle Databaseについても製品販売、製品サポート、製品の導入を行います。また、リモート回線経由でスポット的なDBA実務を行うリモートDBAサービス、コンサルティングやベンダコントロールを含めたOracle Databaseプロフェッショナルサービスを時間制で提供する時間制コンサルサービスも提供しています。

データベース運用保守なら常駐しないリモートDBA

基幹系DB運用支援および製品サポートについては、3拠点体制による24時間365日対応が可能です。

コーソルは多数のデータベース関連製品を取り扱っています

コーソルは、Oracle Databaseをはじめとするデータベース製品に関する深い知識を活かし、多数のデータベース関連製品を取り扱っております。

  • オラクル製品全般 (Oracle Database, Oracle Cloud, Oracle GoldenGate, Oracle WebLogic Serverなど)
  • Dbvisit Standby
  • SharePlex for Oracle
  • CData Sync
  • Qlik Replicate
  • Solarwinds Database Performance Analyzer (DPA)
  • Toad for Oracle / Toad for SQL Server
  • MaxGuage
  • Spotlight for Oracle / Spotlight for SQL Server
  • SIOS LifeKeeper
  • Delphix
  • PISO
  • D'amo
  • Nutanix Database Service (NDB)

これらの製品について、販売・導入・運用を様々な形でご支援します。お困りの際はぜひ弊社にお声がけくださいませ。

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ