Quick Sight で AWS Mainframe Modernization と Amazon Q を使用して Db2 z/OS データインサイトを生成する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Quick Sight で AWS Mainframe Modernization と Amazon Q を使用して Db2 z/OS データインサイトを生成する

Amazon Web Services、Shubham Roy、Roshna Razack、Santosh Kumar Singh

概要

注: AWS Mainframe Modernization サービス (マネージドランタイム環境エクスペリエンス) は、新規のお客様に公開されなくなりました。 AWS Mainframe Modernization サービス (マネージドランタイム環境エクスペリエンス) に似た機能については、 AWS Mainframe Modernization サービス (セルフマネージドエクスペリエンス) をご覧ください。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「AWS Mainframe Modernization  可用性の変更」を参照してください。

組織がビジネスクリティカルなデータを IBM Db2 メインフレーム環境でホストしている場合、そのデータからインサイトを得ることは、成長とイノベーションを促進するために不可欠です。メインフレームデータをロック解除することで、迅速、安全、スケーラブルなビジネスインテリジェンスを構築し、Amazon Web Services (AWS) クラウドでデータ駆動型の意思決定、成長、イノベーションを加速することができます。

このパターンでは、ビジネスインサイトを生成し、IBM Db2 for z/OS テーブル内のメインフレームデータから共有可能な説明文を作成するためのソリューションを示します。メインフレームデータの変更は、AWS Mainframe Modernization Data Replication with Precisely を使用して Amazon Managed Streaming for Apache Kafka (Amazon MSK) トピックにストリーミングされます。Amazon Redshift ストリーミング取り込みを使用すると、Amazon MSK トピックデータは Amazon Quick Sight での分析のために Amazon Redshift Serverless データウェアハウステーブルに保存されます。

Quick Sight でデータが利用可能になったら、Amazon Q in Quick Sight で自然言語プロンプトを使用して、データの概要を作成し、質問し、データストーリーを生成することができます。SQL クエリを記述したり、ビジネスインテリジェンス (BI) ツールを学習したりする必要はありません。

ビジネスコンテキスト

このパターンでは、メインフレームデータ分析とデータインサイトのユースケースのソリューションを示します。パターンを使用して、会社のデータのビジュアルダッシュボードを構築します。このソリューションを実証するために、このパターンでは、米国のメンバーに医療的、歯科的、眼科的なプランを提供する医療会社を使用しています。この例では、メンバーの人口統計データとプラン情報が IBM Db2 for z/OS データテーブルに保存されます。ビジュアルダッシュボードでは以下について確認できます。

  • リージョン別のメンバーの分布

  • 性別別のメンバーの分布

  • 年齢別のメンバーの分布

  • プランタイプ別のメンバーの分布

  • 予防接種を完了していないメンバー

リージョン別のメンバーの分布と、予防接種を完了していないメンバーの例については、「追加情報」セクションを参照してください。

ダッシュボードを作成したら、前の分析からのインサイトを示すデータストーリーを生成します。データストーリーでは、予防接種を完了したメンバーの数を増やすための推奨事項を提供します。

前提条件と制限

前提条件

  • アクティブ AWS アカウント。このソリューションは、Amazon Elastic Compute Cloud (Amazon EC2) の Amazon Linux 2 で構築およびテストされました。

  • サブネットを持つ仮想プライベートクラウド (VPC) にメインフレームシステムからアクセスできること。

  • ビジネスデータを含むメインフレームデータベース。このソリューションの構築とテストに使用されるデータの例については、「添付ファイル」セクションを参照してください。

  • Db2 z/OS テーブルで変更データキャプチャ (CDC) が有効になっていること。Db2 z/OS で CDC を有効にするには、IBM のドキュメントを参照してください。

  • ソースデータベースをホストしている z/OS システムに Precisely Connect CDC for z/OS がインストールされていること。Precisely Connect CDC for z/OS イメージは、AWS Mainframe Modernization – Data Replication for IBM z/OS Amazon マシンイメージ (AMI) 内の zip ファイルとして提供されます。Precisely Connect CDC for z/OS をメインフレームにインストールするには、Precisely のインストールドキュメントを参照してください。

制限事項

  • メインフレーム Db2 データは、Precisely Connect CDC でサポートされているデータ型である必要があります。サポートされているデータ型のリストについては、Precisely Connect CDC のドキュメントを参照してください。

  • Amazon MSK のデータは、Amazon Redshift でサポートされているデータ型である必要があります。サポートされているデータ型のリストについては、Amazon Redshift のドキュメントを参照してください。

  • Amazon Redshift には、データ型ごとに異なる動作とサイズ制限があります。詳細については、Amazon Redshift のドキュメントを参照してください。

  • Quick Sight のほぼリアルタイムのデータは、Amazon Redshift データベースに設定された更新間隔によって異なります。

  • 一部の AWS のサービス は では使用できません AWS リージョン。リージョンの可用性については、「AWS のサービス (リージョン別)」を参照してください。Amazon Q in Quick Sight は現在、Quick Sight をサポートするすべてのリージョンで利用できるわけではありません。特定のエンドポイントについて確認するには、「Service endpoints and quotas」ページを参照し、サービスのリンクを選択してください。

製品バージョン

  • AWS Mainframe Modernization Precisely バージョン 4.1.44 によるデータレプリケーション

  • Python バージョン 3.6 以降

  • Apache Kafka バージョン 3.5.1

アーキテクチャ

ターゲットアーキテクチャ

次の図に、AWS Mainframe Modernization Data Replication with Precisely と Amazon Q in Quick Sight を使用して、メインフレームデータからビジネスインサイトを生成するためのアーキテクチャを示します。

