概要
本構成図は、Apache Supersetを中心とした、外部Nginxによるリバースプロキシ設定、帳票出力システム(Report App)、およびリモートデータベースの連携を示す統合システムアーキテクチャ図です。

各層の詳細
① 外部プロキシ層 (External Nginx)
- IP: 192.168.1.100
- 役割: SSL終端(HTTPS)、リクエストの振り分け(ルーティング)
- ルーティング内容:
location /: すべての標準的なアクセスをsuperset_upstreamへ転送。location /report,/api/pdf,/_next: 帳票出力およびNext.js関連のアクセスをreport_app_upstreamへ転送。
② アプリケーション層 (Superset Application Server)
- IP: 192.168.1.109
- 実行サービス:
- superset.service (Port 5000):
- 管理:
systemd - 機能: データ視覚化、ダッシュボード提供。
- 管理:
- report-app (Port 3000):
- 管理:
PM2 - 機能: Next.js + Puppeteer によるPDF帳票生成。
- 管理:
- superset.service (Port 5000):
- 連携: Supersetのメニューバーにリンクが設定されており、ユーザーはシームレスに帳票システムを呼び出すことが可能です。
③ データベース層 (Remote Database Server)
- IP: 192.168.1.107
- ソフトウェア: PostgreSQL 16
- 役割:
- Supersetのメタデータ管理(ユーザー、ロール、ダッシュボード定義)。
- 帳票出力の元データの提供。
- アクセス方式: SupersetおよびReport Appの両方から直接SQLクエリを実行してデータを取得します。
通信の流れ
- アクセス開始: ユーザーが
https://superset.sadari.co.jpにアクセス。 - プロキシ処理: 外部Nginx(192.168.1.100)がHTTPSを処理し、URLパスに応じて内部の192.168.1.109の各ポートへトラフィックを転送。
- アプリ実行: SupersetまたはReport Appがリクエストを受け、192.168.1.107のPostgreSQLへデータを取得しに行きます。
- レスポンス: 生成されたダッシュボードやPDFがネットワークを経由してユーザーのブラウザに表示されます。

コメント