バージョン 2.0: BigQuery Connector for SAP を Google Cloud の外部のホストにインストールして構成する

このガイドでは、オンプレミス、別のクラウド プロバイダ、または Google Cloud 以外の別の環境にあるホストで実行されている SAP LT Replication Server にバージョン 2.0 または 2.1 の BigQuery Connector for SAP をインストールして構成する方法について説明します。

このガイドでは、BigQuery、SAP Landscape Transformation Replication Server(SAP LT Replication Server)、BigQuery Connector for SAP を準備し、SAP アプリケーションから SAP データをリアルタイムで直接かつ安全に BigQuery にレプリケートする方法を説明します。

このガイドは、SAP 管理者、Google Cloud 管理者などの SAP と Google Cloud のセキュリティやデータの専門家を対象としています。

前提条件

BigQuery Connector for SAP をインストールする前に、次の前提条件を満たしていることを確認してください。

  • BigQuery Connector for SAP のプランニング ガイドを確認している。このプランニング ガイドでは、BigQuery Connector for SAP のオプション、パフォーマンスに関する考慮事項、フィールド マッピングなど、BigQuery Connector for SAP の最適な構成に必要な情報について説明します。
  • Google Cloud プロジェクトが存在しない場合は作成します。

    プロジェクト セレクタに移動

  • プロジェクトで課金が有効になっている。プロジェクトで課金が有効になっていることを確認してください。BigQuery ストリーミング API と BigQuery を使用する場合と、BigQuery Connector for SAP をダウンロードする場合は、請求先アカウントが必要です。

  • SAP のプロダクトの可用性マトリックスで説明されているように、インストールされている SAP ソフトウェアのメンテナンスは最新状態であり、すべての SAP ソフトウェアのバージョン間に互換性がある。

  • ソフトウェアの要件に記載されているとおり、使用している SAP ソフトウェアのバージョンが BigQuery Connector for SAP でサポートされている。

  • SAP LT Replication Server SDK を使用して任意のターゲットにデータを複製するには、正しい SAP ライセンスが必要です。SAP ライセンスの詳細については、SAP Note 2707835 をご覧ください。

  • SAP LT Replication Server がインストールされている。SAP LT Replication Server のインストールの詳細については、SAP のドキュメントをご覧ください。

  • SAP LT Replication Server とソースシステムの間の RFC 接続またはデータベース接続が構成されている。必要に応じて、SAP トランザクション SM59 を使用し、RFC 接続をテストしてください。データベース接続は、SAP トランザクション DBACOCKPIT を使用して、テストしてください。

インストールと構成のプロセスの概要

次の表に、このガイドで説明する手順と、対象の手順を行うロールを示します。

手順 ロール
必要に応じて、SAP から適切なライセンスをすべて検証したら、SAP の手順に沿って SAP Landscape Transformation Replication Server をインストールします。 SAP 管理者。
必要に応じて、SAP NetWeaver のユーザー インターフェース(UI)アドオンをインストールします。詳細については、SAP ソフトウェア バージョンの要件をご覧ください。 SAP 管理者。
SAP システムと Google Cloud との間で、ネットワーク接続を確立します。 ネットワーク管理者。
必要な Google Cloud APIs を有効にします Google Cloud 管理者。
Google Cloud APIs への限定公開アクセスを有効にします Google Cloud ネットワーク管理者。
必要に応じて、SAP LT Replication Server ホストに CLI をインストールします。 SAP 管理者。
BigQuery データセットを作成します。 Google Cloud の管理者またはデータ エンジニア。
Google Cloud の認証と認可を設定します Google Cloud セキュリティ管理者。
BigQuery Connector for SAP インストール パッケージをダウンロードします Google Cloud 請求先アカウント所有者。
BigQuery Connector for SAP をインストールします SAP 管理者。
BigQuery Connector for SAP の SAP ロールと権限を作成します SAP 管理者。
レプリケーションを構成します データ エンジニアまたは管理者。
レプリケーションをテストします データ エンジニアまたは管理者。
レプリケーションを検証します データ エンジニアまたは管理者。

Google Cloud へのネットワーク接続を確立する

SAP ワークロードが Google Cloud で実行されていない場合は、ユーザーまたはネットワーク管理者が、Google Cloud に対する安全で高帯域幅、かつ低レイテンシの接続を確立する必要があります。

接続には次の 2 つの方法があります。

接続を設定するには、選択した Google Cloud 接続サービスが指定する手順に沿って操作します。

接続サービスごとにシナリオが異なれば手順も異なるため、サービス ドキュメントを確認し、目的のシナリオに従ってください。

必要な Google Cloud APIs を有効にする

BigQuery Connector for SAP が BigQuery にアクセスするには、次の Google Cloud APIs を有効にする必要があります。

  • BigQuery API
  • IAM Service Account Credentials API

Google Cloud APIs を有効にする方法については、API を有効にするをご覧ください。

Google Cloud APIs への限定公開アクセスを有効にする

Google Cloud で SAP ワークロードが実行されていない場合は、Google Cloud へのネットワーク接続を確立した後、Google Cloud APIs への限定公開アクセスを有効にする必要があります。

限定公開 API アクセスを有効にするには、オンプレミス ホスト用の限定公開の Google アクセスを構成するをご覧ください。

gcloud CLI をインストールする

BigQuery へのレプリケーションには、sidadm ユーザー アカウントに SAP LT Replication Server ホストの Google Cloud CLI(gcloud CLI)へのアクセス権が必要です。

gcloud CLI は、SAP 管理者がインストールできます。

gcloud CLI をインストールするには、次の手順を行います。

  1. gcloud CLI のインストール手順を行います。

  2. sidadm ユーザー アカウントが gcloud CLI インストール ディレクトリにアクセスすることを許可します。

  3. 必要に応じて sidadm として、gcloud CLI のデフォルト プロジェクトを設定します。

    gcloud config set project PROJECT_ID

    PROJECT_ID は、BigQuery データセットを含むプロジェクトの ID に置き換えます。例: example-project-123456

    gcloud CLI のデフォルト プロジェクトを設定していない場合は、発行する各 gcloud コマンドで --project プロパティを指定する必要があります。

