← 一覧に戻る

Sales Management System - CQRS Architecture (UML)

販売管理システム UML Architecture
生成日: 2026-04-01 | クラウドベンダー非依存
graph TB
  subgraph VPC["Virtual Private Cloud"]
    subgraph PUB["Public Zone"]
      BASTION["Bastion Server - SoftEther VPN"]
      LB["Load Balancer"]
      NAT["NAT Gateway"]
    end
    subgraph APP["Private Zone - Application Layer"]
      CMD1["Command Service 1"]
      CMD2["Command Service 2"]
      QRY1["Query Service 1"]
      QRY2["Query Service 2"]
      BATCH["Batch Server"]
    end
    subgraph DATA["Private Zone - Data Layer"]
      WRITEDB[("Primary DB PostgreSQL")]
      READ1[("Read Replica 1")]
      READ2[("Read Replica 2")]
      FILESRV["File Server"]
      STORAGE["Shared Storage NFS"]
    end
  end
  OPERATOR(("Operator"))
  BACKUP["Backup Storage"]
  MONITOR["Monitoring"]

  OPERATOR -->|VPN| BASTION
  BASTION -.->|SSH| CMD1
  BASTION -.->|SSH| BATCH
  LB -->|Command API| CMD1
  LB -->|Command API| CMD2
  LB -->|Query API| QRY1
  LB -->|Query API| QRY2
  CMD1 -->|INSERT/UPDATE| WRITEDB
  CMD2 -->|INSERT/UPDATE| WRITEDB
  QRY1 -->|SELECT| READ1
  QRY2 -->|SELECT| READ2
  WRITEDB -.->|Async Replication| READ1
  WRITEDB -.->|Async Replication| READ2
  BATCH -->|Batch Write| WRITEDB
  BATCH -.->|Batch Read| READ1
  FILESRV --- STORAGE
  BATCH -.->|File I/O| STORAGE
  WRITEDB -.->|Snapshot| BACKUP
  STORAGE -.->|Backup| BACKUP

  style CMD1 fill:#E67E22,color:#fff
  style CMD2 fill:#E67E22,color:#fff
  style QRY1 fill:#27AE60,color:#fff
  style QRY2 fill:#27AE60,color:#fff
  style BATCH fill:#1ABC9C,color:#fff
  style WRITEDB fill:#E67E22,color:#fff
  style READ1 fill:#27AE60,color:#fff
  style READ2 fill:#27AE60,color:#fff
  style BASTION fill:#2C3E50,color:#fff
  style LB fill:#2980B9,color:#fff
  style BACKUP fill:#E74C3C,color:#fff
  style MONITOR fill:#3498DB,color:#fff
    
draw.io XML をダウンロード AWS版構成図を見る

凡例

Command (Write) - 書き込み系
Query (Read) - 読み取り系
Replication - 非同期レプリケーション
Batch - バッチ処理
Management - VPN/SSH管理
Backup - バックアップ

概要

販売管理システムのCQRS(Command Query Responsibility Segregation)アーキテクチャを、特定のクラウドベンダーに依存しないUML形式で表現した図。AWS/Azure/GCP いずれの環境でも適用可能な論理アーキテクチャとして設計。

書き込み(Command)と読み取り(Query)を物理的に分離し、それぞれ独立してスケーリング可能。全サーバはPrivate Zoneに配置し、SoftEther VPN経由の踏み台サーバで保守アクセスを行う。

構成要素

要素種類説明
Bastion ServerVPNゲートウェイSoftEther VPN搭載。外部からの唯一のアクセスポイント
Load BalancerL7ロードバランサパスベースルーティングでCommand/Query APIを振り分け
NAT GatewayネットワークPrivate Zoneからのアウトバウンド通信用
Command Service x2アプリケーション書き込み系API。INSERT/UPDATE/DELETEを処理
Query Service x2アプリケーション読み取り系API。SELECTを処理
Batch Serverバッチ処理定期バッチ・データ集計・帳票生成
Primary DB (PostgreSQL)RDBMSCQRS Write DB。全書き込みを受け付け
Read Replica x2RDBMS (レプリカ)CQRS Read DB。WAL非同期レプリケーション
File Server + Shared StorageファイルストレージNFS共有。帳票・CSV・添付ファイル
Backup StorageオブジェクトストレージDBスナップショット・ファイルバックアップ

設計のポイント

最終更新: 2026-04-01 | draw.io MCP Server