- Published on
AWS Well-Architected Framework 完全ガイド 2025: 6つの柱、実戦適用、コスト/セキュリティ/パフォーマンス
- Authors

- Name
- Youngju Kim
- @fjvbn20031
TL;DR
- 6つの柱: Operational Excellence、Security、Reliability、Performance Efficiency、Cost Optimization、Sustainability。
- トレードオフ: すべての柱を100%満たすことはできない。ビジネス優先度で判断。
- Well-Architected Tool: AWS コンソール上の無料セルフアセスメント。
- Sustainability (2021年追加): 環境影響を考慮する。効率的なコードは二酸化炭素排出も少ない。
- 他クラウドにも応用可: AWS のフレームワークだが GCP/Azure でも有効。
1. Well-Architected Framework とは
1.1 背景
AWS が数万顧客のアーキテクチャを分析して整理したベストプラクティスガイド。最初は5つの柱だったが、2021年に Sustainability が追加され6つになった。
1.2 6つの柱 (2025)
| 柱 | 中心となる問い |
|---|---|
| Operational Excellence | どうすれば効率的に運用できるか? |
| Security | データとシステムをどう守るか? |
| Reliability | 障害からどう回復するか? |
| Performance Efficiency | 資源をどう効率的に使うか? |
| Cost Optimization | 価値あたりのコストをどう最小化するか? |
| Sustainability | 環境影響をどう最小化するか? |
1.3 一般原則
すべての柱に共通する5原則:
- 推測ではなく計測 — データ駆動の意思決定。
- 本番規模でテスト — staging は本番とは別物。
- 自動化で実験頻度を上げる — 手作業は人為ミスの源。
- 進化するアーキテクチャを許容 — 一度作ったものが永遠ではない。
- ゲームデーで改善 — カオスエンジニアリング。
2. 柱 1: Operational Excellence
2.1 コア
「ビジネス価値を届けるためにシステムを効果的に運用・監視し、継続的に改善する能力」
2.2 設計原則
- 運用をコードに (Operations as Code) — インフラ、ポリシー、手順をコード化。
- 小さく頻繁な変更 — 大きなデプロイはリスク。
- 運用手順を継続的に改善 — 振り返りと runbook 更新。
- 障害を予測 — 起こりうる失敗モードを洗い出す。
- すべての障害から学ぶ — ポストモーテム。
2.3 実戦チェックリスト
計画:
- ビジネス目標は明確か?
- メトリクスで成功を測れるか?
- 運用上の優先度は定義済みか?
準備:
- インフラは IaC (CloudFormation/Terraform) 管理か?
- CI/CD パイプラインはあるか?
- モニタリングとアラートは設定済みか?
運用:
- runbook は最新か?
- オンコール手順は明確か?
- インシデント対応時間は計測されているか?
進化:
- 定期的な retrospective を行っているか?
- カオスエンジニアリングを実施しているか?
- メトリクスベースで改善しているか?
2.4 AWS ツール
- CloudFormation / CDK — IaC。
- Systems Manager — 自動化 (runbook、パッチ)。
- CloudWatch — モニタリング、アラート。
- X-Ray — 分散トレーシング。
- Config — リソース変更追跡。
3. 柱 2: Security
3.1 コア
「データ、システム、資産を保護しながらクラウドでビジネス価値を提供する能力」
3.2 設計原則
- 強固な Identity 基盤 — IAM、MFA、最小権限。
- すべてのレイヤーにセキュリティ — Defense in Depth。
- 保存中も転送中も暗号化 — Encryption everywhere。
- 人のデータアクセスを制限 — 自動化優先。
- セキュリティイベントに備える — IR (Incident Response) 計画。
- 共有責任モデルを理解 — AWS はクラウドの、顧客はクラウド内のセキュリティ。
3.3 IAM ベストプラクティス
BAD: root アカウントの使用
BAD: コードにアクセスキーを埋め込む
BAD: ワイルドカード (*) 権限
BAD: 共用ユーザー
GOOD: 全ユーザー MFA
GOOD: ロールベース (IAM Roles)
GOOD: 最小権限原則
GOOD: Access Analyzer の活用
GOOD: STS による一時クレデンシャル
3.4 データ保護
保存中 (At Rest):
- S3: デフォルトで SSE-S3、または SSE-KMS。
- EBS: デフォルト暗号化を有効化。
- RDS: KMS キーで暗号化。
- DynamoDB: 常に暗号化 (デフォルト)。
転送中 (In Transit):
- TLS 1.2 以上必須。
- VPC 内部も暗号化 (Service Mesh、mTLS)。
- VPN / Direct Connect。
3.5 ネットワークセキュリティ
[Public Subnet] <- Internet Gateway
|
[Private Subnet] <- NAT Gateway (egress only)
|
[Isolated Subnet] <- DB のみ、インターネットなし
Security Group と NACL:
- Security Group: インスタンス単位、stateful。
- NACL: サブネット単位、stateless。
3.6 AWS セキュリティツール
| ツール | 用途 |
|---|---|
| IAM | アクセス制御 |
| GuardDuty | 脅威検知 (ML ベース) |
| Security Hub | 発見事項の統合 |
| Inspector | 脆弱性スキャン |
| Macie | S3 上の機微データ検出 |
| WAF | Web アプリケーションファイアウォール |
| Shield | DDoS 保護 |
| Secrets Manager | シークレット管理 |
| KMS | 鍵管理 |
4. 柱 3: Reliability
4.1 コア
「ワークロードが意図通りに正確かつ一貫して機能する能力」
4.2 設計原則
- 障害から自動復旧 — Auto-healing。
- 復旧手順をテスト — カオスエンジニアリング。
- 水平スケールで可用性を高める — 巨大単一インスタンスは避ける。
- 容量を推測しない — Auto Scaling。
- 変更管理を自動化 — IaC。
4.3 AWS 可用性モデル
- Region: 地理的領域 (us-east-1, ap-northeast-1)。
- Availability Zone (AZ): Region 内の独立したデータセンター (通常3〜6)。
- Edge Location: CloudFront の PoP。
Multi-AZ: 複数 AZ に分散し単一 AZ 障害を吸収。 Multi-Region: 複数リージョンに分散し、広域障害や自然災害に備える。
4.4 可用性目標
| 可用性 | 年間ダウンタイム | 月間ダウンタイム |
|---|---|---|
| 99% | 87.6h | 7.2h |
| 99.9% (three nines) | 8.76h | 43.8分 |
| 99.95% | 4.38h | 21.9分 |
| 99.99% (four nines) | 52.6分 | 4.38分 |
| 99.999% (five nines) | 5.26分 | 26.3秒 |
現実:
- 99.9% は単一インスタンスでは難しい。
- 99.99% は Multi-AZ + Auto Scaling。
- 99.999% は Multi-Region と精緻な failover が必要。
4.5 実戦パターン
ELB + Auto Scaling Group + Multi-AZ:
[Route 53]
|
[ALB (multi-AZ)]
/ | \
[EC2 az-a] [EC2 az-b] [EC2 az-c]
| | |
[RDS Multi-AZ Standby]
- EC2 が死ぬ: ASG が新しいインスタンスを起動。
- AZ が死ぬ: ALB が他 AZ にトラフィックを振り分け。
- Primary RDS が死ぬ: Standby に自動 failover。
4.6 RTO と RPO
- RTO (Recovery Time Objective): 復旧までに許される時間。
- RPO (Recovery Point Objective): 許容できるデータ損失。
| 戦略 | RTO | RPO | コスト |
|---|---|---|---|
| Backup & Restore | 時間 | 時間 | 低 |
| Pilot Light | 分 | 分 | 中 |
| Warm Standby | 分 | 秒 | 高 |
| Multi-Site Active-Active | 0 | 0 | 非常に高 |
ビジネスが許容できる RTO/RPO を決めてから戦略を選ぶ。
5. 柱 4: Performance Efficiency
5.1 コア
「要件を満たすためにコンピューティング資源を効率的に使い、需要と技術の変化に合わせてその効率を保つ能力」
5.2 設計原則
- 先端技術の民主化 — AI/ML やビッグデータを誰もが使える。
- グローバル展開 — ユーザーの近くへ。
- サーバーレス優先 — 運用負荷を下げる。
- より頻繁に実験 — 比較テスト。
- 技術特性を理解 — ワークロードに合う道具を選ぶ。
5.3 コンピュートの選択
| 選択肢 | ユースケース |
|---|---|
| Lambda | 短時間・イベント駆動 |
| Fargate | サーバー管理不要のコンテナ |
| EC2 | 長時間・カスタム環境 |
| ECS/EKS | コンテナオーケストレーション |
| Batch | 大量バッチ処理 |
| Lightsail | シンプルな Web ホスティング |
5.4 ストレージの選択
| 選択肢 | 用途 |
|---|---|
| S3 | オブジェクト、バックアップ、静的ファイル |
| EBS | EC2 のブロックストレージ |
| EFS | 共有ファイルシステム (NFS) |
| FSx | Windows / Lustre ファイルシステム |
| Glacier | 長期アーカイブ |
5.5 データベースの選択
| 選択肢 | ユースケース |
|---|---|
| RDS | 伝統的なリレーショナル |
| Aurora | 高性能・RDS 互換 |
| DynamoDB | NoSQL、数 ms のレイテンシ |
| DocumentDB | MongoDB 互換 |
| ElastiCache | Redis/Memcached キャッシュ |
| Neptune | グラフ DB |
| Timestream | 時系列 |
| OpenSearch | 検索、ログ分析 |
5.6 キャッシング
階層的キャッシュ:
- CloudFront (CDN) — 世界中のエッジ。
- API Gateway キャッシュ — API 応答。
- ElastiCache (Redis) — アプリキャッシュ。
- DynamoDB DAX — DynamoDB キャッシュ。
- RDS Read Replica — 読み込み負荷分散。
効果: 応答時間 90% 以上削減、DB 負荷激減。
6. 柱 5: Cost Optimization
6.1 コア
「最小コストでビジネス価値を届けるシステムを運用する能力」
6.2 設計原則
- クラウド財務管理の導入 — FinOps。
- 消費モデルを採用 — 使った分だけ。
- 全体効率を計測 — ビジネスメトリクスあたりのコスト。
- 差別化されない重労働をやめる — マネージドサービスへ。
- 支出を分析・帰属 — タグと配賦。
6.3 価格モデル
コンピュート (EC2):
- On-Demand: 最も高いが柔軟。
- Reserved Instance (1〜3年): 最大 75% 割引。
- Savings Plans: より柔軟な約款。
- Spot: 最大 90% 割引、中断あり。
ストレージ (S3):
- Standard: 頻繁アクセス。
- Standard-IA: 低頻度、約 30% 安い。
- Glacier: 長期保管、約 95% 安い。
- Glacier Deep Archive: 最安、95% 以上安い。
6.4 コスト削減戦略
1. Right-sizing:
aws compute-optimizer get-ec2-instance-recommendations
使用率 50% の EC2 をよりサイズの小さいインスタンスに落とす。
2. Auto Scaling: トラフィックに応じてスケール。コストは利用量に比例。
3. Spot Instances: バッチや CI/CD に最適、最大 90% 削減、中断設計が前提。
4. Reserved Instances / Savings Plans: 安定ワークロード向け。1年で約 30%、3年で約 60% 削減。
5. S3 Lifecycle Policies:
{
"Rules": [{
"Id": "MoveToIA",
"Status": "Enabled",
"Transitions": [
{ "Days": 30, "StorageClass": "STANDARD_IA" },
{ "Days": 90, "StorageClass": "GLACIER" },
{ "Days": 365, "StorageClass": "DEEP_ARCHIVE" }
]
}]
}
6. データ転送コストの削減: 同一リージョン内転送は無料/安価、S3 直接より CloudFront、NAT Gateway 回避のために VPC Endpoints を使う。
6.5 コストモニタリング
| ツール | 用途 |
|---|---|
| Cost Explorer | コスト可視化 |
| Budgets | 予算アラート |
| Cost and Usage Reports | 詳細データ |
| Trusted Advisor | コスト推奨 |
| Compute Optimizer | EC2 サイズ推奨 |
| Savings Plans Recommendations | 割引推奨 |
6.6 タグ戦略
Environment: production
Project: ecommerce
Owner: team-checkout
CostCenter: 1234
Cost Explorer でタグ別に分析できる。
7. 柱 6: Sustainability (2021年追加)
7.1 コア
「環境影響、特にエネルギー消費と効率に関する能力」
7.2 設計原則
- 影響を理解 — どこで二酸化炭素を出しているか?
- サステナビリティ目標を設定 — 測定可能な目標。
- 利用率を最大化 — 遊休資源を最小化。
- 効率的な新技術を採用 — Graviton、ARM。
- マネージドサービスを使う — AWS 側の効率を活用。
- 下流への影響を減らす — クライアント側も軽く。
7.3 サステナビリティ指標
- カーボンフットプリント。
- ユーザーあたりのエネルギー消費。
- 遊休資源比率。
- データ転送の最適化。
7.4 実戦ポイント
- 効率の良いインスタンスタイプ: Graviton (ARM) は Intel/AMD 比で約 60% 高効率。
- Auto Scaling: 使わないときは停止、開発環境は夜間停止。
- オブジェクトライフサイクル: 古いデータを cold storage に、不要なデータは削除。
- CDN: ユーザーの近くで配信してネットワークを減らす。
- リージョン選択: 再生可能エネルギー比率の高いリージョンを選ぶ。AWS Customer Carbon Footprint Tool が役立つ。
7.5 AWS のコミット
- 2025年までに再生可能エネルギー 100%。
- 2040年までにネットゼロ。
- 効率的なデータセンター設計。
8. トレードオフの扱い方
8.1 柱同士の対立
- Security vs. Performance: 強い暗号化は CPU コストを伴う。データの機微性で判断。
- Cost vs. Reliability: Multi-Region はコスト倍増。SLA で判断。
- Performance vs. Cost: 大きいインスタンスほど速くて高い。レイテンシ要件で判断。
- Operational Excellence vs. Cost: 自動化は初期コスト増。長期 ROI で判断。
8.2 意思決定フレームワーク
各意思決定で:
- ビジネス目標 — 何が最重要か?
- 各柱への影響 — どの柱に影響するか?
- トレードオフ — 何を犠牲にするか?
- リスク — 間違えたらどうなるか?
- 可逆性 — 変更コストは?
8.3 例
シナリオ: e-commerce サイト、日次100万ユーザー。
| 柱 | 優先度 | 決定 |
|---|---|---|
| Reliability | 高 | Multi-AZ、Auto Scaling |
| Performance | 高 | CloudFront + ElastiCache |
| Security | 高 | WAF、KMS、MFA |
| Cost | 中 | Reserved + Spot の混合 |
| Operational | 中 | IaC、CI/CD |
| Sustainability | 低 | Graviton |
9. Well-Architected Tool の使い方
9.1 無料セルフアセスメント
AWS コンソールから:
- ワークロードを定義 (名前、環境、リージョン)。
- 6つの柱について約50問に回答。
- 改善領域を特定。
- 優先度を決定。
- 改善後に再評価。
9.2 Lens
Lens は特定のワークロードや技術向けの追加ガイド。
| Lens | 対象 |
|---|---|
| Serverless Lens | Lambda、API Gateway ベース |
| SaaS Lens | マルチテナント SaaS |
| Machine Learning Lens | ML ワークロード |
| Foundational Technical Review | AWS パートナー |
| IoT Lens | IoT システム |
| Streaming Media Lens | メディア |
9.3 Well-Architected Review
AWS Solutions Architect との共同レビュー (無料またはパートナー経由):
- アーキテクチャレビュー。
- 6つの柱の評価。
- 優先度付き推奨。
- 改善ロードマップ。
10. アンチパターンカタログ
10.1 運用
- BAD: 手動デプロイ。GOOD: CI/CD パイプライン。
- BAD: ローカルだけでテスト。GOOD: 本番相当環境でテスト。
- BAD: 障害後に振り返らない。GOOD: blameless postmortem。
10.2 セキュリティ
- BAD: root アカウント使用。GOOD: IAM ユーザー + ロール。
- BAD: ワイルドカード権限。GOOD: 最小権限。
- BAD: ハードコードされたクレデンシャル。GOOD: Secrets Manager / Parameter Store。
- BAD: HTTP のみ。GOOD: HTTPS 強制、HSTS。
10.3 信頼性
- BAD: 単一 AZ デプロイ。GOOD: 最低限 Multi-AZ。
- BAD: バックアップなし、復元テストなし。GOOD: 定期バックアップ + 復元訓練。
- BAD: 単一障害点。GOOD: 全コンポーネントの冗長化。
10.4 パフォーマンス
- BAD: 何でも大型インスタンス。GOOD: ワークロード適正サイズ。
- BAD: キャッシュなし。GOOD: CloudFront + ElastiCache。
- BAD: すべて同期。GOOD: 適切な非同期化。
10.5 コスト
- BAD: すべて On-Demand。GOOD: Reserved / Savings / Spot の混合。
- BAD: タグなし。GOOD: 一貫したタグ戦略。
- BAD: 使っていない資源を放置。GOOD: 定期的なクリーンアップ、Trusted Advisor。
クイズ
1. Well-Architected Framework の6つの柱は?
答え: (1) Operational Excellence — 効率的な運用、(2) Security — データとシステムの保護、(3) Reliability — 障害からの復旧、(4) Performance Efficiency — 資源効率、(5) Cost Optimization — 価値あたりのコスト、(6) Sustainability — 環境影響 (2021年追加)。5つから始まり、環境意識の高まりで Sustainability が加わった。すべてを100%満たすことはできないため、ビジネス優先度に基づくトレードオフが必要。
2. RTO と RPO の違いは?
答え: RTO (Recovery Time Objective) は障害後に許容される復旧時間 — 「30分以内に復旧しなければならない」など。RPO (Recovery Point Objective) は許容できるデータ損失量 — 「最大5分ぶんのデータ損失までは OK」など。両方ともビジネス要件から決まる。RTO/RPO が小さいほどコストが跳ね上がる (リアルタイムレプリケーションは RPO 0 だが高価)。多くのシステムは RTO 30分、RPO 1時間程度に落ち着く。
3. Spot Instance を安全に使うには?
答え: Spot はいつでも終了しうる (通常2分前通知)。安全な使い方: (1) ステートレスなワークロード、(2) チェックポイントで進捗保存、(3) Spot Fleet で複数インスタンスタイプを混合、(4) Auto Scaling Group with Mixed Instances で On-Demand と Spot を自動バランス、(5) graceful shutdown ハンドラで終了通知を処理。CI/CD、バッチ、分析に最適。最大 90% のコスト削減が可能。
4. Sustainability の柱の中心的な実践は?
答え: (1) Graviton (ARM) 利用 — Intel 比で約 60% 効率向上、(2) Auto Scaling — 使わないときは自動縮小、(3) S3 Lifecycle — 古いデータを cold storage へ、(4) CDN — ユーザーの近くへ、ネットワーク消費を削減、(5) 再生可能エネルギー中心のリージョン を AWS Customer Carbon Footprint Tool で選ぶ、(6) 遊休資源の整理 (未使用 EBS、アイドル EC2)。効率的なコード = 少ない二酸化炭素 = 少ないコスト。コスト最適化と自然につながる。
5. Multi-AZ と Multi-Region の違いは?
答え: Multi-AZ は1リージョン内の複数 AZ に分散。単一 AZ 障害時に自動 failover。RDS、ELB、ASG など多くの AWS サービスが対応。コスト増はほぼなし。Multi-Region は複数リージョンに分散。自然災害や広域障害、規制対応に備える。コストは倍以上、データ同期が複雑 (DynamoDB Global Tables、Aurora Global Database)。99.99% は Multi-AZ で十分、99.999% には Multi-Region が必要。