z/OS メインフレームから Amazon QuickSight への 7 ステップのプロセス。

この図表は、次のワークフローを示しています:

  1. Precisely ログリーダーエージェントが Db2 ログからデータを読み取り、メインフレームの OMVS ファイルシステムの一時ストレージに書き込みます。

  2. パブリッシャーエージェントが一時ストレージから未処理の Db2 ログを読み取ります。

  3. オンプレミスコントローラーデーモンが、オペレーションの認証、認可、モニタリング、管理を行います。

  4. 事前設定された AMI を使用して、Apply エージェントが Amazon EC2 にデプロイされます。TCP/IP を使用し、コントローラーデーモンを介してパブリッシャーエージェントに接続されます。Apply エージェントは、高スループットを実現するため、複数のワーカーを使用してデータを Amazon MSK にプッシュします。

  5. ワーカーが、データを JSON 形式で Amazon MSK トピックに書き込みます。レプリケートされたメッセージの中間ターゲットとして、Amazon MSK は高可用性と自動フェイルオーバー機能を備えています。

  6. Amazon Redshift ストリーミング取り込み機能により、Amazon MSK から Amazon Redshift Serverless データベースへの高速・低遅延のデータインジェストを実行します。Amazon Redshift のストアドプロシージャは、Amazon Redshift テーブルへのメインフレームデータの変更 (挿入/更新/削除) を調整します。これらの Amazon Redshift テーブルは、Quick Sight のためのデータ分析ソースとして機能します。

  7. ユーザーが、分析とインサイトのために Quick Sight のデータにアクセスします。Amazon Q in Quick Sight を使用して、自然言語プロンプトを使用してデータを操作できます。

ツール

AWS のサービス

  • Amazon Elastic Compute Cloud (Amazon EC2) は、 AWS クラウドでスケーラブルなコンピューティング容量を提供します。必要な数の仮想サーバーを起動し、迅速なスケールアップおよびスケールダウンができます。

  • AWS Key Management Service (AWS KMS) は、データの保護に役立つ暗号化キーの作成と制御に役立ちます。

  • Amazon Managed Streaming for Apache Kafka (Amazon MSK)」 は、Apache Kafka を使ってストリーミングデータを処理するアプリケーションを、構築および実行することを支援するフルマネージドサービスです。

  • Amazon QuickSight は、視覚化、分析、レポート生成に使用できるクラウドスケールのビジネスインテリジェンス (BI) サービスです。このパターンでは、Amazon Q in Quick Sight の生成 BI 機能を使用します。

  • Amazon Redshift Serverless は Amazon Redshift のサーバーレスオプションであり、データウェアハウスインフラストラクチャの設定と管理を行わなくても、数秒で分析の実行とスケーリングをより効率的に行うことができます。

  • AWS Secrets Manager を使用すると、コード内のハードコードされた認証情報 (パスワードを含む) を Secrets Manager への API コールで置き換えて、プログラムでシークレットを取得することができます。

その他のツール

  • Precisely Connect CDC は、レガシーシステムからデータを収集し、クラウドおよびデータプラットフォームに統合します。

コードリポジトリ

このパターンのコードは、GitHub 内の 「Mainframe_DataInsights_change_data_reconciliation」リポジトリで入手できます。このコードは、Amazon Redshift のストアドプロシージャです。このストアドプロシージャは、Amazon MSK から Amazon Redshift テーブルへのメインフレームデータの変更 (挿入、更新、削除) を調整します。これらの Amazon Redshift テーブルは、Quick Sight のためのデータ分析ソースとして機能します。

ベストプラクティス

エピック

タスク説明必要なスキル

セキュリティグループをセットアップする。

コントローラーデーモンと Amazon MSK クラスターに接続するには、EC2 インスタンス用のセキュリティグループを作成します。以下のインバウンドルールおよびアウトバウンドルールを追加します。

  • インバウンドルール 1:

    • [タイプ][カスタム TCP] を選択します。

    • [プロトコル] で [TCP] を選択します。

    • [ポート範囲] で、2626 (Precisely コントローラーデーモンのデフォルトポート) またはメインフレームで動作しているコントローラーデーモンのポート番号を選択します。

    • [ソース] で [CIDR ブロック] を選択します。

  • インバウンドルール 2:

    • [タイプ] で [カスタム TCP] を選択します。

    • [プロトコル][SMS] を選択します。

    • [ポート範囲][22] を選択します。

    • [ソース][IP アドレス] または [プレフィックスリスト] を選択します。

  • インバウンドルール 3:

    • [タイプ] で [カスタム TCP] を選択します。

    • [プロトコル] で [TCP] を選択します。

    • [ポート範囲][9092-9098] を選択します。

    • [ソース][CIDR ブロック] を選択します。

  • アウトバウンドルール 1:

    • [タイプ] で [カスタム TCP] を選択します。

    • [プロトコル] で [TCP] を選択します。

    • [ポート範囲][9092-9098] を選択します。

    • [ソース][CIDR ブロック] を選択します。

  • アウトバウンドルール 2:

    • [タイプ] で [カスタム TCP] を選択します。

    • [プロトコル] で [TCP] を選択します。

    • [ポート範囲] で、2626 (Precisely コントローラーデーモンのデフォルトポート) またはメインフレームで動作しているコントローラーデーモンのポート番号を選択します。

    • [ソース][CIDR ブロック] を選択します。

セキュリティグループの名前を書き留めておきます。この名前は、EC2 インスタンスを起動し、Amazon MSK クラスターを設定するときに参照する必要があります。

DevOps エンジニア、AWS DevOps

