Well-Architected フレームワーク
AWSアーキテクチャ設計の基礎
AZの選択
- 1つのリージョンにつき2つのAZを利用(3つ以上はコスト効率が低下するのであまりしない)
- マルチAZでサーバーやDBを冗長的に構成することで高い可用性を実現
VPC
- 1つのVPCでアーキテクチャを構築するのが基本
- 1VPC、1システム・アプリケーション
- ネットワークの設定などが面倒なので、基本1VPCで行うのが良い
- 2つ以上使う場合:
- システムを分けることが必要な場合
- テスト用、本番用で環境を分ける必要がある場合
- サブネットの分割:
- 基本的にプライベートサブネットで構築
- インターネットとのやりとりが必要なものだけパブリックサブネットにする
- 大きさは/24以上の大きいサブネットを使うことを推奨
- 1つのAZに1つのパブリックサブネットと1つのプライベートサブネットを配置するのが基本
- プライベートサブネットにより多くIPアドレスを割り当てる方がいい
- ほとんどのリソースをプライベートサブネットに配置することになるため
マルチリージョンの活用
- 別リージョンにリードレプリカを配置するなど
- データアクセスを分散する
- 災害対策
Well-Architected Framework
あくまでもベストプラクティス、絶対ではない
6つの設計原則
- Reliability 信頼性
- Performanve Efficiency パフォーマンス効率
- Security セキュリティ
- Cost Optimization コスト最適化
- Operational Execellence 運用上の優秀性
- Sustainability 持続可能性
出題範囲(C03版)
設計原則のうち4つが出題範囲
- セキュアなアーキテクチャの設計 30%
- 弾力性(スケーラブル・高可用性 = 信頼性)に優れたアーキテクチャの設計 26%
- 高パフォーマンスなアーキテクチャの設計 24%
- コストを最適化したアーキテクチャの設計 20%
Well-Architected Frameworkの構成内容
- Well-Architected Framework ホワイトペーパー
- AWSのSAまたは認定パートナーによる支援制度
- セルフチェック向けのWell-Architected Tool
信頼性
障害による中断・停止と障害復旧による影響を軽減するインフラストラクチャを構成する
設計事項
- インフラストラクチャサービスの障害復旧の自動化など軽減設計
- 復旧手順のテストによる検証
- 復旧手順のプロセスがちゃんと動作するかをチェックする
- 需要変化に応じた水平方向へのスケーラビリティによる高可用性の確保
- AutoScalingなど
- キャパシティの推測をやめる
- 自動的にスケーリング
- モニタリングと自動化を進める
- CloudWatchでシステムのパフォーマンスをモニタリング・パフォーマンスに応じてスケーリング
対応領域
- 基盤
- IAM, VPC, AutoScaling, ELB, CloudFromation
- 冗長性のある基盤を作成する
- 変更管理
- CloudTrail, AWS Config
- 変更履歴などを追跡する
- 障害管理
- CloudWatch
高パフォーマンス
システム要件のリソース最適化によるインフラの効率化
設計事項
- システム要件を満たすためのコンピューティングリソースを効率化する
- ユースケースに応じて最適なもの(ストレージ、インスタンスタイプ)を選択する
- システム要件やAWSのサービスの進化に応じてAWSインフラの効率化を推進する
- 先端技術の一般化(AIなど)
- グローバル化を即座に達成
- サーバーレスアーキテクチャの利用
- より頻繁な実験
対応領域
- コンピューティング
- AutoScaling, Lambda
- ストレージ
- EBS, S3, Glacier, EFS
- データベース
- RDS, DynamoDB, Elastic search, Aurora, Redshift
- 容量と時間のトレードオフ
- CloudFront, ElastiCache
- キャッシュを使って最適化
セキュリティ
AWS内のデータ/システム/アセットの保護とモニタリングによりセキュリティを高める
設計事項
- すべてのレイヤーにおいてセキュリティを適用
- データレイヤー、アプリケーションレイヤーなど
- アクセス追跡・モニタリングの確実な実施
- 条件ドリブンのアラートをトリガーにしてセキュリティイベントへの応答を自動化
- CloudWatchで条件を設定、通知を自動化
- AWS責任共有モデルに基づく対象範囲の保護に集中する
- セキュリティのベストプラクティスの自動化
- ソフトウェアベースのセキュリティ設定を使用し、迅速でコスト効率の良いスケーリングを安全に実施する
- 仮想サーバーのカスタムベースラインイメージによる新サーバーへの適用自動化
- インフラストラクチャ全体のテンプレ化(CloudFormation)による管理
対応領域
- データ保護
- ELB, EBS, S3, RDS, KMS
- トラフィックを安全にする、KMSでデータの暗号化
- 権限管理
- IAM, MFA
- ユーザー管理の徹底
- インフラ保護
- VPC
- ネットワークセキュリティの担保
- 検出制御
- CloudTrail, CloudWatch, AWS GuardDuty, Amazon Inspector
- セキュリティインシデントを常にモニタリング
コスト最適化
不必要なリソースの削減や最適な料金選択によりコストを削減
設計事項
- 不必要なリソース削減
- 不要なEC2インスタンスなどを検知、自動で削除
- 透明性のある費用賦課
- コスト分析ツールの利用
- マネージド型サービスの利用によるコスト削減
- 運用コストの削減
- 固定の償却コストを変動コストへ転換
- クラウド全般の特徴
- スケールによるコストメリット
- AWS Organization
- データセンターへの投資不要化
対応領域
- 需要と供給の一致
- AutoScaling
- 需要に応じたスケーリング
- コスト効率の高いリソース
- EC2の購入方式, Trusted Advisor
- リザーブドインスタンス、スポットインスタンスの利用
- 支出の認識
- CloudWatch, 見積もりツール
- 請求アラートの設定、支出の事前見積もり
- 継続した最適化
- AWS最新情報, Trusted Advisor
- 情報のキャッチアップ