分析モジュールを理解する
Architecto の分析モジュールは、デプロイ前に複数の重要な観点でアーキテクチャを評価します。各モジュールはコスト、スケーラビリティ、セキュリティ、パフォーマンス、コンプライアンスのいずれかに集中します。
分析の概要
専門家によるピアレビューのようなものと考えてください。
- 財務監査担当 → コスト見積もり
- パフォーマンスエンジニア → スケーラビリティ分析、パフォーマンスシミュレーター
- セキュリティアーキテクト → 脅威モデリング、セキュリティ態勢
- 運用責任者 → ドリフト検出
- コンプライアンス担当 → コンプライアンスチェック
これらを組み合わせ、本番環境への準備状況に自信を持てます。
コスト見積もり
問い: 「いくらかかるか?」
クラウドの月額費用を、異なる規模でモデル化します。
仕組み
- アーキテクチャと対象規模(1,000〜100 万ユーザー)を入力します
- Architecto がコンピューティング、ストレージ、データベース、データ転送の費用を計算します
- 拡張に伴うコストの変化 をモデル化します
- 急増する コストの変曲点 を特定します
- 最適化戦略 を提案します
コスト曲線を理解する
費用は通常、次のような傾向を示します。
Cost
^
| /
| /
| /
| /_____ Cost knee
| /
|/
+-----> Users「コストの屈曲点」 は、アーキテクチャの費用が持続困難になる地点です。例えば:
- 1 万ユーザー:$200/月 ✓ 健全
- 5 万ユーザー:$500/月 ✓ まだ許容範囲
- 10 万ユーザー:$2,000/月 ⚠️ コストの屈曲点
- 20 万ユーザー:$5,000/月 ✗ 持続困難
コスト削減戦略
よく提案される最適化:
| 戦略 | 例 | 効果 |
|---|---|---|
| リザーブドインスタンス | EC2 の 1 年契約 | 20〜40% 削減 |
| キャッシュ | 頻繁に使うデータに Redis を追加 | DB 費用を 30〜50% 削減 |
| オートスケーリング | 夜間に縮小 | コンピューティングを 10〜20% 削減 |
| データ転送 | 静的アセットに CDN | 転送費用を 20〜40% 削減 |
| データベース最適化 | RDS リードレプリカ、接続プーリング | DB 費用を 15〜30% 削減 |
| スポットインスタンス | 非クリティカルな処理 | コンピューティングを 70% 削減 |
スケーラビリティ分析
問い: 「何人まで対応できるか? ボトルネックはどこか?」
待ち行列理論とストレステストのモデルで、負荷への対応を予測します。
主なメトリクス
| メトリクス | 定義 | 例 |
|---|---|---|
| スループット | 対応可能な毎秒リクエスト数 | 5,000 req/s |
| レイテンシー | 平均的なリクエストの応答時間 | 200ms |
| ボトルネック | スループットを制限するコンポーネント | RDS プライマリデータベース |
| スケーリング上限 | 品質低下前の最大ユーザー数 | 同時接続 100,000 |
ボトルネックの特定
規模ごとに異なるコンポーネントが制約になります。
10k users: API Server (add more servers)
50k users: Database (add read replicas, caching)
100k users: Network bandwidth (add CDN, optimize queries)
1M users: Distributed systems complexity (redesign for microservices)スケーラビリティ分析は、どのコンポーネントが制約になるかを特定します。
スケーリングの提案
ボトルネックの特定後:
-
リードレプリカの追加(データベース)
- 読み取りはレプリカ、書き込みはプライマリへ
- 読み取りスループットを線形に拡張
- 目安:3〜5 レプリカで 2〜5 万ユーザーに対応
-
水平スケーリング(サーバー)
- ロードバランサー配下にインスタンスを追加
- 目安:1 インスタンスで同時ユーザー 500〜2,000 人
-
キャッシュ層(Redis/Memcached)
- 頻繁に使うデータをキャッシュ
- データベース負荷を 50〜80% 削減
- 目安:キャッシュ層は 10〜100 倍のトラフィックに対応
-
シャーディング(データベース)
- キー(ユーザー ID、リージョン、日付)でデータを分割
- 各シャードはデータの一部を担当
- 数百万人規模への拡張を実現
-
コネクションプーリング(データベース)
- データベース接続を再利用
- 接続のオーバーヘッドを削減
- 目安:スループットが 2〜3 倍向上
脅威モデリング
問い: 「何が起こり得るか? どう攻撃を防ぐか?」
STRIDE の手法で脅威を特定し、緩和策を提案します。
STRIDE フレームワーク
| 脅威 | 定義 | 例 |
|---|---|---|
| なりすまし | 攻撃者が他人を装う | 偽のログイン、偽造 API リクエスト |
| 改ざん | 転送中・保存中のデータを書き換える | 中間者攻撃、データベース破損 |
| 否認 | 実行した操作を否定する | データ削除や送金を否定 |
| 情報漏えい | 許可されていないデータを読む | API キーの露出、顧客データ漏えい |
| サービス拒否 | 正規ユーザーのアクセスを妨げる | DDoS、リソース枯渇 |
| 権限昇格 | 許可以上のアクセス権を得る | SQL インジェクションで全データを読む、不正な権限拡大 |
脅威分析の例
E コマースのアーキテクチャでは:
なりすましの脅威:
- 攻撃者が他のユーザーを装う
- その注文や支払い方法にアクセスする
- 緩和策: ログイン時の MFA、OAuth 2.0、セッショントークン
改ざんの脅威:
- 決済時に注文額を変更する
- $100 の注文を $1 にする
- 緩和策: 暗号学的署名、サーバー側検証、暗号化通信
情報漏えい:
- データベースのバックアップを読む
- 顧客のクレジットカードや個人情報を盗む
- 緩和策: 保存時暗号化(AWS KMS)、バックアップ暗号化、アクセス制御
サービス拒否:
- API に大量のリクエストを送る
- 正規ユーザーに HTTP 503 エラーが出る
- 緩和策: レート制限、CloudFront の DDoS 防御、WAF、オートスケーリング
セキュリティのベストプラクティス
Architecto は次を推奨します。
- 認証 — MFA、OAuth 2.0、パスキー
- 暗号化 — 転送時 TLS 1.3、保存時 AES-256
- 認可 — 最小権限 IAM、ロールベースのアクセス制御
- ネットワークセキュリティ — VPC 分離、セキュリティグループ、NACL
- データ保護 — PII のトークン化、ログ内のマスキング
- 監視 — 監査ログに CloudTrail、異常検知に CloudWatch
アーキテクチャ差分
問い: 「バージョン間で何が変わったか? どんな影響があるか?」
2 つのバージョンの意味的な違いを表示します。
比較する内容
- 追加されたコンポーネント — 新しいサービスやデータベースなど
- 削除されたコンポーネント — 廃止されたサービス
- 変更されたコンポーネント — インスタンス種類やスケーリングなどの設定変更
- 接続の変更 — 追加・削除されたデータフロー
差分の例
Version 1:
- Single RDS database (no replicas)
- Single EC2 instance
- No caching layer
- Direct database access from app
Version 2:
+ Added 2 RDS read replicas
+ Added autoscaling group (3-10 instances)
+ Added Redis cache layer
+ Added connection pooling
~ Changed database instance type (t3.medium → r5.large)影響分析
差分では次の影響を説明します。
- コスト: +$500/月(追加レプリカとキャッシュ)
- スケーラビリティ: +400%(5 倍のユーザーに対応)
- 可用性: +99.9%(マルチ AZ フェイルオーバーを設定)
- 複雑さ: 中(管理するキャッシュとレプリカが増加)
パフォーマンスシミュレーター
問い: 「負荷がかかると遅延やスループットはどうなるか?」
(近日公開:レイテンシーモデリングを含む本格的なシミュレーション)
負荷ごとの各コンポーネントの挙動を予測します。
コンプライアンスチェック
問い: 「コンプライアンス要件を満たすか?」
(近日公開:SOC2、HIPAA、PCI DSS、GDPR の検証)
アーキテクチャを基準に照らして検証します。
ドリフト検出
問い: 「実際のインフラは設計からずれていないか?」
(近日公開:構成ドリフトの継続監視)
全体分析を実行する
総合レビュー
- 「すべて分析」 をクリックします(近日公開)
- Architecto が該当するすべてのモジュールを実行します。
- コスト見積もり(1,000、1 万、10 万、100 万ユーザー)
- スケーラビリティのボトルネック分析
- STRIDE の包括的な脅威レビュー
- コンプライアンスチェック
- パフォーマンスシミュレーション
- 包括的な アーキテクチャレビューレポート を生成します。
- エグゼクティブサマリー(1〜10 点)
- 各モジュールの詳細な結果
- 対応が必要な重要問題
- 推奨する次のステップ
- 各提案の費用対効果
分析の経時変化を追う
複数回の分析を保存し、次を追跡できます。
- アーキテクチャの改善
- コストの傾向
- 拡張への準備状況の改善
- セキュリティ態勢の改善
次のステップ
- 最初のアーキテクチャを作る → 最初のアーキテクチャ
- ベストプラクティスを学ぶ → ベストプラクティス
- 全機能を探す → 機能ガイド
要点:
分析モジュールは単なるレポートではなく、設計のレビュー委員会です。問題を早く見つけ、コストを最適化し、デプロイ前の確信を高めるために活用してください。