プロキシ サーバーを使用して HTTP リクエストを Google Cloud に送信する場合は、プロキシの背後で使用されるように gcloud CLI を構成します。構成の詳細については、プロキシ / ファイアウォールの背後で gcloud CLI を使用する場合の構成をご覧ください。

gcloud CLI に対する BigQuery Connector for SAP の要件の詳細については、gcloud CLI の要件をご覧ください。

BigQuery データセットを作成する

BigQuery の Google Cloud 認証と認可をテストするか、ターゲット BigQuery テーブルを作成するには、まずユーザーまたはデータ エンジニア、あるいは管理者が BigQuery データセットを作成する必要があります。

BigQuery データセットを作成するには、ユーザー アカウントに、BigQuery に対する適切な IAM 権限が必要です。詳細については、必要な権限をご覧ください。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. プロジェクト ID の横にある [アクションを表示] アイコン()をクリックし、[データセットを作成] をクリックします。

    図は前述のテキストで説明されています。

  3. [データセット ID] フィールドに一意の名前を入力します。詳細については、データセットに名前を付けるをご覧ください。

Google Cloud の認証と認可を設定したら、このデータセットに関する情報を取得して、Google Cloud へのアクセスをテストします。

BigQuery データセットの作成の詳細については、データセットの作成をご覧ください。

Google Cloud の認証と認可を設定する

Google Cloud に対する認証と BigQuery へのアクセス承認のために、Google Cloud セキュリティ管理者と SAP 管理者は以下のことを行う必要があります。

  • BigQuery Connector for SAP のサービス アカウントを作成します。
  • そのサービス アカウントに、BigQuery にアクセスするために必要な IAM ロールを付与します。
  • サービス アカウント キーを作成します。
  • BigQuery プロジェクトのプリンシパルとして BigQuery Connector for SAP サービス アカウントを追加します。
  • SAP LT Replication Server ホストで Google Cloud に対するセキュリティ設定を構成します。
    • サービス アカウント キーを SAP LT Replication Server ホストに保存します。
    • アクセス トークンを取得する OS コマンドを作成します。

サービス アカウントを作成する

BigQuery Connector for SAP には、BigQuery にアクセスするための認証と認可のための IAM サービス アカウントが必要です。

このサービス アカウントは、BigQuery データセットを含む Google Cloud プロジェクトで、プリンシパルでなければなりません。サービス アカウントを BigQuery データセットと同じプロジェクトで作成すると、そのサービス アカウントはプリンシパルとして自動的にプロジェクトに追加されます。

BigQuery データセットを含むプロジェクト以外のプロジェクトでサービス アカウントを作成する場合は、別のステップで BigQuery データセット プロジェクトにサービス アカウントを追加する必要があります。

サービス アカウントを作成するには、次の手順を行います。

  1. Google Cloud コンソールで、[IAM と管理] の [サービス アカウント] ページに移動します。

    [サービス アカウント] に移動

  2. プロンプトが表示されたら、Google Cloud プロジェクトを選択します。

  3. [サービス アカウントを作成] をクリックします。

  4. サービス アカウントの名前を指定します。必要であれば、説明も入力します。

  5. [作成して続行] をクリックします。

  6. サービス アカウントを BigQuery データセットと同じプロジェクトで作成する場合は、[このサービス アカウントにプロジェクトへのアクセスを許可する] パネルで次のロールを選択します。

    • BigQuery データ編集者
    • BigQuery ジョブユーザー

    サービス アカウントを BigQuery データセットとは異なるプロジェクトで作成する場合は、サービス アカウントにロールを付与しないでください。

  7. [次へ] をクリックします。

  8. 必要に応じて、他のユーザーにサービス アカウントへのアクセス権を付与します。

  9. [完了] をクリックします。プロジェクトのサービス アカウントのリストにサービス アカウントが表示されます。

  10. サービス アカウントを BigQuery データセットを含むプロジェクトとは別のプロジェクトで作成した場合は、サービス アカウントの名前をメモします。この名前は、BigQuery プロジェクトにサービス アカウントを追加するときに指定します。詳細については、サービス アカウントを BigQuery プロジェクトに追加するをご覧ください。

サービス アカウントは、サービス アカウントが作成された Google Cloud プロジェクトの [IAM 権限] ページにプリンシパルとして表示されます。

サービス アカウント キーを作成する

JSON サービス アカウント キーを作成して、SAP LT Replication Server ホストに保存する必要があります。

サービス アカウント キーを作成するには、次の手順を完了します。

  1. Google Cloud コンソールで、[IAM と管理] の [サービス アカウント] ページに移動します。

    [サービス アカウント] に移動

  2. Google Cloud プロジェクトを選択します。

  3. 前のセクションのサービス アカウントを作成するで作成したサービス アカウントのメールアドレスをクリックします。

  4. サービス アカウント名で [キー] タブをクリックします。

  5. [鍵を追加] プルダウン メニューをクリックして [新しい鍵を作成] を選択し、サービス アカウント キーを作成します。

  6. 鍵のタイプとして JSON を使用し、[作成] をクリックします。

    秘密鍵がパソコンに保存されます。この鍵は、SAP LT Replication Server ホストにサービス アカウント キーをインストールするに説明されているとおり、SAP LT Replication Server ホストにアップロードするために SAP 管理者へ渡します。

サービス アカウントを BigQuery プロジェクトに追加する

ターゲット BigQuery データセットを含むプロジェクト以外のプロジェクトで BigQuery Connector for SAP のサービス アカウントを作成した場合は、BigQuery データセット プロジェクトにサービス アカウントを追加する必要があります。

BigQuery データセットと同じプロジェクトでサービス アカウントを作成した場合は、このステップをスキップできます。

