AWS「AWS Well architectedフレームワーク」と呼ばれる、様々な分野の企業がAWSシステムを構築したときのベストプラクティスをまとめた、ガイドラインを公開しています。
今回はそんなAWS Well architectedフレームワークについて解説します。
AWS Well architectedフレームワークとは?
AWS Well architectedフレームワークは、AWSを導入した企業のベストプラクティスや、企業のAWSシステムのベストプラクティスへの準拠度を評価するための、質問集をまとめたものです。
このフレームワークの目的は、AWSシステムを構築するときの、あらゆる選択肢のメリットとデメリットをユーザーが理解できるように支援することです。
AWS Well architectedフレームワークを参照することで、ユーザーはより効率が良く、コストパフォーマンスの高い、安全で信頼できるシステムを構築して運用することができます。
参考:AWS「AWS Well architectedフレームワーク」
AWS Well architectedフレームワークの5本の柱
AWS Well architectedフレームワークは、運用上の優秀性、セキュリティ、信頼性、パフォーマンス効率、コスト最適化という5本の柱で構成されています。
この5本の柱はそれぞれ、システムを作成するときの非常に重要な基礎です。これらの基礎が疎かになっていると、意図した要件に合うシステムを構築するのが難しくなります。
以下でそれぞれの概要と、その設計原則について詳しく解説します。
運用上の優秀性
運用上の優秀性の柱は、開発をサポートし、コンピュータやシステムの作業負荷を効率化し、運用に関する洞察を得て、ビジネス価値をもたらすためのサポートプロセスと手順を継続的に改善する能力が含まれます。
運用をコードとして実行する
運用手順をコードとして実行することで、イベントに対してそのコードをトリガーにして自動的に実行できます。運用をコード化することは、人為的なミスを抑制し、イベントに一貫した対応を行うことにつながります。
小規模かつ可逆的な変更を頻繁に行う
コンポーネントを定期的に更新できるように設計し、変更は失敗した場合にも元に戻せるように小規模に行います。そうすることで顧客への影響を少なくできます。
障害を予想する
障害の原因を除去または軽減できるように、原因を特定する演習を実施します。
障害のシナリオをテストし、その影響を検証します。さらに対応手順をテストし、その手順が効果的で、チームが手順を十分に理解していることを確認します。
運用上の全ての障害から学ぶ
運用上の全ての障害から教訓を学び、改善を促します。教訓はチームおよび組織全体で共有します。
セキュリティ
セキュリティの柱には、データやシステムを保護し、クラウドの技術を活用してセキュリティ機能を向上させる能力が含まれます。
クラウドでのセキュリティの設計原則は7つあります。
強力なアイデンティティ基盤の実装
最小権限の原則を実装して、役割分担を徹底します。これによって、アイデンティティ管理を一元化し、長期にわたって静的な認証情報に依存することを防ぎます。
トレーサビリティの実現
使用環境に対して、リアルタイムでの監視、アラート、監査のアクションと変更を行うことができます。
全レイヤーでセキュリティを適用する
複数のセキュリティコントロールを使用して、深層防御アプローチを適用します。このアプローチはあらゆるレイヤーに適用されます。
セキュリティのベストプラクティスを自動化する
自動化されたソフトウェアベースのセキュリティメカニズムによって、スケール機能を改善します。そうすることで、より安全でより速く、よりコストパフォーマンスの高いスケールが可能になります。
伝送中および保管中のデータ保護
データを機密性レベルに分類し、暗号化、トークン分割、アクセスコントロールといったメカニズムを使用します。
データに人の手を入れない
データに直接アクセスして手動で処理する必要性を減らすメカニズムを使用します。そうすることで、機密性の高いデータを扱うときの誤処理、変更、人為的ミスといったリスクを低減します。
セキュリティイベントに備える
組織の要件に合わせたインシデント管理、調査のポリシーとプロセスを導入します。インシデント対応シミュレーションを実行し、自動化されたツールによって、検出、調査、復旧のスピードを上げます。
信頼性
信頼性の柱には、期待されるタイミングで、意図した機能を正確に一貫して実行する能力が含まれます。またそのことで、ワークロードを運用してテストする機能も働きます。
クラウドでの信頼性の設計原則は5つあります。
障害から自動的に復旧する
ビジネス価値の指標としてのKPIをモニタリングすることで、自動的に障害を通知して追跡します。そのことで障害を回避または修正する復旧プロセスを自動化できます。
復旧手順をテストする
クラウドでは、どのようにシステム障害が発生するかをテストでき、復旧の手順も検証できます。実際の障害が発生する前にテストおよび修正できる障害経路が公開されるため、リスク軽減につながります。
水平方向にスケールしてワークロード全体の可用性を高める
単一の大規模なリソースを小規模なリソースに置き換えることで、単一の障害がワークロード全体に与える影響を軽減します。
キャパシティを予測することをやめる
クラウドでは、需要とワークロード使用率をモニタリングし、リソースの追加と削除を自動化することで、最適なレベルでプロビジョニングを維持できます。
オートメーションで変更を管理する
インフラに対する変更を、オートメーションを使用して実行します。自動化に対する変更を追跡して確認できます。
パフォーマンス効率
パフォーマンス効率の柱には、システムの要件を満たすためにコンピューティングリソースを効率的に使用し、要求の変化や技術の進歩といった変更が起きても、その効率性を維持する能力が含まれます。
クラウドでのパフォーマンス効率の設計原則は5つあります。
最新テクノロジーの標準化
複雑なタスクをクラウドベンダーに委託することで、チームがより簡単に高度なテクノロジーを実装できるようにします。チームはリソースの管理ではなく、製品の開発に集中することができます。
わずか数分でグローバル展開する
世界各地にある複数のAWSリージョンでのワークロードを利用可能にすることで、ユーザーは最小限のコストで、より低いレイテンシーとより良いエクスペリエンスを提供できます。
サーバーレスアーキテクチャを使用する
サーバーレスアーキテクチャは、従来のように物理的なサーバーを実行して維持する必要性をなくします。ユーザーは物理サーバーを管理する運用上の負担を捨てられます。
より頻繁に実験する
仮想的で自動化できるリソースを使うことで、異なるタイプのインスタンス、ストレージ、設定を使用した比較テストを簡単に実施できます。
システムに対する精通の程度を考慮する
クラウドサービスの使用方法を理解し、ワークロードの目標に最適なテクノロジーアプローチを使用します。
コスト最適化
コスト最適化の柱には、最も低い価格でシステムを運用してビジネス価値を高める能力が含まれます。
クラウドでのコスト最適化の設計原則は5つあります。
クラウド財務管理の実装
ビジネス価値を高めるには、クラウドでの財務管理に投資することが重要です。組織は、テクノロジーと使用状態の管理という能力を獲得するために、時間とリソースを投入する必要があります。
消費モデルを導入
コンピューティングリソースの費用を必要な範囲でのみ支払い、複雑な予測をすることなく、ビジネス要件に応じて使用料を増減できます。
全体的な効率を測定する
ワークロードのビジネス成果とその実現にかかったコストを測定します。この測定値を活用して、生産性を向上し、コスト削減によって得られるメリットを把握します。
差別化につながらない高負荷の作業に費用をかけるのをやめる
AWSは、サーバーのラック運用、積み上げ、電力供給などの、データセンター運用のための高負荷の作業を行います。ユーザーは、インフラよりも、顧客やビジネスプロジェクトに集中できます。
費用を分析および属性化する
クラウドでは、システムの使用状況とコストを正確に特定して、それぞれのコストと各ワークロード所有者との帰属関係を透明にできます。ワークロード所有者は、リソースを最適化してコストを削減する機会を得られます。
まとめ
AWS Well architectedフレームワークの概要と、その中身である5本の柱について詳しく紹介してきました。
このフレームワークは、AWSを用いたシステムの開発から運用までの、あらゆる作業とその評価をするときに大変参考になるものです。
自社のシステムにとってより良い選択肢を実行し、最適な状態で運用できるように、ぜひ活用してみてはいかがでしょうか。