← 構成図一覧に戻る

Sales Management System - CQRS Architecture

販売管理システム CQRS / RDS 生成日: 2026-04-01
Sales Management CQRS Architecture
クリックで拡大
IaCソースコードを見る

凡例

VPN Access --- SoftEther VPN経由の管理アクセス
SSH/RDP --- 踏み台からの保守接続
Command API --- 書き込み系API(INSERT/UPDATE/DELETE)
Query API --- 読み取り系API(SELECT)
Async Replication --- RDS非同期レプリケーション
Batch R/W --- バッチ処理のDB読み書き
File I/O --- EFS共有ファイルアクセス
Backup --- S3へのスナップショット・バックアップ

概要

販売管理システムのAWS構成図。CQRS(Command Query Responsibility Segregation)パターンを採用し、書き込み系(Command)と読み取り系(Query)のワークロードを分離することで、それぞれ独立したスケーリングとパフォーマンス最適化を実現する。

アプリケーションサーバはECS(EC2起動タイプ)、バッチサーバ・ファイルサーバはEC2で構成し、全サーバをPrivate Subnetに配置。外部からのアクセスはSoftEther VPNを搭載した踏み台サーバ経由で行う。

データフロー

Command 書き込み系リクエスト

Client ALB Command Service (ECS) RDS Primary (Write)

Query 読み取り系リクエスト

Client ALB Query Service (ECS) RDS Read Replica

Replication 非同期データ同期

RDS Primary WAL Streaming Read Replica 1 / 2

Batch バッチ処理

Batch Server (EC2) RDS Primary (Write)
Batch Server (EC2) Read Replica (Read)
Batch Server (EC2) EFS (File I/O)

Management 保守アクセス

Operator SoftEther VPN Bastion (EC2) Private Resources

レイヤー構成

レイヤーAWSサービス用途
Public SubnetEC2 (Bastion + SoftEther VPN)VPN接続による保守アクセスの入口
Public SubnetALBCommand/Query APIのルーティング
Public SubnetNAT GatewayPrivate Subnetからのアウトバウンド通信
Private Subnet (App)ECS (EC2起動タイプ) x4Command Service x2 + Query Service x2
Private Subnet (App)EC2バッチサーバ(定期バッチ・データ集計)
Private Subnet (Data)RDS PostgreSQL (Primary)CQRS Write DB(INSERT/UPDATE/DELETE)
Private Subnet (Data)RDS Read Replica x2CQRS Read DB(SELECT)非同期レプリケーション
Private Subnet (Data)EC2 + EFSファイルサーバ(帳票・CSVエクスポート等)
外部S3DBスナップショット・EFSバックアップ
外部CloudWatchメトリクス・ログ・アラーム監視

設計のポイント

1. CQRS分離によるスケーラビリティ
書き込みと読み取りのワークロードを物理的に分離。Read Replicaを2台配置し、参照系の負荷分散と可用性を確保。販売データの参照頻度が高い販売管理システムに最適なパターン。

2. RDS非同期レプリケーション
PostgreSQLネイティブのWALストリーミングレプリケーションを使用。最大15台のRead Replicaまでスケールアウト可能。レプリケーションラグは通常数秒以内で、結果整合性は販売管理の参照用途では許容範囲。

3. Private Subnet + SoftEther VPN
全サーバをPrivate Subnetに配置し、インターネットからの直接アクセスを遮断。保守はSoftEther VPN経由の踏み台サーバで行い、セキュリティグループで接続元を制限。

4. EFS共有ストレージ
帳票出力・CSVエクスポート等のファイルをEFSで一元管理。Command Service・Batch Serverから同時アクセス可能。NFSプロトコルでEC2/ECSの両方からマウント可能。

5. Multi-AZ推奨(RDS Primary)
本構成図ではRDS PrimaryのMulti-AZ設定を推奨。フェイルオーバー時も自動切替でダウンタイムを最小化。CloudFormationテンプレートではMulti-AZを有効化済み。

コスト概算

ap-northeast-1 (東京) リージョン基準の月額概算。実際の費用は利用量により変動します。
為替レート: $1 = 150円(参考値)

サービス構成Dev (月額)Prod (月額)
EC2 (Bastion)t3.micro x1$8 (1,200円)$8 (1,200円)
ALBApplication LB x1$20 (3,000円)$25-50 (3,750-7,500円)
NAT Gatewayx1 AZ$35 (5,250円)$35-100 (5,250-15,000円)
ECS (EC2起動)t3.medium x2 (Dev) / m5.large x4 (Prod)$60 (9,000円)$280 (42,000円)
EC2 (Batch)t3.medium (Dev) / m5.large (Prod)$30 (4,500円)$70 (10,500円)
RDS Primarydb.t3.medium (Dev) / db.r5.large Multi-AZ (Prod)$50 (7,500円)$250 (37,500円)
RDS Read Replicadb.t3.medium x2 (Dev) / db.r5.large x2 (Prod)$70 (10,500円)$250 (37,500円)
EC2 (File Server)t3.small x1$15 (2,250円)$15 (2,250円)
EFS50GB (Dev) / 500GB (Prod)$15 (2,250円)$150 (22,500円)
S3100GB backup$3 (450円)$5 (750円)
CloudWatchLogs + Metrics$5 (750円)$20 (3,000円)
合計$311 (約46,650円)$1,108-1,223 (約166,200-183,450円)

前提条件: 24/7稼働、ap-northeast-1、EBSはgp3 100GB想定、データ転送量は月100GB以内

コスト最適化のポイント: EC2/RDS Reserved Instances (1年)で最大40%削減、Dev環境の夜間・休日停止で約60%削減、EFS Infrequent Accessクラスの活用

アーキテクチャレビュー結果

#観点判定備考
1サービス互換性PassALB-ECS, ECS-RDS, EC2-EFS 全接続パターンはAWS公式確認済み
2データフロー整合性PassCQRS Write/Read分離、WALストリーミングレプリケーション
3セキュリティPassPrivate Subnet配置、VPN踏み台、NAT GW
4可用性・耐障害性PassRDS Multi-AZ推奨、Read Replica 2台冗長
5コスト効率PassEC2/ECS指定に合致、不要な重複なし
6ユーザー要望との一致PassCQRS, RDS, EC2/ECS, Private Subnet, SoftEther VPN 全反映

最終更新: 2026-04-01 | AWS Diagram MCP + AWS Knowledge MCP