既存のサービス アカウントを BigQuery データセット プロジェクトに追加するには、次の手順を行います。

  1. Google Cloud コンソールで IAM の [権限] ページに移動します。

    IAM の [権限] に移動

  2. ターゲット BigQuery データセットが含まれるプロジェクトの名前がページの上部付近に表示されていることを確認します。例:

    プロジェクト「PROJECT_NAME」の権限

    表示されていない場合は、プロジェクトを切り替えます。

  3. [IAM] ページで、[追加] をクリックします。[PROJECT_NAME」にプリンシパルを追加します] ダイアログが開きます。

  4. [PROJECT_NAME」プロジェクトにプリンシパルを追加する] ダイアログで、次の手順を行います。

    1. [新しいプリンシパル] フィールドに、サービス アカウントの名前を指定します。
    2. [ロールを選択] フィールドで [BigQuery データ編集者] を指定します。
    3. [別のロールを追加] をクリックします。[ロールを選択] フィールドが再び表示されます。
    4. [ロールを選択] フィールドで、[BigQuery ジョブユーザー] を指定します。
    5. [保存] をクリックします。サービス アカウントは、[IAM] ページのプロジェクト プリンシパルのリストに表示されます。

これで、サービス アカウントを使用して、このプロジェクト内の BigQuery データセットにアクセスできるようになりました。

サービス アカウント キーを SAP LT Replication Server ホストにインストールする

前のセクションで作成したサービス アカウント キーを SAP LT Replication Server ホストにアップロードし、サービス アカウント キーを使用するように gcloud CLI を構成します。

これらの手順は通常、SAP 管理者が行います。

サービス アカウント キーをインストールするには、次の手順を行います。

  1. JSON キーファイルを SAP LT Replication Server ホスト上の安全な場所にアップロードします。

  2. SAP LT Replication Server ホストで、sidadm ユーザーに切り替えます。

    sudo su - sidadm
  3. 認証にサービス アカウント キーを使用するように gcloud CLI を構成します。

    gcloud auth activate-service-account SERVICE_ACCOUNT --key-file=SERVICE_ACCOUNT_KEY

    次のように置き換えます。

    • SERVICE_ACCOUNT: 前のステップで BigQuery Connector for SAP 用に作成したサービス アカウントの名前。例: bq-connector-for-sap@example-project-123456.iam.gserviceaccount.com
    • SERVICE_ACCOUNT_KEY: SAP LT Replication Server ホストにアップロードした JSON サービス アカウント キーのディレクトリ パスとファイル名。例: PATH_TO_JSON_KEY_FILE/KEY_FILE_NAME.json
  4. gcloud CLI でサービス アカウントが有効になったら、SERVICE_ACCOUNT_KEY を削除できます。gcloud CLI では、サービス アカウントがアクティブになったときに鍵のコピーが保存されます。

gcloud CLI の認可の詳細については、サービス アカウントでの認可をご覧ください。

アクセス トークンを出力する OS コマンドを作成する

ユーザーまたは SAP 管理者が Google Cloud からアクセス トークンを取得するオペレーティング システム コマンドを構成する必要があります。

次の手順では、アクセス トークンを出力するスクリプトを作成し、このスクリプトを SAP LT Replication Server ホストからユーザー sidadm として呼び出すように SAP オペレーティング システム コマンドを構成します。

通常、この作業は SAP 管理者によって実行されます。

OS コマンドを作成するには、ご使用のオペレーティング システムのタブをクリックして次の手順を行います。

Linux

  1. SAP LT Replication Server ホストで、sidadm がアクセスできるディレクトリに、次の行を含む bash スクリプトを作成します。

    #!/bin/bash
    /PATH_TO_GCLOUD_CLI/bin/gcloud auth print-access-token | fold -sw 127
  2. SAP GUI を使用して、外部オペレーティング システムのコマンドを作成します。

    1. トランザクション SM69 を入力します。
    2. [Create] をクリックします。
    3. 外部コマンドパネルの [Command] セクションで、コマンドの名前を入力します。例: ZGOOG_SLTBQ
    4. [Definition] セクションで次の操作を行います。

      • [Operating System Command] フィールドに、スクリプト ファイルの拡張子として「sh」と入力します。
      • [Parameters for Operating System Command] フィールドに、次のように入力します。

        /PATH_TO_SCRIPT/FILE_NAME.sh
    5. [Save] をクリックします。

    6. [Execute] をクリックしてスクリプトをテストします。

    7. もう一度 [Execute] をクリックします。

    Google Cloud トークンが返され、SAP GUI パネルの下部に表示されます。

Windows

  1. Windows ホストにログインします。
  2. Windows PowerShell を管理者として使用して、新しい PowerShell サブディレクトリに Windows PowerShell モジュールを作成し、SAP システムのアクセス トークンをリクエストしてフォーマットします。

    1. 次のコマンド シーケンスを使用して、Windows Server システムにディレクトリとモジュール ファイルを作成します。ディレクトリとモジュールには同じ名前を使用します。

      cd C:\Windows\system32\WindowsPowerShell\v1.0\Modules
      mkdir MODULE_NAME
      cd MODULE_NAME
      notepad MODULE_NAME.psm1
    2. 次の 2 つの関数定義をコピーして MODULE_NAME.psm1 ファイルに貼り付けます。

      Function Fold-Token{
          [CmdletBinding()]
          Param(
              [Parameter(ValueFromPipeline)]
              $token
          )
          $token -split "(.{127})" | Where-Object{$_}
      }
      
      Function Get-Token{
          gcloud auth print-access-token | Fold-Token
      }
      
      Export-ModuleMember -function Get-Token
  3. Windows PowerShell で、コマンド Get-Token をテストします。

    Get-Token

    Google Cloud のアクセス トークンが Windows PowerShell コンソールに表示されます。

  4. SAP GUI で、トランザクション コード SM69 を入力します。

  5. [Create] をクリックします。

  6. [External Command] パネルの [Command] セクションで、コマンドの名前を入力します。例: ZGOOG_SLTBQ

  7. [Definition] セクションで次の操作を行います。

    1. [Operating System Command] フィールドに、「powershell」と入力します。
    2. [Parameters for Operating System Command] フィールドに、前の手順で作成した MODULE_NAME.psm1 モジュールで定義された関数の名前を入力します。
    Get-Token
  8. [Save] をクリックします。

  9. [Execute] をクリックしてスクリプトをテストします。

  10. もう一度 [Execute] をクリックします。

    Google Cloud トークンが返され、SAP GUI パネルの下部に表示されます。