IAM ポリシーと IAM ロールを作成する。

  1. IAM ポリシーと IAM ロールを作成するには、AWS ドキュメントの指示に従います。

    IAM ポリシーは、Amazon MSK クラスターでトピックを作成し、それらのトピックにデータを送信するためのアクセス権を付与します。

  2. IAM ロールを作成したら、そのロールにポリシーを関連付けます。IAM ロール名を書き留めておきます。このロールは、EC2 インスタンスの起動時に IAM インスタンスプロファイルとして使用されます。

DevOps エンジニア、AWS システム管理者

EC2 インスタンスをプロビジョニングする。

Precisely CDC を実行して Amazon MSK に接続するように EC2 インスタンスをプロビジョニングするには、次の手順を実行します。

  1. にサインインし AWS Marketplace、AWS Mainframe Modernization IBM z/OS のデータレプリケーションにサブスクライブします

  2. マネージドサブスクリプションから AMI を選択し、[新規インスタンスを起動] を選択します。

  3. インスタンス名、インスタンスタイプ、キーペア、VPC、サブネットなど、その他の設定の詳細を入力します。詳細については、「Amazon EC2 ドキュメント」を参照してください。

  4. ドロップダウンリストで、前に作成したセキュリティグループを選択します。

  5. [高度な詳細][IAM インスタンスプロファイル] で、前に作成したロールを選択する必要があります。

  6. [インスタンスを起動] を選択します。

AWS 管理者、DevOps エンジニア
タスク説明必要なスキル

Amazon MSK クラスターを作成します。

Amazon MSK クラスターを作成するには、次の手順を実行します。

  1. にサインインし AWS マネジメントコンソール、Amazon MSK に移動します。

  2. [クラスターを作成] を選択します。

  3. クラスター作成メソッドで [カスタム作成] を選択し、クラスタータイプで [プロビジョニング済み] を選択します。

  4. クラスターの名前を入力します。

  5. 必要に応じて [クラスターの設定] を更新し、それ以外の設定はデフォルトのままにします。

  6. <Kafka バージョン> を書き留めます。Kafka クライアントのセットアップ時に必要になります。

  7. [次へ] を選択します。

  8. Precisely EC2 インスタンスに使用したものと同じ VPC とサブネットを選択し、前に作成したセキュリティグループを選択します。

  9. [セキュリティ設定] セクションで、[SASL/SCRAM][IAM ロールベースの認証] の両方を有効にします。Precisely Connect CDC では SASL/SCRAM (Simple Authentication and Security Layer/ Salted Challenge Response Mechanism) を使用し、IAM は Amazon Redshift への接続に必要です。

  10. [次へ] を選択します。

  11. 確認するには、[モニタリング][ブローカーのログ配信] を選択します。

  12. [次へ] を選択してから、[クラスターを作成] を選択します。

一般的なプロビジョニング済みクラスターの作成には最大 15 分かかります。クラスターが作成されると、そのステータスは作成中からアクティブに変わります。

AWS DevOps、クラウド管理者

SASL/SCRAM 認証をセットアップする。

Amazon MSK クラスターの SASL/SCRAM 認証をセットアップするには、次の手順を実行します。

  1. Secrets Manager でシークレットをセットアップするには、AWS ドキュメントの指示に従います。

  2. Amazon MSK コンソールを開き、前に作成した Amazon MSK クラスターを選択します。

  3. [プロパティ] タブを選択します。

  4. [シークレットの関連付け][シークレットの選択] を選択し、作成したシークレットキーを選択してから、[シークレットの関連付け] を選択します。

    次のような成功メッセージが表示されます。

    Successfully associated 1 secret for cluster <chosen cluster name>

  5. クラスターの名前を選択します。

  6. [クラスターの概要] ページで、[クライアント情報を表示] を選択します。

  7. 認証タイプ SASL/SCRAM のプライベートエンドポイント接続文字列を書き留めます。

クラウドアーキテクト

Amazon SNS トピックを作成する。

Amazon MSK トピックを作成するには、次の手順を実行します。

  1. 前に作成した EC2 インスタンスに接続し、最新の更新がインストールされるように次のコマンドを実行します。

    sudo yum update -y
  2. クライアントマシンに Java と Kafka ライブラリをインストールするため、次のコマンドを実行します。

    sudo yum install -y java-11 librdkafka librdkafka-devel
  3. /home/ec2-userkafka という名前のフォルダを作成するには、そのフォルダに移動し、次のコマンドを実行します。

    mkdir kafka;cd kafka
  4. kafka クライアントライブラリを kafka フォルダにダウンロードします。<YOUR MSK VERSION> は、Amazon MSK クラスターの作成時に書き留めた Kafka バージョンに置き換えてください。

    wget https://archive.apache.org/dist/kafka//kafka_2.13-<YOUR MSK VERSION>.tgz
  5. ダウンロードしたファイルを抽出するには、次のコマンドを実行します。YOUR MSK VERSION> は置き換えてください。

    tar -xzf kafka_2.13-<YOUR MSK VERSION>.tgz
  6. kafka libs ディレクトリに移動して Java IAM 認証 Java Archive (JAR) ファイルをダウンロードするには、次のコマンドを実行します。<YOUR MSK VERSION> は置き換えてください。

    cd kafka_2.13-<YOUR MSK VERSION>/libs wget https://github.com/aws/aws-msk-iam-auth/releases/download/v1.1.1/aws-msk-iam-auth-1.1.1-all.jarkafka
  7. Kafka bin ディレクトリに移動して client.properties ファイルを作成するには、次のコマンドを実行します。

    cd /home/ec2-user/kafka/kafka_2.13-<YOUR MSK VERSION>/bin cat >client.properties
  8. 次の内容に従って client.properties ファイルを更新します。

    security.protocol=SASL_SSL sasl.mechanism=AWS_MSK_IAM sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required; sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
  9. Kafka トピックを作成するには、Kafka bin に移動して次のコマンドを実行します。<kafka broker> は、Amazon MSK クラスターの作成時に書き留めた IAM ブートストラップサーバーのプライベートエンドポイントに置き換えてください。

    ./kafka-topics.sh --bootstrap-server <kafka broker> --command-config client.properties --create --replication-factor 3 —partitions 6 --topic <topic name>

  10. メッセージ Created topic <topic name> が表示されたら、トピック名を書き留めます。

