LabHub

ブログ

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

한국어English日本語

TL;DR


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原則:

  1. 推測ではなく計測 — データ駆動の意思決定。
  2. 本番規模でテスト — staging は本番とは別物。
  3. 自動化で実験頻度を上げる — 手作業は人為ミスの源。
  4. 進化するアーキテクチャを許容 — 一度作ったものが永遠ではない。
  5. ゲームデーで改善 — カオスエンジニアリング。

2. 柱 1: Operational Excellence

2.1 コア

「ビジネス価値を届けるためにシステムを効果的に運用・監視し、継続的に改善する能力」

2.2 設計原則

  1. 運用をコードに (Operations as Code) — インフラ、ポリシー、手順をコード化。
  2. 小さく頻繁な変更 — 大きなデプロイはリスク。
  3. 運用手順を継続的に改善 — 振り返りと runbook 更新。
  4. 障害を予測 — 起こりうる失敗モードを洗い出す。
  5. すべての障害から学ぶ — ポストモーテム。

2.3 実戦チェックリスト

計画:

準備:

運用:

進化:

2.4 AWS ツール


3. 柱 2: Security

3.1 コア

「データ、システム、資産を保護しながらクラウドでビジネス価値を提供する能力」

3.2 設計原則

  1. 強固な Identity 基盤 — IAM、MFA、最小権限。
  2. すべてのレイヤーにセキュリティ — Defense in Depth。
  3. 保存中も転送中も暗号化 — Encryption everywhere。
  4. 人のデータアクセスを制限 — 自動化優先。
  5. セキュリティイベントに備える — IR (Incident Response) 計画。
  6. 共有責任モデルを理解 — AWS はクラウドの、顧客はクラウド内のセキュリティ。

3.3 IAM ベストプラクティス

BAD: root アカウントの使用
BAD: コードにアクセスキーを埋め込む
BAD: ワイルドカード (*) 権限
BAD: 共用ユーザー

GOOD: 全ユーザー MFA
GOOD: ロールベース (IAM Roles)
GOOD: 最小権限原則
GOOD: Access Analyzer の活用
GOOD: STS による一時クレデンシャル

3.4 データ保護

保存中 (At Rest):

転送中 (In Transit):

3.5 ネットワークセキュリティ

[Public Subnet]    <- Internet Gateway
    |
[Private Subnet]   <- NAT Gateway (egress only)
    |
[Isolated Subnet]  <- DB のみ、インターネットなし

Security Group と NACL:

3.6 AWS セキュリティツール

ツール用途
IAMアクセス制御
GuardDuty脅威検知 (ML ベース)
Security Hub発見事項の統合
Inspector脆弱性スキャン
MacieS3 上の機微データ検出
WAFWeb アプリケーションファイアウォール
ShieldDDoS 保護
Secrets Managerシークレット管理
KMS鍵管理

4. 柱 3: Reliability

4.1 コア

「ワークロードが意図通りに正確かつ一貫して機能する能力」

4.2 設計原則

  1. 障害から自動復旧 — Auto-healing。
  2. 復旧手順をテスト — カオスエンジニアリング。
  3. 水平スケールで可用性を高める — 巨大単一インスタンスは避ける。
  4. 容量を推測しない — Auto Scaling。
  5. 変更管理を自動化 — IaC。

4.3 AWS 可用性モデル

Multi-AZ: 複数 AZ に分散し単一 AZ 障害を吸収。 Multi-Region: 複数リージョンに分散し、広域障害や自然災害に備える。

4.4 可用性目標

可用性年間ダウンタイム月間ダウンタイム
99%87.6h7.2h
99.9% (three nines)8.76h43.8分
99.95%4.38h21.9分
99.99% (four nines)52.6分4.38分
99.999% (five nines)5.26分26.3秒

現実:

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]

4.6 RTO と RPO

戦略RTORPOコスト
Backup & Restore時間時間
Pilot Light
Warm Standby
Multi-Site Active-Active00非常に高

ビジネスが許容できる RTO/RPO を決めてから戦略を選ぶ。


5. 柱 4: Performance Efficiency

5.1 コア

「要件を満たすためにコンピューティング資源を効率的に使い、需要と技術の変化に合わせてその効率を保つ能力」

5.2 設計原則

  1. 先端技術の民主化 — AI/ML やビッグデータを誰もが使える。
  2. グローバル展開 — ユーザーの近くへ。
  3. サーバーレス優先 — 運用負荷を下げる。
  4. より頻繁に実験 — 比較テスト。
  5. 技術特性を理解 — ワークロードに合う道具を選ぶ。

5.3 コンピュートの選択