SSL 証明書と HTTPS を設定する

BigQuery Connector for SAP と BigQuery API 間の通信は、SSL と HTTPS を使用して保護されます。

  1. Google Trust Services リポジトリから、次の証明書をダウンロードします。

    • GTS Root R1
    • GTS CA 1C3
  2. SAP GUI で、STRUST トランザクションを使用して、ルート証明書と下位証明書の両方を SSL client SSL Client (Standard) PSE フォルダにインポートします。

    SAP の詳細については、SAP ヘルプ - PSE 認定資格のリストの保守をご覧ください。

  3. SAP LT Replication Server ホストで、HTTPS ポートから BigQuery API への下り(外向き)トラフィックを許可するように、ファイアウォール ルールかプロキシが構成されていることを確認します。

    具体的には、SAP LT Replication Server は、次の Google Cloud APIs にアクセスできる必要があります。

    • https://bigquery.googleapis.com
    • https://iamcredentials.googleapis.com

SSL の設定に関する SAP からの詳細情報については、SAP Note 510007 - Additional considerations for setting up SSL on Application Server ABAP をご覧ください。

Google Cloud の認証と認可をテストする

Google Cloud の認証が正しく構成されていることは、アクセス トークンをリクエストして BigQuery データセットに関する情報を取得することで確認します。

SAP LT Replication Server ホストからの Google Cloud の認証と認可をテストするには、次の手順を使用します。

  1. SAP LT Replication Server ホストで、コマンドライン シェルを開きます。

  2. sidadm として、Google Cloud にアクセス トークンをリクエストします。

    /home/SIDadm/google-cloud-sdk/bin/gcloud auth print-access-token \
     SERVICE_ACCOUNT
    

    次のように置き換えます。

    • SERVICE_ACCOUNT: 前の手順で BigQuery Connector for SAP 用に作成したサービス アカウント。
    • SID: SAP システム ID。

    メタデータ サーバーは、次の例のようなアクセス トークンを返します。ACCESS_TOKEN_STRING は、次のステップでコマンドにコピーするアクセス トークン文字列です。

    {"access_token":"ACCESS_TOKEN_STRING","expires_in":3599,"token_type":"Bearer"}
  3. BigQuery データセットに関する情報を、BigQuery API から取得します。

    curl "https://bigquery.googleapis.com/bigquery/v2/projects/PROJECT_ID/datasets/DATASET_NAME" \
     -H "Accept: application/json" -H "Authorization: Bearer ACCESS_TOKEN_STRING"
    

    次のように置き換えます。

    • PROJECT_ID: BigQuery データセットを含むプロジェクトの ID。
    • DATASET_NAME: BigQuery で定義されているターゲット データセットの名前。
    • ACCESS_TOKEN_STRING: 前のステップで Google Cloud から返されたアクセス トークン文字列。

    Google Cloud 認証が正しく構成されていれば、BigQuery はデータセットに関する情報を返します。

    データセット情報が想定どおりに返されない場合は、構成手順を確認してください。トラブルシューティングの詳細については、BigQuery Connector for SAP のトラブルシューティングをご覧ください。

インストール パッケージをダウンロードする

BigQuery Connector for SAP のダウンロード ポータルから BigQuery Connector for SAP のインストール パッケージをダウンロードします。

ダウンロードを完了するには、Cloud Billing 請求番号が必要です。請求先アカウントについて詳しくは、Cloud Billing とお支払いプロファイルをご覧ください。

インストール パッケージには、SAP LT Replication Server の適切なトランスポート ディレクトリにコピーするトランスポート ファイルが含まれています。

BigQuery Connector for SAP をインストールする

BigQuery Connector for SAP トランスポート ファイルを含むインストール パッケージを受け取ったら、SAP 管理者は、トランスポート ファイルを SAP LT Replication Server にインポートすることで、BigQuery Connector for SAP をインストールできます。

BigQuery Connector for SAP 用の SAP トランスポートには、/GOOG/ 名前空間、DDIC オブジェクト、SLT SDK BADI の実装とクラスなど、BigQuery Connector for SAP に必要なすべてのオブジェクトが含まれています。

トランスポート ファイルを SAP LT Replication Server にインポートする前に、ソフトウェア要件に記載されているとおり、SAP LT Replication Server が BigQuery Connector for SAP でサポートされていることを確認します。

サポートされているバージョンの SAP LT Replication Server を使用していても、トランスポート ファイルをインポートする際に、エラー メッセージ Requests do not match the component version of the target system が表示される場合があります。このような場合は、トランスポート ファイルを SAP LT Replication Server に再インポートする必要があります。再インポート中は、[Import Transport Request] 画面 > [Options] タブで [Ignore Invalid Component Version] チェックボックスをオンにします。

次の手順は、おおまかな手順です。SAP システムはそれぞれ異なるため、SAP 管理者と連携して、SAP システムに必要な手順への変更点を確認してください。

  1. BigQuery Connector for SAP トランスポート ファイルを、次の SAP LT Replication Server トランスポート インポート ディレクトリにコピーします。

    • /usr/sap/trans/cofiles/KXXXXXX.ED1
    • /usr/sap/trans/data/RXXXXXX.ED1

    上記の例で、XXXXXX は、番号付きのファイル名を表します。

  2. SAP GUI で、トランザクション コード STMS_IMPORT または STMS を使用して、ファイルを SAP システムにインポートします。

  3. /GOOG/SLT_SDK パッケージのすべてのオブジェクトがアクティブで、整合性のある状態にします。

    1. SAP インターフェースで、トランザクション コード SE80 を入力します。
    2. パッケージ セレクタで、/GOOG/SLT_SDK を選択します。
    3. [Object name] フィールドで、パッケージ /GOOG/SLT_SDK を右クリックし、[Check] > [Package Check] > [Objects of Package] を選択します。

      [Result] 列の緑色のチェックは、すべてのオブジェクトがパッケージ チェックに合格したことを示します。