クラウド管理者
タスク説明必要なスキル

データ変更をレプリケートするように Precisely スクリプトをセットアップする。

変更されたデータをメインフレームから Amazon MSK トピックにレプリケートするように Precisely Connect CDC スクリプトをセットアップするには、次の手順を実行します。

  1. フォルダ名 precisely を作成し、そのフォルダに変更するには、次のコマンドを実行します。

    mkdir /home/ec2-user/precisely;cd /home/ec2-user/precisely
  2. precisely 内に 2 つのフォルダ scripts および ddls を作成し、scripts フォルダに変更するには、次のコマンドを実行します。

    mkdir scripts;mkdir ddls;cd scripts
  3. scripts フォルダ内に sqdata_kafka_producer.conf というファイルを作成するには、次のコマンドを実行します。

    cat >sqdata_kafka_producer.conf
  4. 次の内容で sqdata_kafka_producer.conf ファイルを更新します。

    builtin.features=SASL_SCRAM security.protocol=SASL_SSL sasl.mechanism=SCRAM-SHA-512 sasl.username=<User Name> sasl.password=<Password> metadata.broker.list=<SASL/SCRAM Bootstrap servers>
    注記

    <SASL/SCRAM Bootstrap servers> は、前に設定した Amazon MSK SASL/SCRAM ブローカーリストに従って更新します。<Password><User Name> は、Secrets Manager で前に設定したユーザー名とパスワードに従って更新します。

  5. scripts フォルダに script.sqd ファイルを作成します。

    cat >script.sqd

    Apply Engine で script.sqd を使用してソースデータを処理し、ソースデータをターゲットに複製します。Apply Engine スクリプトの例は、「追加情報」セクションを参照してください。

  6. ddls フォルダに変更し、Db2 テーブルごとに .ddl ファイルを作成するには、次のコマンドを実行します。

    cd /home/ec2-user/precisely/ddls cat >mem_details.ddl cat >mem_plans.ddl

.ddl ファイルの例は、「追加情報」セクションを参照してください。

アプリ開発者、クラウドアーキテクト

ネットワーク ACL キーを生成する。

ネットワークアクセスコントロールリスト (ネットワーク ACL) キーを生成するには、次の手順を実行します。

  1. sqdata インストールパスをエクスポートするには、次のコマンドを実行します。

    export PATH=$PATH:/usr/sbin:/opt/precisely/di/sqdata/bin
  2. /home/ec2-user ディレクトリに変更してネットワーク ACL キーを生成するには、次のコマンドを実行します。

    cd /home/ec2-user sqdutil keygen --force

    パブリックキーとプライベートキーが生成されると、次のメッセージが表示されます。

    SQDUT04I Generating a private key in file /home/ec2-user/.nacl/id_nacl SQDC017I sqdutil(pid=27344) terminated successfully
  3. 生成され、.nacl フォルダに保存されているパブリックキーを書き留めます。

クラウドアーキテクト、AWS DevOps
タスク説明必要なスキル

ISPF 画面でデフォルトを設定する。

Interactive System Productivity Facility (ISPF) でデフォルト設定を設定するには、Precisely ドキュメントの指示に従います。

メインフレームシステム管理者

コントローラーデーモンを設定する。

コントローラーデーモンを設定するには、以下を実行します。

  1. [SQData z/OS メインメニュー] 画面で、オプション 2 を選択します。

  2. [デーモンをリストに追加] 画面で、[デーモン名] フィールドにデーモンの名前を入力し、Enter キーを押します。

メインフレームシステム管理者

Configure the publisher。

パブリッシャーを設定するには、次の手順を実行します。

  1. [SQData z/OS メインメニュー] 画面で、オプション 3 を選択します。これにより、[キャプチャ/パブリッシャーの概要] 画面が表示されます。

  2. CAB ファイルを追加するオプションを選択します。これにより、[CAB ファイルをリストに追加] 画面が表示されます。

  3. [名前] フィールドに CAB ファイルの名前を入力します。[Db2] の場合は、[タイプ]D として入力します。

  4. [Enter] キーを押します。これにより、[新しい Db2 キャプチャ CAB ファイルの作成] 画面が表示されます。

  5. [zFS Dir] フィールドで、ストレージマウントポイントを指定します。

  6. Enter キーを押して保存し、続行します。

メインフレームシステム管理者

デーモン設定ファイルを更新する。

コントローラーデーモン設定ファイルのパブリッシャーの詳細を更新するには、次の手順を実行します。

  1. [SQData z/OS メインメニュー] 画面で、オプション 2 を選択します。

  2. 作成したデーモンの近くに S を入力して、デーモンの詳細を表示します。

  3. 1 を入力し、Enter キーを押してエージェントファイルを編集します。

  4. CAB ファイルの詳細を追加します。次の例に、DB2ZTOMSK という名前の CAB ファイルの詳細を示します。<userid> の代わりにメインフレームユーザー ID を使用してください。

    ÝDB2ZTOMSK¨ type=capture cab=/u/<userid>/sqdata/DB2ZTOMSK.cab
  5. F3 を押します。

  6. 2 を入力して ACL ファイルを編集します。次の例に示すように、acl 設定ファイルに userid を追加します。

    Ýacls¨ prod=admin,<userid>
  7. F3 を押して保存し、終了します。

