← 構成図一覧に戻る

StoreCon Application Architecture

ストコンAWS移行 Application 生成日: 2026-03-27
StoreCon Application Architecture
クリックで拡大表示
IaCソースコードを見る

凡例

Edge — クライアントアクセス(店舗端末 → CDN)
API — APIルーティング(API Gateway → マイクロサービス)
Auth — 認証フロー(Cognito)
Async — 非同期処理(SQS経由)
Observe — キャッシュミス / 監視

概要

コンビニストコンAWS移行案件のアプリケーション層アーキテクチャです。店舗端末(ストアコンピュータ / モバイル)からAPI Gateway経由でマイクロサービスにアクセスし、発注・在庫・売上・人員管理の4業務を処理します。

PMとして把握すべきポイント: サービス間の依存関係、非同期処理の範囲、DB選定の理由、キャッシュ戦略、認証フロー。

リクエストフロー

Edge API クライアント → API

Store Computer / Mobile CloudFront (CDN) WAF (Firewall) API Gateway Cognito (Auth)

Sync 同期処理(リアルタイム応答)

API Gateway ECS Fargate (各サービス) ElastiCache (Redis) Aurora / DynamoDB

Async 非同期処理(バックグラウンド)

Ordering / Sales Service SQS (Queue) Lambda (Handler) DynamoDB / S3

構成要素

レイヤーサービス用途
EdgeCloudFrontCDN配信、エッジキャッシュで店舗からの応答高速化
EdgeWAFSQLインジェクション・DDoS等の攻撃防御
APIAPI GatewayREST APIの統合エンドポイント、スロットリング、バージョン管理
APICognito店舗端末・管理者の認証認可(JWT トークン)
ServiceECS Fargate - Ordering商品発注・廃棄処理
ServiceECS Fargate - Inventory在庫管理・棚卸し
ServiceECS Fargate - Sales売上精算・日次締め処理
ServiceECS Fargate - Staff人員管理・シフト管理
AsyncSQSサービス間の非同期メッセージング(疎結合化)
AsyncLambdaイベント駆動処理(帳票生成、通知、集計)
DataElastiCache (Redis)商品マスタ等のキャッシュ(参照頻度の高いデータ)
DataAuroraトランザクションDB(発注・売上・人員の正規化データ)
DataDynamoDB商品マスタ等の高速KVアクセス(数万店舗の同時参照)
DataS3帳票・レポート・ファイルの永続保存
ObserveCloudWatchメトリクス・ログ・アラーム
ObserveX-Ray分散トレーシング(マイクロサービス間のレイテンシ特定)

PM向け学習ポイント

1. マイクロサービス分割の判断基準
業務ドメイン(発注/在庫/売上/人員)単位で分割。サービス間はSQSで疎結合に。障害の波及範囲を限定できる。

2. RDB vs NoSQL の使い分け
Aurora: トランザクション整合性が必要なデータ(売上、発注)。DynamoDB: 読み込み頻度が高く、スケールが必要なデータ(商品マスタ)。

3. キャッシュ戦略
ElastiCache(Redis)で商品マスタをキャッシュし、数万店舗の同時アクセスによるDB負荷を軽減。Cache Miss 時にDynamoDBへフォールバック。

4. 非同期処理の適用範囲
リアルタイム応答不要な処理(帳票生成、集計、通知)をSQS + Lambdaで非同期化。ユーザー体感速度の向上とコスト最適化。

5. 認証フロー
Cognitoで店舗端末のトークン管理。API GatewayのAuthorizer連携で各APIを保護。

コスト概算

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

サービス構成Dev (月額)Prod (月額)
ECS Fargate4マイクロサービス (各0.5vCPU, 1GB)$40 (6,000円)$80-160 (12,000-24,000円)
ALBアプリケーションLB$20 (3,000円)$25-50 (3,750-7,500円)
API Gateway外部API$3-10 (450-1,500円)$10-50 (1,500-7,500円)
AuroraPostgreSQL (0.5-4 ACU)$50-100 (7,500-15,000円)$200-400 (30,000-60,000円)
DynamoDBOn-Demand (セッション等)$5-10 (750-1,500円)$10-50 (1,500-7,500円)
ElastiCache (Redis)キャッシュ$25-50 (3,750-7,500円)$90-180 (13,500-27,000円)
SQS非同期メッセージング$0-2 (0-300円)$2-10 (300-1,500円)
CloudFront + WAFCDN + セキュリティ$11-20 (1,650-3,000円)$25-65 (3,750-9,750円)
Cognito認証$0 (無料枠内)$0-25 (0-3,750円)
S3静的アセット$2-3 (300-450円)$3-5 (450-750円)
CloudWatch + X-Ray監視 + トレーシング$10-20 (1,500-3,000円)$20-40 (3,000-6,000円)
合計$166-275 (約24,900-41,250円)$465-1,035 (約69,750-155,250円)

前提条件: Dev=各サービス1タスク、Prod=各サービス2タスク(冗長化)。コンビニ50店舗規模想定。

コスト最適化: Fargate Savings Plansで最大50%削減。ElastiCacheはReserved Nodesで最大55%削減。Dev環境は夜間スケジュール停止で40%削減可。

設計のポイント

1. 業務ドメイン単位のマイクロサービス分割
発注・在庫・売上・人員の4ドメインで独立したサービスに分割。各サービスのスケーリング・デプロイ・障害影響範囲を独立させ、数万店舗の運用を安定化。

2. Polyglot Persistence(Aurora + DynamoDB)
トランザクション整合性が必要な売上・発注データはAurora、高速な参照が求められる商品マスタはDynamoDBと、データ特性に応じてDBを使い分け。

3. SQSによるサービス間の疎結合化
サービス間通信を直接呼び出しではなくSQSキュー経由に。一時的な障害やスパイクをバッファリングし、サービス間の依存関係を最小化。

4. エッジ層でのセキュリティ多層防御
CloudFront(DDoS緩和)→ WAF(L7攻撃防御)→ Cognito(認証認可)の3段階でリクエストをフィルタリング。正当なリクエストのみがバックエンドに到達する設計。

5. X-Rayによる分散トレーシング
マイクロサービス間のリクエストフローを可視化し、レイテンシーのボトルネックを特定。障害時の原因サービス特定が迅速に行える。

Powered by AWS Diagram MCP Server