BigQuery Connector for SAP が構成できることを確認する

トランスポート ファイルが正しくインポートされ、BigQuery Connector for SAP を構成する準備ができていることを確認するには、BigQuery Connector for SAP Business Add-In(BAdI)の実装が有効で、BigQuery Connector for SAP レプリケーション アプリケーションには、IUUC_REPL_APPL テーブルのエントリがあります。

  1. BAdI の実装を確認します。
    1. トランザクション SE80 を使用して移動し、/GOOG/EI_IUUC_REPL_RUNTIME_BQ 拡張オブジェクト フォルダを選択します。
    2. ページの右側にある [Enh. Implementation Elements] をクリックします。
    3. [Runtime Behavior] で、[Implementation is active] がオンになっていることを確認します。
  2. レプリケーション アプリケーションを確認します。
    1. SAP データブラウザかトランザクション SE16 を使用して、IUUC_REPL_APPL テーブルを表示します。
    2. 次のアプリケーションが IUUC_REPL_APPL テーブルに表示されていることを確認します。
      • /GOOG/SLT_BQ
      • ZGOOG_SLT_BQ: /GOOG/ 名前空間が登録されていないときに使用します。

BigQuery Connector for SAP のロールと認可を作成する

BigQuery Connector for SAP を使用するには、標準の SAP LT Replication Server 承認に加えて、BigQuery Connector for SAP に付属のカスタム トランザクション /GOOG/SLT_SETTINGS/GOOG/REPLIC_VALID です。

デフォルトでは、カスタム トランザクションにアクセスできるユーザーがどの構成の設定も変更できるため、必要に応じて特定の構成へのアクセスを制限できます。

BigQuery Connector for SAP トランスポート ファイルには、BigQuery Connector for SAP に固有の承認用の Google BigQuery Settings Authorization オブジェクト ZGOOG_MTID が含まれています。

カスタム トランザクションへのアクセス権を付与し、特定の構成へのアクセスを制限するには:

  1. SAP トランザクション コード PFCG を使用して、BigQuery Connector for SAP のロールを定義します。

  2. そのロールに、カスタム トランザクション /GOOG/SLT_SETTINGS/GOOG/REPLIC_VALID へのアクセス権を付与します。

  3. ロールのアクセスを制限するには、ZGOOG_MTID 認可オブジェクトを使用してロールがアクセスできる各構成の認可グループを指定します。例:

    • BigQuery Connector for SAP(ZGOOG_MTID)の認可オブジェクト:
      • Activity 01
      • Authorization Group AUTH_GROUP_1,AUTH_GROUP_N

    AUTH_GROUP_01AUTH_GROUP_N は、SAP LT Replication Server 構成で定義されている値です。

    ZGOOG_MTID に指定された認可グループは、SAP S_DMIS_SLT 認可オブジェクト内のロールに指定された認可グループと一致する必要があります。

レプリケーションの構成

レプリケーションを構成するには、BigQuery Connector for SAP と SAP LT Replication Server の両方の設定を指定します。

/GOOG/CLIENT_KEY にアクセス設定を指定する

トランザクション SM30 を使用して、BigQuery へのアクセス用の設定を指定します。BigQuery Connector for SAP は、/GOOG/CLIENT_KEY カスタム構成テーブルにレコードとして設定を保存します。

アクセス設定を指定するには:

  1. SAP GUI で、トランザクション コード SM30 を入力します。

  2. /GOOG/CLIENT_KEY 構成テーブルを選択します。

  3. 次のテーブル フィールドに値を入力します。

    フィールド データ型 説明
    名前 文字列 この CLIENT_KEY 構成の名前。
    サービス アカウント名 文字列

    このフィールドは空白のままにしておきます。

    範囲 文字列

    このフィールドは空白のままにしておきます。

    プロジェクト ID 文字列 対象とする BigQuery データセットを含むプロジェクトの ID。
    コマンド名 文字列

    アクセス トークンを出力する OS コマンドを作成するで定義した外部オペレーティング システム コマンドの名前。

    認可クラス 文字列 レプリケーションに使用する認可クラス。

    /GOOG/CL_GCP_AUTH を指定します。

    認可フィールド 該当なし このフィールドは空白のままにしておきます。
    トークンの更新期限(秒) 整数

    このフィールドは空白のままにしておきます。

SAP LT Replication Server レプリケーション構成を作成する

SAP トランザクション LTRC を使用して、SAP LT Replication Server レプリケーション構成を作成します。

SAP LT Replication Server がソース SAP システムとは異なるサーバーで稼働している場合は、レプリケーション構成を作成する前に、2 つのシステム間に RFC 接続があることを確認します。

レプリケーション構成の一部の設定がパフォーマンスに影響を与えます。インストールに適した設定値については、SAP ヘルプポータルで、ご使用の SAP LT Replication Server バージョンのパフォーマンス最適化ガイドをご覧ください。

SAP LT Replication Server のインターフェースと構成オプションは、使用しているバージョンによって若干異なる場合があります。

レプリケーションを構成するには、SAP LT Replication Server のバージョンに応じた手順を使用します。

DMIS 2011 SP17、DMIS 2018 SP02 以降でレプリケーションを構成する

