導入
AWSでシステムを作るとき、「とりあえず動けばいい」で作ると後で痛い目を見ます。AWSは「良い設計とは何か」を整理した指針を公式に用意しています。
説明
AWS Well-Architected Frameworkは、クラウド上でシステムを設計・運用するときのベストプラクティス集で、次の6つの柱(Pillars)から構成されます。
- 運用上の優秀性 … システムを実行・監視し、日々のプロセスや手順を継続的に改善する。
- セキュリティ … 情報とシステムを守り、リスクを評価してその対応策を講じる。
- 信頼性 … 障害から復旧し、需要を満たすリソースを動的に確保できるようにする。
- パフォーマンス効率 … コンピューティングリソースを効率よく使い、需要の変化やサービス進化に対応する。
- コスト最適化 … 不要な支出を避け、最も低いコストでビジネス価値を実現する。
- 持続可能性 … 環境への影響を抑え、エネルギー効率の良い運用を目指す(比較的新しく追加された柱)。
具体例
6つの柱は「設計レビューのチェックリスト」として使うと実感がわきます。あるチームが新しいECサイトの構成を、6つの柱で1つずつ点検しました。
| 柱 | 出た指摘の例 |
|---|---|
| 運用上の優秀性 | 障害にすぐ気づけるよう、エラー率の監視アラートを入れよう |
| セキュリティ | DBのパスワードがコードに直書き。Secrets Managerに移そう |
| 信頼性 | サーバーが1AZだけ。マルチAZにして落ちないようにしよう |
| パフォーマンス効率 | 画像が重い。CloudFrontでキャッシュして表示を速くしよう |
| コスト最適化 | 夜間は誰も使わない検証サーバーを自動停止してムダを削ろう |
| 持続可能性 | 過剰なインスタンスサイズを見直し、消費電力を抑えよう |
「とりあえず動く」構成でも、6つの観点で見ると必ず改善点が出てきます。柱の名前を暗記するより、この点検の視点として身につけるのが本質です。
読んでみよう
6つの柱は、AWSに限らずシステム設計全般に通じる普遍的な観点です。名前を丸暗記するより「運用・セキュリティ・信頼性・性能・コスト・環境」という6つの評価軸があると理解しておけば十分です。