メインフレームシステム管理者

コントローラーデーモンを開始するジョブを作成する。

ジョブを作成するには、以下の手順を実行します。

  1. [オプション] で、G を入力します。

  2. JOB カード、job ライブラリと proc ライブラリ、Db2 load ライブラリの詳細を入力します。

  3. ネットワーク ACL ファイルの詳細を入力し、オプション 2 を入力して、指定した job ライブラリにジョブ制御言語 (JCL) ファイルを生成します。

メインフレームシステム管理者

キャプチャパブリッシャー JCL ファイルを生成する。

キャプチャパブリッシャー JCL ファイルを生成するには、次の手順を実行します。

  1. [SQData z/OS メインメニュー] 画面で、オプション 3 を選択します。これにより、[キャプチャ/パブリッシャーの概要] 画面が表示されます。

  2. CAB ファイルの横で S を入力して選択します。これにより、[Db2 キャプチャ/パブリッシャーの詳細] 画面が表示されます。

  3. [オプション] で、capture/publisher ジョブを生成するためにオプションに G を入力します。

  4. JOB カード、job ライブラリと procedure ライブラリ、Db2 ロードライブラリの詳細を入力します。

  5. ジョブを作成するには、オプション 4 を選択します。ジョブが、job ライブラリで指定した job ライブラリに作成されます。

メインフレームシステム管理者

CDC を確認して更新する。

  1. 次のクエリを実行して Db2 テーブルの DATACAPTUREフラグを確認します。<table name> は、Db2 テーブル名に変更してください。

    SELECT DATACAPTURE FROM SYSIBM.SYSTABLES WHERE NAME='<table name>';

    結果に DATACAPTUREY と表示されることを確認します。

  2. DATACAPTUREY でない場合は、次のクエリを実行して Db2 テーブルの CDC を有効にします。<table name> は、Db2 テーブル名に変更してください。

    ALTER TABLE <table name> DATA CAPTURE CHANGES;
メインフレームシステム管理者

JCL ファイルを送信する。

前のステップで設定した次の JCL ファイルを送信します。

  • コントローラーデーモンを起動する JCL ファイル

  • キャプチャと公開を開始する JCL ファイル

JCL ファイルが送信されれば、EC2 インスタンスで Precisely の Apply Engine を起動できるようになります。

メインフレームシステム管理者
タスク説明必要なスキル

Apply Engine を起動し、CDC を検証する。

EC2 インスタンスで Apply Engine を起動し、CDC を検証するには、次の手順を実行します。

  1. EC2 インスタンスに接続するには、AWS ドキュメントの指示に従います。

  2. script.sqd ファイルが格納されているディレクトリに変更します。

    cd /home/ec2-user/precisely/scripts
  3. Apply Engine を起動するには、次の sqdeng 起動コマンドを実行します。

    sqdeng -s script.sqd --identity=/home/ec2-user/.nacl/id_nacl

    Apply Engine は、メインフレームソースからの更新の待機を開始します。

  4. CDC をテストするには、Db2 テーブルでレコードの挿入または更新を行います。

  5. Apply Engine ログに、キャプチャされてターゲットに書き込まれたレコードの数が記録されていることを検証します。

クラウドアーキテクト、アプリ開発者

Amazon MSK トピックのレコードを検証する。

Kafka トピックからメッセージを読み取るには、次の手順を実行します。

  1. EC2 インスタンスの Kafka クライアントインストールパスの bin ディレクトリを変更するには、次のコマンドを実行します。<Kafka version> は、お使いのバージョンに置き換えてください。

    cd /home/ec2-user/kafka/kafka_2.13-<Kafka version>/bin
  2. Kafka トピックでメッセージとして書き込まれた Db2 CDC を検証するには、次のコマンドを実行します。<kafka broker><Topic Name> は、前に作成したトピックに置き換えてください。

    ./kafka-console-consumer.sh --bootstrap-server <kafka broker>:9098 --topic <Topic Name> --from-beginning --consumer.config client.properties

  3. メッセージが Db2 テーブルで更新されたレコードの数と一致することを検証します。

アプリ開発者、クラウドアーキテクト
タスク説明必要なスキル

Amazon Redshift Serverless を設定する。

Amazon Redshift Serverless データウェアハウスを作成するには、AWS ドキュメントの指示に従います。

Amazon Redshift Serverless ダッシュボードで、名前空間とワークグループが作成され、使用可能であることを確認します。このパターン例では、プロセスに 2~5 分かかる場合があります。

データエンジニア

ストリーミング取り込みに必要な IAM ロールと信頼ポリシーをセットアップする。