次の手順では、新しいバージョンの SAP LT Replication Server でレプリケーションを構成します。以前のバージョンを使用している場合は、DMIS 2011 SP16、DMIS 2018 SP01 以前でレプリケーションを構成するをご覧ください。

  1. SAP GUI で、トランザクション コード LTRC を入力します。

  2. [Create configuration] アイコンをクリックします。[Create configuration] ウィザードが開きます。

  3. [Configuration Name] フィールドと [Description] フィールドに、構成の名前と説明を入力し、[Next] をクリックします。

    認可グループを指定して、特定の認可グループへのアクセスを制限できます。これは後で指定するもできます。

  4. [Source System Connection Details] パネルで次の操作を行います。

    • [RFC Connection] ラジオボタンをオンにします。
    • [RFC Destination] フィールドに、ソースシステムへの RFC 接続の名前を指定します。
    • 必要に応じて、[Allow Multiple Usage] と [Read from Single Client] のチェックボックスをオンにします。詳細については、SAP LT Replication Server のドキュメントをご覧ください。
    • [Next] をクリックします。

    上記の手順は RFC 接続の場合ですが、ソースがデータベースで、トランザクション DBACOCKPIT を使用してすでに接続を定義している場合は、[DB Connection] を選択できます。

  5. [Target System Connection Details] パネルで次の操作を行います。

    • [Other] のラジオボタンを選択します。
    • [Scenario] フィールドで、プルダウン メニューから [SLT SDK] を選択します。
    • [Next] をクリックします。
  6. [Specify Transfer Settings] パネルで、次の操作を行います。

    1. [Data Transfer Settings] セクションの [Application] フィールドに、「/GOOG/SLT_BQ」または「ZGOOG_SLT_BQ」と入力します。

    2. [Job options] セクションで、次の各フィールドに初期値を入力します。

      • Number of Data Transfer Jobs
      • Number of Initial Load Jobs
      • Number of Calculation Jobs
    3. [Replication Options] セクションで、[Real Time] ラジオボタンを選択します。

    4. [Next] をクリックします。

  7. 構成を確認したら、[Save] をクリックします。

  8. [Mass Transfer] 列の 3 桁の ID をメモします。この値は、後のステップで使用します。

詳細については、SAP Note 2652704 に付属の PDF(Replicating Data Using SLT SDK - DMIS 2011 SP17, DMIS 2018 SP02.pdf)をご覧ください。

DMIS 2011 SP16、DMIS 2018 SP01 以前でレプリケーションを構成する

次の手順では、以前のバージョンの SAP LT Replication Server でレプリケーションを構成します。これよりも後のバージョンを使用している場合は、DMIS 2011 SP17、DMIS 2018 SP02 以降でレプリケーションを構成するをご覧ください。

  1. SAP GUI で、トランザクション コード LTRC を入力します。
  2. [New] をクリックします。新しい構成を指定するためのダイアログが開きます。
  3. [Specify Source System] で次の操作を行います。
    • 接続タイプとして [RFC Connection] を選択します。
    • RFC 接続名を入力します。
    • [Allow Multiple Usage] が選択されていることを確認します。
  4. [Specify Target System] ステップで、次の操作を行います。
    • ターゲット システムへの接続データを入力します。
    • 接続タイプとして [RFC Connection] を選択します。
    • [Scenario for RFC Communication] フィールドで、プルダウン リストから [Write Data to Target Using BAdI] という値を選択します。RFC 接続は自動的に [NONE] に設定されます。
  5. [Specify Transfer Settings] の手順で、[F4 Help] を押します。以前に定義したアプリケーションが [Application] フィールドに表示されます。
  6. [Mass Transfer] 列の 3 桁の ID をメモします。この値は、後のステップで使用します。

詳細については、SAP Note 2652704 に付属の PDF(Replicating Data Using SLT SDK - DMIS 2011 SP15, SP16, DMIS 2018 SP00, SP01.pdf)をご覧ください。

BigQuery への大量転送構成を作成する

カスタム /GOOG/SLT_SETTINGS トランザクションを使用して、BigQuery の一括転送を構成し、テーブルとフィールドのマッピングを指定します。

初期の一括転送オプションを選択する

/GOOG/SLT_SETTINGS トランザクションを初めて入力するときに、BigQuery の一括転送構成で編集が必要な部分を選択します。

一括転送構成の部分を選択するには:

  1. SAP GUI で、/n で始まる /GOOG/SLT_SETTINGS トランザクションを入力します。

    /n/GOOG/SLT_SETTINGS
  2. /GOOG/SLT_SETTINGS トランザクションの起動画面の [Settings Table] プルダウン メニューから [Mass Transfers] を選択します。

    新しい転送構成の場合は、[Mass Transfer Key] フィールドを空白のままにします。

  3. [Execute] アイコンをクリックします。[BigQuery Settings Maintenance - Mass Transfers] 画面が表示されます。

テーブル作成とその他の一般的な属性を指定する

BigQuery の一括転送構成の最初のセクションで、一括転送構成を特定し、関連するクライアント キーと、ターゲット BigQuery テーブルの作成に関連する特定のプロパティを指定します。

SAP LT Replication Server が一括転送設定をレコードとして /GOOG/BQ_MASTR カスタム構成テーブルに保存します。

次の手順で指定するフィールドは必須になります。

  1. [BigQuery Settings Maintenance - Mass Transfers] 画面で、[Append Row] アイコンをクリックします。

  2. 表示された行で、次の設定を指定します。

    1. [Mass Transfer Key] フィールドで、この転送の名前を定義します。この名前が一括転送の主キーになります。
    2. [Mass Transfer ID] フィールドに、対応する SAP LT Replication Server レプリケーション構成の作成時に生成された 3 桁の ID を入力します。
    3. BigQuery でターゲット フィールドの名前としてソース フィールドのラベルまたは簡単な説明を使用するには、[Use Custom Names Flag] チェックボックスをオンにします。フィールド名の詳細については、フィールドのデフォルトの命名オプションをご覧ください。
    4. 挿入をトリガーした変更の種類を保存し、ソーステーブル、SAP LT Replication Server 統計情報、BigQuery テーブル間のレコード数の検証を有効にするには、[Extra Fields Flag] チェックボックスをオンにします。

      このフラグを設定すると、BigQuery Connector for SAP は BigQuery テーブル スキーマに列を追加します。詳しくは、レコード変更とカウントクエリ用の追加フィールドをご覧ください。

    5. データエラーのあるレコードが発生したときにデータの送信を停止するには、[Break at First Error Flag] チェックボックスをオンにします。また、そうすることが推奨されます。詳細については、BREAK フラグをご覧ください。

    6. データエラーのあるレコードが検出されたときに、レコードをスキップして BigQuery テーブルにレコードを挿入し続けるには、[Skip Invalid Records Flag] チェックボックスをオンにします。これは、オフのままにすることをおすすめします。詳細については、SKIP フラグをご覧ください。

    7. [Google Cloud Key Name] フィールドに、対応する /GOOG/CLIENT_KEY 構成の名前を入力します。

      BigQuery Connector for SAP は、/GOOG/CLIENT_KEY 構成から自動的に Google Cloud プロジェクト ID を取得します。

    8. [BigQuery Dataset] フィールドに、前の手順で作成したターゲット BigQuery データセットの名前を入力します。

    9. [Is Setting Active Flag] フィールドで、チェックボックスをオンにして一括転送構成を有効にします。

    10. [Save] をクリックします。

      一括転送レコードは /GOOG/BQ_MASTR テーブルに追加され、[Changed By]、[Changed On]、[Changed At] フィールドに自動的に値が挿入されます。

    11. [Display Table] をクリックします。

      新しい一括転送レコードが表示され、その後にテーブル属性のエントリパネルが表示されます。

