IBM TechXchange Integration Group Japan

IBM TechXchange Integration Group Japan

 View Only

IBM Data ReplicationのChange Data Captureを使って、Db2のデータをIBM Event Streamsに連携する(導入編)

By HIDEO SAITOH posted yesterday

  

IBM Data ReplicationのChange Data Captureを使って、Db2のデータをIBM Event Streamsに連携する(導入編)

はじめに

昨今、ハイブリッド・クラウド環境への流れが加速しており、既存システムのデータをより扱いやすいクラウドの環境へレプリケーションするニーズが高まっています。

本記事では、データベースのデータをレプリケーションするIBM Data ReplicationのChange Data Captureを使って、IBM Db2のデータをイベント連携の基盤である、IBM Event Streamsに連携する手順を具体的に見ていきたいと思います。主に導入手順を記載します。(一部構成も含んでいます)

IBM Event Streamsの導入は、こちらの記事にあります。


IBM Data Replicationについて

IBM Data ReplicationのChange Data Capture (CDC)は、データベースの変更をリアルタイムで検出し、キャプチャするソリューションです。これにより、データ変更を効率的に他のシステムに配信し、常にデータの整合性を保つことができます。

CDCの概要と特徴

IBM Data ReplicationのCDCは、主にソースデータベースのトランザクションログ(ジャーナル)を読み取ることで機能します。このため、データベースへの負荷が非常に低く、パフォーマンスに影響を与えることなく、リアルタイムまたはニアリアルタイムでデータを同期できます。

主な特徴:

  • 低インパクト: データベースへの直接的なクエリではなく、トランザクションログを読み取るため、ソースシステムへの負荷が最小限に抑えられます。

  • リアルタイム: 変更が発生した直後にキャプチャするため、データの鮮度を高く保てます。

  • 効率性: 変更されたデータのみを転送するため、ネットワーク帯域やストレージの使用量を大幅に削減できます。

主要なコンポーネント

IBM Data ReplicationのCDCソリューションは、以下のコンポーネントで構成されています。

  • レプリケーションエンジン: ソースおよびターゲットデータベースにインストールされ、データのキャプチャと適用を実行します。

  • Management Console: グラフィカルユーザーインターフェース(GUI)を通じて、レプリケーションの設定、監視、管理を行います。

  • Access Server: Management Consoleとレプリケーションエンジンの間の通信を制御し、安全な接続を確立します。

  • 通信層 (TCP/IP): ソースとターゲット間でデータを安全に転送するための専用ネットワーク接続を提供します。

イメージとしては、下記のような構成イメージです。

今回の記事に記載するレプリケーションの全体像

今回のレプリケーションのテスト用に構築する環境の全体像は、以下のようなイメージになります。

まず、Windows 2022の環境にIBM Data Replicationの環境を構築します。

データソース(Db2)とCDC Replication Engine for Windows、Access Server、Management Consoleは、Windows 2022の上に導入します。

ターゲットのIBM Event Streamsには、CDC Replication Engine for Kafkaが必要なのですが、Linux環境が必要なので、WindowsのWSL2の上に導入します。

使用するユーザーとPortの情報の整理

ユーザー情報の整理

Windowsでは、基本的にはAdministratorを使用します。

Db2は、導入時にDb2の管理者として、db2adminを設定しているので、これを使います。

Access Serverへのアクセスには、Access Serverに設定されているadminというユーザーを使います。

CDC Replication Engine for Kafkaは、rootユーザーでは実行できないので、別途cdcadminというユーザーを作り、それを使います。

アクセスするポート番号の情報の整理

Access Serverは、10101番ポートで稼働します。

Replication Engine for WindowsのDb2のソースは、10901で構成します。

WSL2で稼働している、Replication Engine for Kafkaは、11701で稼働します。これはWSL2で稼働しているので、Windowsからは、netshコマンドを使って、ポートフォワードの設定をします。Windowsからは、21701のポートを使うように設定します。

環境構築

今回使用する主なコンポーネントのバージョンは以下の通り

