AWS(4)Well-Architectedフレームワーク

フレームの柱

運用上の優秀性

設計の原則

  • 運用のコード化を行う
  • ドキュメントに注釈を付ける
  • 頻繁に小さく可逆的な変更を行う
    • システムを小さく設計
    • 失敗した場合に戻せるように
  • 運用手順を頻繁に見直す
  • 発生しうる障害を予想する
  • 運用の失敗を改善に役立てる

ベストプラクティス

  • 準備(本番環境への移行)
    • チェックリストによる検証
    • イベントと障害に対するテスト
    • CloudFormationの利用
    • CloudWatch等を利用した解析
  1. 運用の優先順位を決定する要因は明確か
  2. 運用性を向上させるワークロード設計をしているか
  3. ワークロードが運用可能であるか確認しているか
  • 運用
    • 期待されている成果、およびその測定方法を決定し、システムと運用に関するメトリクスを特定する。システムとそのシステムに対する運用の正常性の双方を考慮する。イベント対応の優先度を定めて、影響の度合いに応じて追加の担当者を巻き込むエスカレーショントリガーも含める。計画外のイベントが発生した原因と影響範囲を確認し、今後の運用に反映させるとともに、計画外のイベントであっても自動的に処理されるようにシステムの設計を行う。デプロイやリリース管理、変更ロールバックなどはマニュアルで行なってはならない。
  1. 運用状態をどのように確認しているか
  2. 運用上のイベントをどのように管理しているか
  • 進化
    システムを継続的に少しずつ改善していくことが必要。システムと運用の両方に関して改善できる部分を洗い出し、優先順位を付ける。また、チームを超えて、運用から学んだ知見を共有する。
  1. 運用をどのように進化させているか

AWSのサービス

AWS CloudFormationを用いてシステム構築を行う。またそれぞれのフェーズで以下のサービスを活用する。

フェーズ AWSサービス 目的
準備 AWS Config システム標準を作成しそれに準拠しているか確認する
運用 Amazon CloudWatch システムの運用状態をモニタリング
進化 Amazon Elasticsearch Service ログデータを分析

セキュリティ

設計の原則

  • 強固な認証基盤を整備する
  • 追跡可能性を実現する
  • 全てのレイヤーにセキュリティを適用する
  • セキュリティのベストプラクティスを自動化する
  • 転送中および保管中のデータを保護する
  • データへの直接的なアクセスや手動処理を減らす
  • セキュリティイベントに対して準備を行う

ベストプラクティス

  • アイデンティティとアクセス管理
    +

信頼性

パフォーマンス効率

コスト最適化

設計の原則

  • 必要なキャパシティを勘に頼らない
  • 本番規模でシステムをテスト
  • 自動化
  • 発展的なアーキテクチャを受け入れる
    • クラウドは自動化とテストが容易で設計変更のリスクを低減できる
    • システムを継続して進化させる
  • データ計測に基づいてアーキテクチャを決定する
  • 本番で想定されるトラブルをあらかじめテストする