テーブル属性を指定する

/GOOG/SLT_SETTINGS トランザクションの 2 番目のセクションで、テーブル名やテーブルのパーティショニングなどのテーブル属性や、各転送に含めるレコード数や BigQuery に送信されるチャンクを指定できます。

指定した設定は、レコードとして /GOOG/BQ_TABLE 構成テーブルに保存されます。

これらの設定は任意です。

テーブル属性を指定するには:

  1. 行を追加アイコンをクリックします。

  2. [SAP Table Name] フィールドに、ソース SAP テーブルの名前を入力します。

  3. [External Table Name] フィールドに、ターゲット BigQuery テーブルの名前を入力します。ターゲット テーブルが存在しない場合、BigQuery Connector for SAP は、この名前のテーブルを作成します。BigQuery のテーブル命名規則については、テーブルの命名をご覧ください。

  4. [Send Uncompressed Flag] フィールドで、レコードの圧縮を無効にします。BigQuery Connector for SAP がソーステーブルで初期化された値を使用してソースレコードの空のフィールドを複製する必要がある場合にのみ、このフラグを指定します。パフォーマンスを向上させるには、このフラグを指定しないでください。詳細については、レコードの圧縮をご覧ください。

  5. 必要に応じて、[Chunk Size] フィールドに、BigQuery に送信される各チャンクに含めるレコードの最大数を指定します。可能であれば、BigQuery Connector for SAP で許可されている最大チャンクサイズ(現在は 10,000 レコード)とデフォルト値を使用します。ソースレコードに多くのフィールドがある場合、フィールド数によってはチャンクの全体的なバイトサイズが増加し、チャンクエラーが発生することがあります。この場合は、チャンクサイズを小さくしてバイトサイズを減らしてみてください。詳細については、BigQuery Connector for SAP のチャンクサイズをご覧ください。

  6. 必要に応じて、[Partition Type] フィールドで、パーティショニングに使用する時間の増分を指定します。有効な値は HOURDAYMONTH、または YEAR です。詳細については、テーブル パーティショニングをご覧ください。

  7. 必要に応じて、[Partition Field] フィールドに、ターゲット BigQuery テーブルでパーティショニングに使用するタイムスタンプを含むフィールド名を指定します。[Partition Field] を指定する場合は、[Partition Type] も指定する必要があります。詳細については、テーブル パーティショニングをご覧ください。

  8. [Is Setting Active Flag] フィールドで、チェックボックスをクリックしてテーブル属性を有効にします。[Is Setting Active Flag] ボックスがオンでない場合、BigQuery Connector for SAP は、SAP ソーステーブルの名前とデフォルトのチャンクサイズを使用して、パーティショニングは行わずに BigQuery テーブルを作成します。

  9. [Save] をクリックします。

    属性はレコードとして /GOOG/BQ_TABLE 構成テーブルに保存され、[Changed By]、[Changed On]、[Changed At] の各フィールドに自動的に挿入されます。

  10. [Display Fields] をクリックします。

    新しいテーブル属性レコードが表示され、その後にフィールド マッピングのエントリパネルが表示されます。

デフォルトのフィールド マッピングをカスタマイズする

ソース SAP テーブルにタイムスタンプ フィールドやブール値が含まれている場合は、ターゲット BigQuery テーブルのデータタイプを正確に反映するように、デフォルトのデータ型マッピングを変更します。

他のデータ型やターゲット フィールドの名前を変更することもできます。

デフォルトのマッピングは SAP GUI で直接編集できます。他のユーザーが SAP LT Replication Server にアクセスせずに値を編集できるように、デフォルトのマッピングをスプレッドシートまたはテキスト ファイルにエクスポートすることもできます。

デフォルトのフィールド マッピングと実施できる変更の詳細については、フィールド マッピングをご覧ください。

ターゲット BigQuery フィールドのデフォルト マッピングをカスタマイズするには:

  1. トランザクション /GOOG/SLT_SETTINGS の [BigQuery Settings Maintenance - Fields] ページで、現在構成している一括転送のデフォルト フィールド マッピングを表示します。

  2. 必要に応じて、[External Data Element] 列でデフォルトのターゲット データ型を編集します。特に、以下のデータ型のターゲット データ型を変更します。

    • タイムスタンプ 。デフォルトのターゲット データ型を、NUMERIC から TIMESTAMP または TIMESTAMP (LONG) に変更します。
    • ブール値。デフォルトのターゲット データ型を STRING から BOOLEAN に変更します。
    • 16 進数。デフォルトのターゲット データ型を STRING から BYTES に変更します。

    デフォルトのデータ型マッピングを編集するには:

    1. 編集が必要なフィールドの行で、[External Data Element] フィールドをクリックします。
    2. データ型のダイアログで、必要な BigQuery データ型を選択します。
    3. 変更内容を確認し、[Save] をクリックします。
  3. [BigQuery Settings Maintenance] ページで [Custom Names] フラグを指定した場合は、必要に応じて [Temporary Field Name] 列のデフォルトのターゲット フィールド名を編集します。

    指定した値は、[External Field Name] 列に表示されるデフォルトの名前をオーバーライドします。

  4. 必要に応じて、[Field Description] 列のデフォルトのターゲット フィールドの説明を編集します。

  5. 必要に応じて、外部編集用にフィールド マップをエクスポートします。手順については、CSV ファイルで BigQuery のフィールド マップを編集するをご覧ください。

  6. すべての変更が完了し、外部で編集された値がアップロードされたら、[Is Setting Active Flag] チェックボックスがオンになっていることを確認します。[Is Setting Active Flag] がオンになっていない場合、BigQuery Connector for SAP によってターゲット テーブルがデフォルト値で作成されます。

  7. [Save] をクリックします。

    変更は、/GOOG/BQ_FIELD 構成テーブルに保存され、[Changed By]、[Changed On]、[Changed At] フィールドに自動的に挿入されます。