IBM Data Replication V11.4.0.5 - Change Data Capture
Db2 V11.5.4

Windows 2022

導入手順

(1) Management Consoleの導入

  • インストール
    インストーラーのexeファイル(iidrmc-11.4.0.5-11199-setup.exe)を実行します。
  • OKボタンで次にすすむ。
  • Introduction画面では、Next
  • Choose Install Folderでは、導入するフォルダーを指定して、Next
  • License Agreementでは、使用条件を読み、同意(accept)します。
  • Choose Shortcut Folderでは、どこに製品アイコンを作成するのかを聞かれるので、今回はデスクトップを指定します。
  • LDAPの構成は行わないので、そのままNext
  • インストールの要約画面で確認した後、Install
  • しばらく時間がかかりますので、そのまま待ちます。
  • 導入の完了で、Done

(2) Access Serverの導入

  • インストール
    インストーラーのexeファイル(iidrmc-11.4.0.5-11199-setup.exe)を実行します。
  • OKボタンで次に進む。
  • Introduction画面では、そのままNext
  • Choose Install Folder画面では、導入先のフォルダーを選択して、Next
  • Software License Agreement画面では、使用条件を読み、同意(accept)を選択し、Next。
  • Choose Shortcut Folderでは、どこに製品アイコンを作成するのかを聞かれるので、今回はデスクトップを指定します。
  • LDAPの構成は行わないので、そのままNext
  • Configure Access Account画面では、Port番号として、10101を指定し、Next
  • Access Account画面では、Adminユーザーのパスワードを指定し、Next
    これは、Management ConsoleからAccess Serverに接続する際に使用するアカウント情報になります。
  • User Data Folderは、そのままで、Next
  • Pre-Installation Summary画面で、導入のサマリーを確認して、Install
  • 導入が完了するまで、しばらく待ちます。
  • 導入完了

(3)動作確認

  • 一旦、ここでManagement Consoleを起動して、動作の確認を行ってみます。
    デスクトップにManagement Consoleのショートカットがあるので、クリックします。
  • Consoleが起動したら、Adminユーザーとパスワード、Access Serverが稼働しているサーバー名を入力してログインします。


  • ログインできたら、下記のような画面になります。

(4) Replication Engine for Windowsの導入

  • ソースはDb2なので、Db2のデータベースに対する事前準備を行います。
    データベースは、SAMPLEを使います。
    CDC Replicationを使用するには、データベース・ログを保存できるようにする必要があります。

  • Db2構成パラメータのカスタマイズ
    データベース構成パラメーター "LOGARCHMETH1"の現在の設定値確認
  • LOGARCHMETH1をLOGRETAINに指定
  • deactivate => backup(nulに捨てる) => acitivate します。
    activateすると、BACKUP PENDINGになっています。

  • ここで、BACKUP DATABASEコマンドを実行します。nulに捨てます。

    再度 ACTIVATEします。


  • ディレクトリの作成
    リフレッシュローダーが使用するディレクトリを作成します。

    Db2の設定は以上です。

  • インストール
    インストーラーのexeファイル(setup-iidr-11.4.0.5-5770-x86.exe)を実行します。
  • OKボタンで次にすすむ

  • Introduction画面では、Install new productを選択して、Next
  • Select DataStore Typeで、Db2を選択します。
  • Select Offeringでは、IBM Data Replicationを選択します。
  • Choose Install Folderで、導入先のフォルダーを指定して、Next
  • Software Lisence Agreementでは、内容を確認し、同意(Accept)を選択し、Next
  • Choose Shortcut Folderでは、Desktopにアイコンを作ることを選択して、Next
  • Choose Instance Folder画面は、そのままで、Next


  • Pre-Installation Summaryで導入のサマリーを確認して、Install
  • 導入が終わるまでしばらくかかるので、そのまま待ちます。
  • 導入の完了 Launch Configuration Toolにチェックが入っているので、Doneをクリックすると、構成ツールが起動してきます。

(5) Replication Engine for Windowsの構成

  • 初期画面では、DB2の構成画面を立ち上げるかどうかを確認しているので、そのままOKをクリックします。
  • Encryption Profileの設定を行います。Manageボタンをクリックして、Profileの設定画面を開きます。
  • EncryptionのProfileをAddで追加します。
  • Profile nameでNoTLSを入力し、Encryptionは、Disableを選択して、OK
  • Instanceの設定画面では、下記のように入力します。
    項目 設定値
    Instance Name DB2
    Encryption profile NoTLS
    Windows Service This account ホスト名\db2admin
    Password db2adminのパスワード
    Confirm Password db2adminのパスワード
    Database DB2 Instance DB2のインスタンスをドロップダウンから選択
    Host ホスト名
    Name データベース名(SAMPLE)
    Port DB2の稼働しているPort(50000)
    Metadata Schema 右側のボタンをクリックして、リストしてDB2ADMINを選択


    下記画面は、Metadata Schema選択画面。
  • 通信プロトコルは、TCP/IP onlyを選択して、OK
  • Instance Successfully Createdがでたら、Yesでインスタンスを開始します。 
  • 実行中になれば、完了です。

(5) Replication Engine for Linuxの導入

ターゲットのEvent Automationにデータを連携するReplication Engine for KafkaはLinuxで稼働するので、WSL2から導入を行っていきます。

  • cdcadminというユーザーを作成します。
  • インストーラー(setup-iidr-11.4.0.5-5770-linux-x86.bin)に実行権を付けます。


  • インストーラーを実行します。
  • 2番の英語で導入します。
  • Install New Productを選択します。
  • 2番のKafkaを選択します。
  • 1番のIBM Data Replicationを選択します。
  • Install FolderはそのままでEnterします。
  • LICENSE INFORMATIONでは、ライセンスを読み、1番でAcceptします。
  • Instance Folderでは、デフォルトのフォルダーのまま、Enterします。
  • Pre-Installation Summaryでは、そのままEnterで導入します。
  • 導入が終わると、構成ツールを起動するか聞かれるので、1番で構成ツールを起動します。
  • rootでは実行できないので、エラーになります。
  • /opt/ibm/InfoSphereDataReplication/ReplicationEngineforKafkaのディレクトリ以下のオーナーとグループをcdcadminに変更します。
  • cdcadminユーザーで再度、構成ツールを起動します。
    /opt/ibm/InfoSphereDataReplication/ReplicationEngineforKafka/binのディレクトリにある、dmconfiguretsを実行します。
  • そのままEnter
  • インスタンス名は、ESとします。
  • Port番号は、デフォルトの11701
  • メモリサイズもデフォルト
  • Encryption profileでは、1を選択
  • Add Encryption profileを選択
  • profile nameは、noTLS
  • Disabledを選択
  • No private Key storeなので、そのままEnter
  • trust storeもそのままEnter
  • パスワードもそのままEnter
  • デフォルトのJKSのままEnter
  • 4で設定を終了しますが、再度noTLSのprofile設定を行います。
  • 通信は、TCP/IPのみなので、nのままEnter
  • インスタンスのユーザーとして、tsuserを使います。このユーザーのパスワードを設定します。

    インスタンスの開始を聞かれるので、yでインスタンスを起動します。
    インスタンスは、正常に起動しました。

    6で構成ツールを終了します。
  • インスタンスが起動しているポート番号を確認します。netstat -ano | grep 11701
    ipv6の::1のホストで、11701で起動していることがわかります。

(6)ポートフォワーディングの設定

Windowsのホストから、WSL2のData Replication Engine for Kafkaのインスタンスにアクセスできるように、port 21701をポートフォワーディングして、WSL2の11701にアクセスできるようにする

  • WindowsのコマンドプロンプトをRun as Administratorで実行し、netsh interface portproxyコマンドを使います。
    netsh interface portproxy add v6tov6 listenaddress=::1 listenport=21701 connectaddress=::1 connectport=11701

IBM Data Replicationの必要なコンポーネントの導入は以上で完了です。

#DataReplication #IBMEventStreams

0 comments
3 views

Permalink