OCI上のHeatWaveからAzure Event Hubsへのデータの送信

OCI GoldenGateを使用して、OCI上のHeatWaveからAzure Event Hubsにデータをレプリケートする方法について学習します。

開始する前に

このクイックスタートを正常に完了するには、次が必要です:

  • OCI要塞。OCIデータベース上のHeatWaveに接続し、サンプル・データベースをロードして挿入を実行します。
  • ソース・データベースとして機能するOCIデータベース上のHeatWave。
  • Azure Event Hubsネームスペースおよびイベント・ハブが作成されました
    ノート

    Azure Event Hubs Basic TierでKafka Surfaceが有効になっていません。標準または割増階層が必要です。

タスク0: 環境の設定

このクイックスタートの環境を設定するには:
  1. サンプル・データ・スクリプトのダウンロードし、OCIデータベースのHeatWaveでスクリプトを実行してデータベースの作成とデータのロードを行います。
  2. 次のスクリプトを使用して、ggadminユーザーを作成します。<ggadmin-password>を有効なパスワードに置き換えてください:
    CREATE USER 'ggadmin' IDENTIFIED BY '<ggadmin-password>';
    GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT, CREATE,CREATE VIEW, EVENT, INSERT, UPDATE, DROP,EXECUTE, DELETE ON *.* TO 'ggadmin';
  3. OCI GoldenGateが接続できるようにport 3306を開きます。
    1. Oracle Cloudコンソールで、OCIデータベース上のHeatWaveが使用するサブネットを見つけます。
    2. サブネットのセキュリティ・リストで、port TCP/3306のイングレス・ルールを作成します。

タスク2: Extractの作成

  1. 「デプロイメント」ページで、タスク1で作成したMySQLデプロイメントを選択します。
  2. 「デプロイメントの詳細」ページで、「コンソールの起動」をクリックします。
  3. タスク1でデプロイメントを作成したときに指定した管理者資格証明を使用して、ソースMySQLデプロイメント・コンソールにサインインします。
  4. ナビゲーション・メニューを開き、「構成」を選択します。
  5. MySQLデータベース・サーバー接続の資格証明を確認します。「ドメイン」および「別名」に注意してください。
  6. 管理サービスの「概要」ページに戻ります。
  7. Administration Serviceの概要ページで、「Extractの追加」(プラス・アイコン)をクリックします。
  8. 「Extractタイプ」ページで、「変更データ取得Extract」を選択し、「次」をクリックします。
  9. 次のようにExtractオプションを入力し、「次」をクリックします:
    1. 「プロセス名」に、Extractの名前(CDCEXTなど)を入力します。
    2. 「資格証明ドメイン」で、ステップ5のドメインを選択します。
    3. 「資格証明別名」で、ステップ5の別名を選択します。
    4. 「トレイル名」に、2文字のトレイル名(C1など)を入力します。
  10. グローバル・トランザクション識別子(GTID)を使用していないMySQLデータベースから取得する場合は、「リモート」を有効にします。
  11. 「Extractパラメータ」ページで、次を追加します:
    TABLE SRC_OCIGGLL.*;
  12. 「作成および実行」をクリックします。

    管理サービスの「概要」ページに戻り、Extractの起動を確認できます。