レプリケーションをテストする

レプリケーションの構成をテストするには、データ プロビジョニングを開始します。

  1. SAP GUI で、SAP LT Replication Server Cockpit(トランザクション LTRC)を開きます。

  2. テストしているテーブル レプリケーションの一括転送構成をクリックします。

  3. [Data Provisioning] をクリックします。

  4. [Data Provisioning] パネルで、データ プロビジョニングを開始します。

    1. ソーステーブルの名前を入力します。
    2. テストするデータ プロビジョニングの種類のラジオボタンをオンにします([Start Load] など)。
    3. [Execute] アイコンをクリックします。データ転送が開始され、[Participating objects] 画面に進行状況が表示されます。

      テーブルが BigQuery に存在しない場合、BigQuery Connector for SAP は、以前に /GOOG/SLT_SETTINGS トランザクションで定義したテーブルとフィールド属性から構築するスキーマからテーブルを作成します。

      テーブルの初期読み込みにかかる時間は、テーブルのサイズとレコード数によって異なります。

      メッセージは、SAP LT Replication Server でトランザクション LTRC の [Application Logs] セクションに書き込まれます。

レプリケーションを検証する

レプリケーションは、次の方法を使用して検証できます。

  • SAP LT Replication Server の場合:
    • [Data Provisioning] 画面でレプリケーションをモニタリングします。
    • [Application Logs] 画面でエラー メッセージを確認します。
  • BigQuery のテーブル情報タブ:
    • [スキーマ] タブで、スキーマが正しく表示されることを確認します。
    • [プレビュー] タブで、挿入された行のプレビュー表示を確認します。
    • [詳細] タブで、挿入された行数、テーブルサイズ、その他の情報を確認します。
  • BigQuery テーブルの構成時に [Extra Fields Flag] チェックボックスがオンになっている場合は、/GOOG/REPLIC_VALID カスタム トランザクションを入力して、レプリケーション検証ツールを実行します。

SAP LT Replication Server のレプリケーションを確認する

トランザクション LTRC を使用して、初期読み込みまたはレプリケーション ジョブの開始後に進行状況を確認し、エラー メッセージをチェックします。

SAP LT Replication Server の [Load Statistics] タブで読み込みのステータスを確認し、[Data Transfer Monitor] タブでジョブの進行状況を確認します。

トランザクション LTRC の [Application Logs] 画面には、BigQuery、BigQuery Connector for SAP、SAP LT Replication Server によって返されるすべてのメッセージが表示されます。

SAP LT Replication Server の BigQuery Connector for SAP コードによって発行されたメッセージの先頭には、接頭辞 /GOOG/SLT が付いています。BigQuery API から返されるメッセージの先頭には、接頭辞 /GOOG/MSG が付いています。

SAP LT Replication Server によって返されるメッセージの先頭には、/GOOG/ 接頭辞は付きません。

BigQuery でレプリケーションを確認する

Google Cloud コンソールで、テーブルが作成され、BigQuery によってデータが挿入されていることを確認します。

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] セクションの検索フィールドに、ターゲット BigQuery テーブルの名前を入力し、Enter を押します。

    ページの右側にあるコンテンツ ペインのタブの下に、テーブル情報が表示されます。

  3. テーブル情報セクションで、次の見出しをクリックして、テーブルと行の挿入を確認します。

    • プレビュー: BigQuery テーブルに挿入された行とフィールドを表示します。
    • スキーマ: フィールド名とデータ型を表示します。
    • 詳細: テーブルサイズ、行の合計数などの詳細を表示します。

Replication Validation ツールを実行する

BigQuery テーブルの構成時に [Extra Fields Flag] が選択されている場合は、Replication Validation ツールを使用して、BigQuery テーブルのレコード数と SAP LT Replication Server 統計またはソーステーブルのレコード数を比較するレポートを生成できます。

Replication Validation ツールを実行するには:

  1. SAP GUI で、/n で始まる /GOOG/REPLIC_VALID トランザクションを入力します。

    /n/GOOG/REPLIC_VALID
  2. [Processing Options] セクションで、[Execute Validation] ラジオボタンをクリックします。

  3. [Selection Options] セクションで、次の仕様を入力します。

    • [GCP Partner Identifier] フィールドのプルダウン メニューから、[BigQuery] を選択します。
    • [Check Type] フィールドのプルダウン メニューから、生成するレポートの種類を選択します。
      • 初期読み込み数
      • レプリケーション数
      • 現在のカウント
    • [Check Date] フィールドが表示されている場合は、カウントが必要な日付を指定します。
    • [Mass Transfer Key] フィールドに、一括転送構成名を入力します。
  4. [Execute] アイコンをクリックして、Replication Validation ツールを実行します。

  5. 検証チェックが完了したら、[Processing Options] セクションで [Display Report] ラジオボタンをクリックし、[Execute] アイコンをクリックしてレポートを表示します。

詳細については、Replication Validation ツールをご覧ください。

トラブルシューティング

BigQuery Connector for SAP を使用して SAP と BigQuery との間で読み込みまたはレプリケーションを構成して実行する場合に発生する可能性のある問題の診断と解決については、BigQuery Connector for SAP トラブルシューティング ガイドをご覧ください。

サポートを受ける

レプリケーションと BigQuery Connector for SAP の問題を解決する必要がある場合は、入手可能な診断情報をすべて収集し、Cloud カスタマーケアにお問い合わせください。カスタマーケアへのお問い合わせについては、Google Cloud での SAP に関するサポートを受けるをご覧ください。