AWSユースケース学習: マルチチャネルEC基盤
0. この資料で作るもの
在庫連携・注文処理・決済連携を含むEC基盤を、可用性重視で構築する。
| 項目 |
内容 |
| 主な機能 |
CloudFront連携、WAF処理、監視運用 |
| 非機能要件 |
拡張性、可観測性、障害耐性 |
| 想定規模 |
同時利用 10,000 |
| 主な利用サービス |
CloudFront, WAF, API Gateway, Lambda, ECS, Aurora, DynamoDB, ElastiCache, OpenSearch Service, EventBridge, Step Functions, SQS, SNS, KMS, CloudWatch |
1. 構成図
architecture-beta
service user(internet)[User]
group vpc(logos:aws-vpc)[VPC]
group pub[Public Subnet] in vpc
group prv[Private Subnet] in vpc
service n1_cloudfront(logos:aws-cloudfront)[CloudFront] in pub
service n2_waf(logos:aws-waf)[WAF] in pub
service n3_api_gateway(logos:aws-api-gateway)[API Gateway] in pub
service n4_lambda(logos:aws-lambda)[Lambda] in prv
service n5_ecs(logos:aws-ecs)[ECS] in prv
service n6_aurora(logos:aws-aurora)[Aurora] in prv
service n7_dynamodb(logos:aws-dynamodb)[DynamoDB] in prv
service n9_opensearch_service(logos:aws-opensearch)[OpenSearch Service] in prv
service n10_eventbridge(logos:aws-eventbridge)[EventBridge] in prv
service n8_elasticache(logos:aws-elasticache)[ElastiCache]
user:R --> L:n1_cloudfront
n1_cloudfront:R --> L:n2_waf
n2_waf:R --> L:n4_lambda
n4_lambda:R --> L:n5_ecs
n5_ecs:R --> L:n6_aurora
n4_lambda:B --> T:n8_elasticache
構成図サービスリンク
2. サービス選定表
3. リクエスト処理シーケンス
sequenceDiagram
User->>CloudFront: リクエスト
CloudFront->>WAF: 認証/入口制御
WAF->>API Gateway: 業務処理
API Gateway->>Lambda: データ更新
Lambda-->>User: 結果応答
4. データモデル(例)
| 論理データ |
用途 |
| ecommerce_entities / ecommerce_events / ecommerce_audit |
ユースケースで中心となるデータ |
ポイント:
- 認可境界を意識したキー設計にする
- 監査/再処理のためイベント履歴を保持する
4.5 クラス図(アプリ構造)
classDiagram
class Controller {
+handle(request) Response
}
class UseCaseService {
+execute(command) Result
}
class Repository {
+save(entity)
+find(query)
}
class EventPublisher {
+publish(event)
}
Controller --> UseCaseService
UseCaseService --> Repository
UseCaseService --> EventPublisher
5. API設計(例)
POST /ecommerce-multichannel/events, GET /ecommerce-multichannel/status/{id}, GET /ecommerce-multichannel/metrics
認可方針:
- エッジで認証し、ドメイン層で認可を強制する
- ユーザー/テナント境界を越えるアクセスを禁止する
6. 実装ステップ(最短)
| Step |
作業 |
完了条件 |
| 1 |
データ/イベントモデル定義 |
主要ユースケースが表現できる |
| 2 |
API + ワークフロー実装 |
正常系が通る |
| 3 |
監視/通知/アラート設定 |
異常を検知できる |
| 4 |
負荷/障害テスト |
SLOを満たす |
7. 監視と運用
| 対象 |
指標 |
しきい値例 |
対応 |
| API |
5xx率/レイテンシ(p95) |
SLO逸脱(99.95%未達) |
直近デプロイ差分と依存障害を確認 |
| 非同期処理 |
遅延/滞留件数 |
5分以上の継続増加 |
コンシューマ増強・DLQ再処理 |
| データ層 |
エラー率/スロットル |
継続発生 |
キー設計・クエリ・キャパシティ見直し |
| Edge/CDN |
キャッシュヒット率 |
低下傾向 |
TTL/無効化戦略を再調整 |
8. コスト見積もり観点
| サービス群 |
主課金軸 |
最適化ポイント |
| Compute |
実行回数/時間 |
無駄実行削減 |
| Data |
保存量/IO |
ライフサイクルと圧縮 |
| Network |
転送量 |
キャッシュと配信最適化 |
8.5 料金例(目安)
前提トラフィック: 月間 500万リクエスト / データ転送 2TB / 保存 5TB
| 規模 |
月額目安 |
主な前提 |
| 小規模 |
$300-900 / 月(約¥45,000-¥135,000) |
単一リージョン、最低限の冗長化 |
| 中規模 |
$900-2,500 / 月(約¥135,000-¥375,000) |
本番運用、監視/バックアップ標準実装 |
| 大規模 |
$2,500-6,000 / 月(約¥375,000-¥900,000) |
高可用構成、ピーク対策、長期保管を含む |
コストドライバー上位: CloudFront, WAF, API Gateway
注意:
- 上記は学習用の概算レンジ
- 正式見積もりはAWS Pricing Calculatorで試算
9. 次の発展課題
- Blue/Greenデプロイ
- マルチリージョンDR
- IaC完全自動化(CDK)
- セキュリティ運用の自動化
10. リスクと対策
| リスク |
影響 |
予防策 |
検知/復旧 |
| 想定外トラフィック急増 |
レイテンシ悪化/エラー増加 |
オートスケール閾値と負荷試験を事前実施 |
CloudWatchアラーム + 段階的スケール |
| 権限設定ミス |
情報漏えい/操作不能 |
最小権限ポリシー + 定期棚卸し |
CloudTrail監査 + 直近変更ロールバック |
| 依存サービス障害 |
一部機能停止 |
非同期化・リトライ・フォールバック設計 |
DLQ/再実行手順で復旧 |