Amazon MSK からの Amazon Redshift Serverless ストリーミング取り込みをセットアップするには、次の手順を実行します。

  1. Amazon Redshift から Amazon MSK へのアクセスのための IAM ポリシーを作成します。

    [region] を AWS リージョン for Amazon MSK、 [account-id] を AWS アカウント ID、 を Amazon MSK クラスター名[msk-cluster-name]に置き換えて、次のコードを実行します。

    {"Version": "2012-10-17", "Statement": [{"Sid": "MSKIAMpolicy","Effect": "Allow","Action": ["kafka-cluster:ReadData","kafka-cluster:DescribeTopic","kafka-cluster:Connect"],"Resource": ["arn:aws:kafka:[region]:[account-id]:cluster/[msk-cluster-name]/*","arn:aws:kafka:[region]:[account-id]:topic/[msk-cluster-name]/*"]},{"Effect": "Allow","Action": ["kafka-cluster:AlterGroup","kafka-cluster:DescribeGroup"],"Resource": ["arn:aws:kafka:[region]:[account-id]:group/[msk-cluster-name]/*"]}]}

    クラスター名と Amazon リソースネーム (ARN) は、Amazon MSK コンソールで確認できます。コンソールで、[クラスターの概要] を選択し、[ARN] を選択します。

  2. IAM ロールを作成してポリシーをアタッチするには、AWS ドキュメントの指示に従います。

  3. IAM ロールを Amazon Redshift Serverless の名前空間にアタッチするには、次の手順を実行します。

    1. コンソールにサインインして、https://console.aws.amazon.com/redshiftv2/ で Amazon Redshift コンソールを開きます。

    2. [Serverless dashboard] (サーバーレスダッシュボード) を選択します。

    3. [名前空間] を選択します。

    4. [セキュリティと暗号化] タブを選択します。

    5. [アクセス許可] を選択し、作成した IAM ロールをアタッチします。

  4. Amazon Redshift Serverless セキュリティグループで、以下の詳細に従ってインバウンドルールを作成します。

    • [タイプ] で [カスタム TCP] を選択します。

    • [プロトコル] で [TCP] を選択します。

    • [ポート範囲][9098, 9198] を選択します。

    • [ソース][Amazon MSK セキュリティグループ] を選択します。

  5. Amazon MSK セキュリティグループで、以下の詳細に従ってインバウンドルールを作成します。

    • [タイプ] で [カスタム TCP] を選択します。

    • [プロトコル] で [TCP] を選択します。

    • [ポート範囲][9098, 9198] を選択します。

    • [ソース][Amazon Redshift セキュリティグループ] を選択します。

    このパターンでは、Amazon Redshift と Amazon MSK の両方の設定で IAM 認証のポートを使用します。詳細については、AWS のドキュメントを参照してください (ステップ 2)。

  6. Amazon Redshift Serverless ワークグループ用の拡張された VPC ルーティングを有効化します。詳細については、AWS のドキュメントを参照してください。

データエンジニア

Amazon Redshift Serverless を Amazon MSK に接続する。

Amazon MSK トピックに接続するには、Amazon Redshift Serverless で外部スキーマを作成します。Amazon Redshift Query Editor V2 で、次の SQL コマンドを実行します。'iam_role_arn' は、前に作成したロールに置き換え、'MSK_cluster_arn はクラスターの ARN に置き換えてください。

CREATE EXTERNAL SCHEMA member_schema FROM MSK IAM_ROLE 'iam_role_arn' AUTHENTICATION iam URI 'MSK_cluster_arn';
移行エンジニア

マテリアライズドビューを作成する。

Amazon Redshift Serverless で Amazon MSK トピックのデータを使用するには、マテリアライズドビューを作成します。Amazon Redshift Query Editor V2 で、次の SQL コマンドを実行します。<MSK_Topic_name> は、Amazon MSK トピックの名前に置き換えてください。

CREATE MATERIALIZED VIEW member_view AUTO REFRESH YES AS SELECT kafka_partition, kafka_offset, refresh_time, json_parse(kafka_value) AS Data FROM member_schema.<MSK_Topic_name> WHERE CAN_JSON_PARSE(kafka_value);
移行エンジニア

Amazon Redshift でターゲットテーブルを作成する。

Amazon Redshift テーブルは、Quick Sight の入力となります。このパターンでは、メインフレームのソース Db2 テーブルと一致するテーブル member_dtlsmember_plans を使用します。

Amazon Redshift で 2 つのテーブルを作成するには、Amazon Redshift Query Editor V2 で次の SQL コマンドを実行します。

-- Table 1: members_dtls CREATE TABLE members_dtls ( memberid INT ENCODE AZ64, member_name VARCHAR(100) ENCODE ZSTD, member_type VARCHAR(50) ENCODE ZSTD, age INT ENCODE AZ64, gender CHAR(1) ENCODE BYTEDICT, email VARCHAR(100) ENCODE ZSTD, region VARCHAR(50) ENCODE ZSTD ) DISTSTYLE AUTO; -- Table 2: member_plans CREATE TABLE member_plans ( memberid INT ENCODE AZ64, medical_plan CHAR(1) ENCODE BYTEDICT, dental_plan CHAR(1) ENCODE BYTEDICT, vision_plan CHAR(1) ENCODE BYTEDICT, preventive_immunization VARCHAR(50) ENCODE ZSTD ) DISTSTYLE AUTO;
移行エンジニア

Amazon Redshift でストアドプロシージャを作成して保存する。

このパターンでは、ストアドプロシージャを使用して、Quick Sight での分析のために、ソースメインフレームからターゲット Amazon Redshift データウェアハウステーブルに変更データ (INSERTUPDATEDELETE) を同期します。

Amazon Redshift でストアドプロシージャを作成するには、Query Editor v2 を使用して、GitHub リポジトリにあるストアドプロシージャコードを実行します。

移行エンジニア

ストリーミングマテリアライズドビューから読み取り、ターゲットテーブルにロードする。

ストアドプロシージャは、ストリーミングマテリアライズドビューからデータ変更を読み取り、ターゲットテーブルにロードします。ストアドプロシージャを実行するには、次のコマンドを実行します。

call SP_Members_Load();

Amazon EventBridge を使用して、データレイテンシー要件に基づいてこのストアドプロシージャを呼び出すように Amazon Redshift データウェアハウス内でジョブをスケジュールすることができます。EventBridge は、一定の間隔でジョブを実行します。プロシージャへの前回の呼び出しが完了したかどうかをモニタリングするには、AWS Step Functions ステートマシンなどのメカニズムを使用する必要がある場合があります。詳細については、以下のリソースを参照してください。