選択肢ユースケース
Lambda短時間・イベント駆動
Fargateサーバー管理不要のコンテナ
EC2長時間・カスタム環境
ECS/EKSコンテナオーケストレーション
Batch大量バッチ処理
Lightsailシンプルな Web ホスティング

5.4 ストレージの選択

選択肢用途
S3オブジェクト、バックアップ、静的ファイル
EBSEC2 のブロックストレージ
EFS共有ファイルシステム (NFS)
FSxWindows / Lustre ファイルシステム
Glacier長期アーカイブ

5.5 データベースの選択

選択肢ユースケース
RDS伝統的なリレーショナル
Aurora高性能・RDS 互換
DynamoDBNoSQL、数 ms のレイテンシ
DocumentDBMongoDB 互換
ElastiCacheRedis/Memcached キャッシュ
Neptuneグラフ DB
Timestream時系列
OpenSearch検索、ログ分析

5.6 キャッシング

階層的キャッシュ:

  1. CloudFront (CDN) — 世界中のエッジ。
  2. API Gateway キャッシュ — API 応答。
  3. ElastiCache (Redis) — アプリキャッシュ。
  4. DynamoDB DAX — DynamoDB キャッシュ。
  5. RDS Read Replica — 読み込み負荷分散。

効果: 応答時間 90% 以上削減、DB 負荷激減。


6. 柱 5: Cost Optimization

6.1 コア

「最小コストでビジネス価値を届けるシステムを運用する能力」

6.2 設計原則

  1. クラウド財務管理の導入 — FinOps。
  2. 消費モデルを採用 — 使った分だけ。
  3. 全体効率を計測 — ビジネスメトリクスあたりのコスト。
  4. 差別化されない重労働をやめる — マネージドサービスへ。
  5. 支出を分析・帰属 — タグと配賦。

6.3 価格モデル

コンピュート (EC2):

ストレージ (S3):

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 OptimizerEC2 サイズ推奨
Savings Plans Recommendations割引推奨

6.6 タグ戦略

Environment: production
Project: ecommerce
Owner: team-checkout
CostCenter: 1234

Cost Explorer でタグ別に分析できる。


7. 柱 6: Sustainability (2021年追加)

7.1 コア

「環境影響、特にエネルギー消費と効率に関する能力」

7.2 設計原則

  1. 影響を理解 — どこで二酸化炭素を出しているか?
  2. サステナビリティ目標を設定 — 測定可能な目標。
  3. 利用率を最大化 — 遊休資源を最小化。
  4. 効率的な新技術を採用 — Graviton、ARM。
  5. マネージドサービスを使う — AWS 側の効率を活用。
  6. 下流への影響を減らす — クライアント側も軽く。

7.3 サステナビリティ指標

7.4 実戦ポイント

7.5 AWS のコミット


8. トレードオフの扱い方

8.1 柱同士の対立

8.2 意思決定フレームワーク

各意思決定で:

  1. ビジネス目標 — 何が最重要か?
  2. 各柱への影響 — どの柱に影響するか?
  3. トレードオフ — 何を犠牲にするか?
  4. リスク — 間違えたらどうなるか?
  5. 可逆性 — 変更コストは?

8.3 例

シナリオ: e-commerce サイト、日次100万ユーザー。

優先度決定
ReliabilityMulti-AZ、Auto Scaling
PerformanceCloudFront + ElastiCache
SecurityWAF、KMS、MFA
CostReserved + Spot の混合
OperationalIaC、CI/CD
SustainabilityGraviton

9. Well-Architected Tool の使い方

9.1 無料セルフアセスメント

AWS コンソールから:

  1. ワークロードを定義 (名前、環境、リージョン)。
  2. 6つの柱について約50問に回答。
  3. 改善領域を特定。
  4. 優先度を決定。
  5. 改善後に再評価。

9.2 Lens

Lens は特定のワークロードや技術向けの追加ガイド。

Lens対象
Serverless LensLambda、API Gateway ベース
SaaS Lensマルチテナント SaaS
Machine Learning LensML ワークロード
Foundational Technical ReviewAWS パートナー
IoT LensIoT システム
Streaming Media Lensメディア

9.3 Well-Architected Review

AWS Solutions Architect との共同レビュー (無料またはパートナー経由):

  1. アーキテクチャレビュー。
  2. 6つの柱の評価。
  3. 優先度付き推奨。
  4. 改善ロードマップ。

10. アンチパターンカタログ

10.1 運用

10.2 セキュリティ

10.3 信頼性

10.4 パフォーマンス

10.5 コスト


クイズ

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 が必要。


参考資料

コメント

まだコメントはありません。

ログインするとコメントできます