第4章 システム構築・運用構築手順(Data as a Product編)

本章では、ODS SDK for Onboarding(以下SDK)が提供するデプロイ定義ファイルを使って、参加者同士でのデータ交換を実施できる最小構成のシステム構築・運用構築手順を示す。

システム構築手順(4.1~4.3)

4.1 システム構成

本章で構築するシステム構成は図3の通りである。四角形がコンポーネントもしくはサービス、矢印はそれらの間の依存関係を表す。

図 3 SDKが提供するシステム構成

なお、本SDKではRDBMSとしてPostgreSQL、認証システムとしてKeycloak、ReBAC認可システムとしてOpenFGAを用いる。 また以降では、アイデンティティコンポーネント・Web API転送モジュールを、それぞれ単にL3・L2と呼称する場合がある。

4.2 各コンポーネントの初期設定

SDKでは、各サービス用のデプロイ定義ファイルを集約したファイルを提供しており、これを用いてすべてのサービスを一括で起動・停止することができる。 以下に Docker Compose 版の使用方法を示す。

SDKのリポジトリをローカルに clone する。

Clone してきたディレクトリ内に移動し、L2、L3、精算・課金/決済サービスのリポジトリを clone する。

リポジトリのトップレベルに配置されている docker-compose.yml ファイルを使って Docker Compose を実行し、すべてのサービスを起動する。

以下のように、すべてのサービスが起動すれば完了である。 コンポーネントを個別に起動・終了する場合の手順は、「5.3 起動・停止」を参照のこと。

続けて、L3とOpenFGA, L2の初期設定を行うが、こちらもSDKが提供するスクリプトを実行すればよい。 詳細はSDKのドキュメントarrow-up-rightを参照のこと。

運用構築手順(4.3~4.8)

4.3 運用開始に向けた各種データ設定

運用を開始する前に、参加者の事業者情報をL3に登録する必要がある。 詳細はSDKドキュメントの該当する節arrow-up-rightを参照のこと。

4.4 コンポーネント間の環境設定

L2がL3と連携できるよう、L2の設定ファイルにL3のURLを設定する必要がある。 詳細はSDKドキュメントの該当する節arrow-up-rightを参照のこと。

4.5 起動・停止

各コンポーネントを個別に起動・停止する手順は以下の通りである。

L3:アイデンティティコンポーネント

起動

停止

ロギングサービス

起動

停止

L2:Web API転送モジュール

起動(事前にL3, ロギングの起動が必要)

停止

精算・課金/決済サービス

起動(事前にL3の起動が必要)

停止

4.6 アプリ連携方法

データ提供者は、「4.3 運用開始に向けた各種データ設定」で作成した事業者に対して、インダストリサービスが公開するAPIへの認可設定を実施する必要がある。 詳細はSDKドキュメントの該当する節arrow-up-rightを参照のこと。

データ利用者は、表2に示すヘッダをHTTPリクエストに設定する必要がある。

表 2 設定すべきヘッダ情報

ヘッダ名
内容

API-Key

本サービスから払い出されたAPIキー

Authorization

L3(アイデンティティコンポーネントで発行したアクセストークン (JWT形式))

X-TrackingId

来歴管理⽤ログ出⼒項⽬ (UUID形式)

X-ODS-xxx

ロギング対象項目。xxxにはサービス提供者などから指定された文字列を指定(例:X-ODS-UserId)

4.7 データ交換の実行と確認

データ利用者は、以下の手順で提供者からデータの取得を行う。

  1. アクセストークンの取得:L3 参考実装チュートリアル 2-2-1. アクセストークン取得(事業者クライアントID認証)arrow-up-rightを実施し、アクセストークンを取得する。

  2. データアクセス:取得したアクセストークンを用いてデータアクセスを実施する。コマンド例を以下に示す。

詳細はSDKドキュメントの該当する節arrow-up-rightを参照のこと。

4.8 監視(ログ管理)

各コンポーネントが出力するログの種類は以下の通り。

L2:Web API転送モジュール

L2が出力したログは課金情報の根拠となるため、ロギングサービスによって収集され、ファイルとしてオブジェクトストレージに格納される。 出力先やローテート間隔などの情報はSDKドキュメントの該当する節arrow-up-rightを参照のこと。

L3:アイデンティティコンポーネント

L3は標準出力および標準エラー出力にログを出力する。 コンテナ上で実行している場合、以下のコマンドでログを確認できる。

精算・課金/決済サービス

精算・課金/決済サービスは標準出力および標準エラー出力にログを出力する。 コンテナ上で実行している場合、以下のコマンドでログを確認できる。

最終更新