もう 1 つのオプションは、Amazon Redshift Query Editor V2 を使用して更新をスケジュールすることです。詳細については、「クエリエディタ v2 でスケジュールされたクエリ」を参照してください。

移行エンジニア
タスク説明必要なスキル

Quick Sight をセットアップする。

Quick Sight をセットアップするには、AWS ドキュメントの指示に従います。

移行エンジニア

Quick Sight と Amazon Redshift 間の安全な接続をセットアップする。

Quick Sight と Amazon Redshift 間の安全な接続をセットアップするには、次の手順を実行します。

  1. Quick Sight から Amazon Redshift への接続を許可するには、Amazon Redshift コンソールを開き、Amazon Redshift セキュリティグループにインバウンドルールを追加します。このルールでは、Quick Sight のセットアップに使用した CIDR 範囲から、ポート 5439 (デフォルトの Redshift ポート) へのトラフィックを許可する必要があります。 AWS リージョン とその IP アドレスのリストについては、「Supported AWS リージョン for Quick Sight」を参照してください。

    Amazon Redshift コンソールで、[ワークグループ][データアクセス][ネットワークとセキュリティ] を選択し、[パブリックにアクセス可能] を有効にします。

移行エンジニア

Quick Sight のデータセットを作成する。

Amazon Redshift から Quick Sight のデータセットを作成するには、次の手順を実行します。

  1. Quick Sight コンソールのナビゲーションペインで、[データセット] を選択します。

  2. [Datasets (データセット)] ページで、[New data set (新しいデータセット)] を選択します。

  3. [Redshift 手動接続] を選択します。

  4. [新規 Redshift データソース] ウィンドウで、接続情報を入力します。

    • [データソース名] に、Amazon Redshift データソースの名前を入力します。

    • [データベースサーバー] に、Amazon Redshift クラスターのエンドポイントを入力します。エンドポイント値は、Amazon Redshift Serverless ダッシュボードでクラスターワークグループの [一般的な情報] セクションの[エンドポイント] フィールドから取得できます。次の例に示すように、サーバーアドレスはコロンの前のエンドポイントの最初の部分です。

      mfdata-insights.NNNNNNNNN.us-east-1.redshift-serverless.amazonaws.com:5439/dev
    • ポートには、5439 (Amazon Redshift のデフォルトポート) を入力します。

    • データベースの名前を入力します (エンドポイントのスラッシュの後)。この場合、データベース名は dev です。

    • [ユーザー名][パスワード] には、Amazon Redshift データベースのユーザー名とパスワードを入力します。

  5. [接続を検証] を選択します。成功すると、検証を示す緑色のチェックマークが表示されます。検証に失敗した場合は、「トラブルシューティング」セクションを参照してください。

  6. [データソースを作成] を選択します。

移行エンジニア

データセットを結合する。

Quick Sight で分析を作成するには、AWS ドキュメントの指示に従って 2 つのテーブルを結合します。

[結合設定] ペインで、[結合タイプ][左] を選択します。[結合句] で、memberid from member_plans = memberid from members_details を使用します。

移行エンジニア
タスク説明必要なスキル

Amazon Q in Quick Sight を設定する。

Amazon Q in Quick Sight の生成 BI 機能をセットアップするには、AWS ドキュメントの指示に従います。

移行エンジニア

メインフレームデータを分析し、ビジュアルダッシュボードを構築する。

Quick Sight でデータを分析および視覚化するには、以下を実行します。

  1. メインフレームのデータ分析を作成するには、AWS ドキュメントの指示に従います。[データセット] で、作成したデータセットを選択します。

  2. 分析ページで、[ビジュアルを構築] を選択します。

  3. [分析用のトピックを作成] ウィンドウで、[既存のトピックを更新] を選択します。

  4. [トピックを選択] ドロップダウンリストで、前に作成したトピックを選択します。

  5. [トピックのリンク] を選択します。

  6. トピックをリンクしたら、[ビジュアルを構築] を選択して Amazon Q の [ビジュアルを構築] ウィンドウを開きます。

  7. プロンプトバーに分析の質問を記述します。このパターンで使用される質問の例を次に示します。

    • リージョン別のメンバーの分布を表示

    • 年齢別のメンバーの分布を表示

    • 性別別のメンバーの分布を表示

    • プランタイプ別のメンバーの分布を表示

    • 予防接種が未完了のメンバーを表示

    質問を入力したら、[構築] を選択します。Amazon Q in Quick Sight によりビジュアルが作成されます。

  8. ビジュアルダッシュボードにビジュアルを追加するには、[分析に追加] を選択します。

それらが完了したら、ダッシュボードを公開して、組織内の他のユーザーと共有することができます。例については、「追加情報」セクションの「メインフレームビジュアルダッシュボード」を参照してください。

移行エンジニア
タスク説明必要なスキル

データストーリーを作成する。

前の分析からのインサイトを説明するデータストーリーを作成し、メンバーの予防接種を促進するための推奨事項を生成します。

  1. データストーリーを作成するには、AWS ドキュメントの指示に従います。

  2. データストーリーのプロンプトには、以下を使用します。

    Build a data story about Region with most numbers of members. Also show the member distribution by medical plan, vision plan, dental plan. Recommend how to motivate members to complete immunization. Include 4 points of supporting data for this pattern.

    また、独自のプロンプトを構築して、他のビジネスインサイト用のデータストーリーを生成することもできます。

  3. [ビジュアルを追加] を選択し、データストーリーに関連するビジュアルを追加します。このパターンでは、前に作成したビジュアルを使用します。

  4. [Build] を選択します。

  5. データストーリーの出力の例については、「追加情報」セクションの「データストーリーの出力」を参照してください。