タスク3: ビッグ・データ・デプロイメントをターゲットとする分散パスの作成

  1. 「デプロイメント」ページで、ターゲット・ビッグ・データ・デプロイメントを選択します。
  2. 「デプロイメントの詳細」ページで、「コンソールの起動」をクリックします。
  3. 分散パスのユーザーを作成します。
    1. ナビゲーション・メニューを開き、「管理者」をクリックします。
    2. 「新規ユーザーの追加」(プラス・アイコン)をクリックし、次のようにフィールドに入力して、「送信」をクリックします:
      • 「ユーザー名」に、ggsnetと入力します。
      • 「ロール」で、「演算子」を選択します。
      • 確認のためにパスワードを2回入力します。
  4. ソースMySQLデプロイメント・コンソールで、前のステップで作成したユーザーの資格証明を作成します。
    1. ナビゲーション・メニューを開き、「構成」を選択します。
    2. 「資格証明の追加」(プラス・アイコン)をクリックし、次のようにフィールドに入力して、「送信」をクリックします:
      • 「資格証明ドメイン」に、GGSNetworkと入力します。
      • 「資格証明別名」に、dpuserと入力します
      • 「データベース名」には、任意の名前を入力して「データベース・サーバー」および「ポート」フィールドを空白のままにするか、デフォルト値を使用できます。
      • 「ユーザーID」に、ggsnetと入力します
      • 「パスワード」に、前のステップで使用されているものと同じパスワードを入力します。
  5. 分散パスの作成:
    1. ソースのMySQLデプロイメント・コンソールで、「分散サービス」をクリックし、「パスの追加」(プラス・アイコン)をクリックします。
    2. 次のフィールドに入力し、「作成および実行」をクリックします:
    • 「パス名」に、このパスの名前を入力します。
    • 「ソースExtract」で、「チェンジ・データ・キャプチャExtract」(CDCEXT)を選択します。
    • 「トレイル名」で、変更データ取得Extractのトレイル・ファイル(C1).を選択します
    • 「ターゲット認証方式」で、「ユーザーID別名」を選択します。
    • 「ターゲット」で、「wss」を選択します。
    • 「ターゲット・ホスト」に、ターゲットOCI GoldenGateデプロイメント・コンソールのURLをhttps://または後続のスラッシュなしで入力します。
    • 「ポート番号」に、443と入力します
    • 「トレイル名」に、C1と入力します。
    • 「ドメイン」に、前のステップで作成したドメイン名を入力します。
    • 「別名」に、前のステップで作成した別名を入力します。

    分散サービスの「概要」ページに戻り、作成したパスを確認できます。

  6. ターゲットOCI GoldenGateビッグ・データ・デプロイメント・コンソールで、分散パスの結果として作成された受信パスを確認します:
    1. 「レシーバ・サービス」をクリックします。
    2. 受信パスの詳細を確認します。

タスク4: Azureイベント・ハブのReplicatの追加

  1. ビッグ・データ・デプロイメントで、Administrator Serviceをクリックし、Replicatの追加(プラス・アイコン)」をクリックします。
  2. 次の値を使用して、Replicatを追加します。
    1. Replicatの「情報」ページのReplicatタイプで、Classic Replicatを選択し、プロセス名を入力します。
    2. Replicatオプション・ページで、次の手順を実行します。
      • 「トレイル名」に、タスク2からトレイルの名前を入力します。
      • 「ターゲット」で、Azureイベント・ハブを選択します。
      • 「別名」で、タスク1で作成したAzureイベント・ハブ接続を選択します。
    3. Replicatの「パラメータ」ページで、デフォルトのままにします。
    4. 「プロパティ・ファイル」ページで、topicMappingTemplateのトピック名を指定します。
    5. 「作成および実行」をクリックします。

タスク5: OCI上のHeatWaveからAzure Event Hubsへのデータ・レプリケーションの検証

OCIデータベースでソースHeatWaveの更新を実行して、Azure Event Hubsへのレプリケーションを確認します。
  1. OCI Bastionで、MySQL IPおよびport 3306を使用してSSHポート転送セッションを作成します。公開SSHキーを追加します。
  2. 秘密キーおよびport 3306を使用して、クラウド・シェルでMySQLに接続します
  3. 接続に成功したら、次のコマンドを実行します:
    mysqlsh admin@localhost:3306 --sql
  4. 次のスクリプトを実行して、OCIデータベースのHeatWaveへの挿入を実行します:
    use SRC_OCIGGLL;
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    commit;
  5. ソースMySQLデプロイメント・コンソールで、Change Data Capture Extract名を選択し、「統計」をクリックします。SRC_OCIGGLL.SRC_CITYに10個の挿入があることを確認します。
  6. ターゲット・ビッグ・データ・デプロイメント・コンソールで、Replicat名を選択し、「統計」をクリックします。SRC_OCIGGLL.SRC_CITYに10個の挿入があることを確認します。
  7. Azure Event Hubsでは、メッセージ統計を確認できます。