AWS Well-Architectedフレームワークについてまとめる。
AWS Well-Architectedフレームワークの目的
AWSでシステムを構築する際の選択肢の長所と短所を理解すること。
以下の5つを基本とする。
運用性、セキュリティ、信頼性、パフォーマンス効率、コスト最適化
■運用性
サポートのプロセスと手順を継続的に向上させるためにシステムを稼働、モニタリングすることであり、次のことが重要である。
・運用をコードで実装し、人為的なミスを減らす。
・注釈をつけたドキュメントの作成を自動化する。
・コンポーネントを更新する時は、小規模で元に戻すことができるようにする。
・運用手順を定期的に改善する。
・障害を予測する。
・障害から学ぶ。
対応するAWSサービス:AWS CloudFromation、Amazon CloudWatch、Amazon ES
■セキュリティ
リスク評価とリスク軽減に関する情報、システム、アセット、のセキュリティ保護機能であり、次のことが重要である。
・権限の管理を一元化すること。
・使用中の環境をリアルタイムで監視、アラート、監査を行える。
・すべてのレイヤーにセキュリティを適用する。
・自動化されたソフトウェアベースのセキュリティメカニズムがある。
・伝送中、保護中のデータを保護する。
・データに人の手を加える余地を減らす、またはなくす。
・インシデントに備える。
対応するAWSサービス:Amazon IAM、AWS Organizations、AWS CloudTrail、Amazon VPC、Amazon EBS
■信頼性
インフラストラクチャやサービスの中断からコンピューティングリソースを動的に獲得して復旧し、誤設定や一時的なネットワークの問題といった中断の影響を緩和することであり、次のことが重要である。
・復旧手順をテストする。
・障害に対処する、または障害を修正するための復旧プロセスを自動化する。
・大規模なリソースを複数の小規模なリソースに置き換えることで、単一の障害がシステム全体に与える影響を軽減する。
・需要とシステム使用率をモニタリングしてリソースの追加や削除を自動化し、需要を満たすために最適なレベルを維持する。
・オートメーションで変更を管理する。
対応するAWSサービス:Amazon CloudWatch、Amazon Auto Scaling、Amazon KMS
■パフォーマンス効率
コンピューティングリソースを効率的に使用し、要求の変化とテクノロジーの進化に対してもその効率性を維持することであり、次のことが重要である。
・最新テクノロジーを単にサービスとして利用できる。
・最低限のコストで世界中の複数のリージョンにシステムをデプロイできる。
・サーバーレスアーキテクチャのため、サーバーの運用や管理を行う必要がない。
・仮想的に自動化できるリソースを使用することで、頻繁かつ簡単にに比較テストを実施できる。
・要求に最も適した技術アプローチを行う。
対応するAWSサービス:Amazon CloudWatch、Amazon Auto Scaling、Amazon EBS、AmazonRDS
■コスト最適化
最低価格でシステムを運用することであり、次のことが重要である。
・必要なコンピューティングリソースの費用のみを支払い、要件に応じて使用量を増減できる。
・ワークロードの成果とその実現にかかったコストを測定する。
・サーバーの設置、積み上げ、電力供給などの作業が不要である。
・システムの使用状況とコストを正確に特定できる。
・アプリケーションレベルでのマネージドサービスにより、サービスごとのコストを削減できる。
対応するAWSサービス:AWS Cost Explorer、AWS Budgets、Amazon CloudWatch、Amazon Auto Scaling