移行エンジニア

生成されたデータストーリーを表示する。

生成されたデータストーリーを表示するには、[データストーリー] ページでそのストーリーを選択します。

移行エンジニア

生成されたデータストーリーを編集する。

データストーリーのフォーマット、レイアウト、ビジュアルを変更するには、AWS ドキュメントの指示に従います。

移行エンジニア

データストーリーを共有する。

データストーリーを共有するには、AWS ドキュメントの指示に従います。

移行エンジニア

トラブルシューティング

問題ソリューション

Quick Sight から Amazon Redshift へのデータセットの作成で、Validate Connection に失敗した。

  1. Amazon Redshift Serverless インスタンスにアタッチされたセキュリティグループにより、Quick Sight をセットアップしたリージョンに関連付けられた IP アドレス範囲からのインバウンドトラフィックが許可されていることを確認してください。

  2. Amazon Redshift Serverless がデプロイされている VPC が公開されていることを確認してください。

  3. Amazon Redshift に正しいユーザー名とパスワードを使用していることを確認してください。ユーザー名とパスワードのリセットは、Amazon Redshift コンソールでできます。

EC2 インスタンスで Apply Engine を起動しようとすると、次のエラーが返される。

-bash: sqdeng: command not found

次のコマンドを実行して、sqdata インストールパスをエクスポートしてください。

export PATH=$PATH:/usr/sbin:/opt/precisely/di/sqdata/bin

Apply Engine を起動しようとすると、次のいずれかの接続エラーが返される。

  • SQDD018E Cannot connect to transfer socket(rc==0x18468). Agent:<Agent Name > Socket:/u/./sqdata/.DB2ZTOMSK.cab.data

  • SQDUR06E Error opening url cdc://<VPC end point name>:2626/DB2ZTOMSK/DB2ZTOMSK : errno:1128 (Unknown error 1128)

メインフレームスプールをチェックして、コントローラーデーモンジョブが実行されていることを確認してください。

関連リソース

追加情報

.ddl ファイルの例

members_details.ddl

CREATE TABLE MEMBER_DTLS ( memberid INTEGER NOT NULL, member_name VARCHAR(50), member_type VARCHAR(20), age INTEGER, gender CHAR(1), email VARCHAR(100), region VARCHAR(20) );

member_plans.ddl

CREATE TABLE MEMBER_PLANS ( memberid INTEGER NOT NULL, medical_plan CHAR(1), dental_plan CHAR(1), vision_plan CHAR(1), preventive_immunization VARCHAR(20) );

.sqd ファイルの例

<kafka topic name> は Amazon MSK トピック名に置き換えてください。

script.sqd

-- Name: DB2ZTOMSK: DB2z To MSK JOBNAME DB2ZTOMSK;REPORT EVERY 1;OPTIONS CDCOP('I','U','D');-- Source Descriptions JOBNAME DB2ZTOMSK; REPORT EVERY 1; OPTIONS CDCOP('I','U','D'); -- Source Descriptions BEGIN GROUP DB2_SOURCE; DESCRIPTION DB2SQL /var/precisely/di/sqdata/apply/DB2ZTOMSK/ddl/mem_details.ddl AS MEMBER_DTLS; DESCRIPTION DB2SQL /var/precisely/di/sqdata/apply/DB2ZTOMSK/ddl/mem_plans.ddl AS MEMBER_PLANS; END GROUP; -- Source Datastore DATASTORE cdc://<zos_host_name>/DB2ZTOMSK/DB2ZTOMSK OF UTSCDC AS CDCIN DESCRIBED BY GROUP DB2_SOURCE ; -- Target Datastore(s) DATASTORE 'kafka:///<kafka topic name>/key' OF JSON AS TARGET DESCRIBED BY GROUP DB2_SOURCE; PROCESS INTO TARGET SELECT { REPLICATE(TARGET) } FROM CDCIN;

メインフレームビジュアルダッシュボード

次のデータビジュアルは、分析の質問 show member distribution by region のために Amazon Q in Quick Sight によって作成されました。

北東部と南西部のメンバーは 8 人、南西部のメンバーは 5 人、中西部のメンバーは 4 人です。

次のデータビジュアルは、質問 show member distribution by Region who have not completed preventive immunization, in pie chart のために Amazon Q in Quick Sight によって作成されました。

南東部は 6 人、南西部は 5 人、中西部は 4 人を示しています。

データストーリーの出力

次のスクリーンショットに、プロンプト Build a data story about Region with most numbers of members. Also show the member distribution by age, member distribution by gender. Recommend how to motivate members to complete immunization. Include 4 points of supporting data for this pattern のために Amazon Q in Quick Sight によって作成されたデータストーリーのセクションを示します。

概要でデータストーリーにより推奨されているのは、予防接種の取り組みから最大の効果を得られるようにメンバー数が最も多い地域を選択することです。

メンバーベースの地理的、人口統計、年齢に基づく分析の概要画面。

データストーリーでは、4 つのリージョンのメンバー数の分析を示します。メンバーが多いのは、北東部、南西部、および南東部リージョンです。

北東部および南西部リージョンには 8 人のメンバーがいて、南東部には 6 人のメンバー、中西部には 4 人のメンバーがいます。

データストーリーは、年齢別のメンバーの分析を示しています。

メンバーベースが若年および中年の成人に偏っていることを示すグラフ。

データストーリーは、中西部での予防接種の取り組みに焦点を当てています。

個人へのアウトリーチキャンペーンとリージョンの課題に関する推奨事項。
データストーリー分析の継続と、期待される成果および結論。

アタッチメント

このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip