Well-Architected Frameworkについて

Well-Architected Framework

AZの選択

1つのリージョンにつき2つのAZを利用してアーキテクチャーを設計することが基本(3つ以上はコスト効率が下がる)

VPC

2つ以上のVPCアーキテクチャを設計するのが基本となる

◾️1つのVPC ・可用性が低下するため、アイデンティティ管理やハイパフォーマンスコンピューティングなどその用途は限られる ・1人などの小規模で利用する場合は2つ以上VPCを利用するのが面倒なケースもある

◾️2つ以上のVPC ・2つ以上のVPCで可用性を確保するのが適切なAWSアーキテクチャ設計となる

5つの設計原則

Reliability:信頼性

障害による中断、停止と障害復旧による影響を軽減するinfrastructureを構成する

【設計事項】 ・インフラストラクチャサービスの障害復旧の自動化など軽減設計 ・復旧手順のテストによる検証 ・需要変化に応じた水平方向へのスケーラビリティに高可用性の確保 ・キャパシティの推測をやめる ・モニタリングと自動化を進める

信頼性の主要サービス

◾️基盤 ・IAM、VPC、AutoScaling、ELB、CloudFormation

◾️変更管理 ・CloudTrail、AWSConfig

◾️障害管理 ・CloudWatch

Performance Efficiency:パフォーマンス効率

システム要件のリソース最適化によるインフラの効率化

【設計事項】 ・システム要件を満たすためのコンピューティングリソースを効率化する ・システム要件やAWSサービスの進化に応じてAWSインフラの効率化を推進する  先端技術の一般化  グローバル化を即座に達成  サーバレスアーキテクチャの利用  より頻繁な実験

パフォーマンス効率の主要サービス

◾️コンピューティング ・AutoScaling、Lambda

◾️ストレージ ・EBS、S3、Glacier、EFS

◾️データベース ・RDS、DynamoDB、Elastic serach、Aurora、Redshift

◾️容量と時間のトレードオフ ・CloudFront、ElasticCache

Security:セキュリティ

AWS内のデータ / システム / アセットの保護とモニタリングによりセキュリティを高める

【設計事項】 ・全てのレイヤーでのセキュリティを適用 ・アクセス追跡、モニタリングを確実な実施 ・条件ドリブンのアラートをトリガーとしてセキュリティイベントへの応答を自動化 ・AWS責任共有モデルに基づく対象範囲の保護に集中する ・セキュリティのベストプラクティスの自動化  ソフトウェアベースのセキュリティ設定を使用し、迅速でコスト効率のいいスケーリングを安全に実行する  仮想サーバーのカスタムベースラインイメージによる新サーバーへの適用自動化  インフラストラクチャ全体のテンプレ化による管理

セキュリティの主要サービス

◾️データ保護 ・ELB、EBS、S3、RDS、KMS

◾️権限管理 ・IAM、MFA

◾️インフラ保護 ・VPC

◾️検出制御 ・CloudTrail、CloudWatch、AWSGuardDuty、AmazonInspector

Cost Optimization:コスト最適化

不必要なリソースの削減や最適な料金選択によりコストを削減

【設計事項】 ・不必要なリソース削減 ・透明性のある費用ぶか ・マネージド型サービスの利用によるコスト削減 ・固定の償却コストを変動コストへと転換 ・スケールによるコストメリット ・データセンターへの投資不要化

コスト最適化の主要サービス

◾️需要と供給の一致 ・AutoScaling

◾️コスト効率の高いリソース ・EC2購入方式、Trusted Advisor

◾️支出の認識 ・Cloud Watch、見積もりツール

◾️継続した最適化 ・AWS最新情報、TrustedAdvisor

Operational Excellence:運用上の優秀性

運用上の優秀性とは計画変更が起こった場合や予期せぬイベントの発生時において、自動化された運用実務および文書化されテストされレビューされた手順があること

【設計事項】 ・コードに基づく運用実施 ・ビジネス目的に沿った運用手順 ・定期的かつ小規模で増加的な変更実施 ・予期せぬイベントへの応答テスト ・運用イベントと障害からの学習 ・運用手順を最新のものに保持すること

## 運用上の優秀性の主要サービス ◾️準備 ・CloudFormation、Codeシリーズ、RunbookPlaybook

◾️運用 ・SystemManager、ServiceCatalog、CloudTrail、AWSArtifact、AWSGuardDuty、CloudWatch、AWSConfig、APIGateway

◾️進化 ・継続的かつ段階的な改善のために時間とリソースを割り当て、運用の有効性と効率性を向上させる

AWSベストプラクティス

AWSのベストプラクティスとして11の原則を定義している

◾️スケーラビリティの確保 ◾️環境の自動化 ◾️使い捨てリソースの使用 ◾️コンポーネント疎結合 ◾️サーバーではなくサービス ◾️最適なデータベース選択 ◾️増大するデータ量対応 ◾️単一障害点の排除 ◾️コスト最適化 ◾️キャッシュの利用 ◾️セキュリティの確保

①スケーラビリティの確保 需要の変化に対応できるアーキテクチャを設計する ・EC2 Auto Recovery、EC2 Auto Scaling、Cloud Watch、RDS、DynamoDB

②環境の自動化 システムの安定性、整合性及び組織の効率性を改善するため主要プロセスを自動化する ・CloudFormation、Codeシリーズ、ECS、ElasticBeanstalk、OpsWorks、CloudWatch

③使い捨てリソースの使用 サーバーなどのコンポーネントを一時的なリソースとして利用、設計する ・EC2、AutoScaling

コンポーネント疎結合 コンポーネント間の相互依存を減らした構成とすることで、1つのコンポーネント変更や障害の影響を削減する ・ELB、SNS、SQS

⑤サーバーではなくサービス(サーバレス) マネージド型サービスとサーバーレスアーキテクチャにより効率的な設計と運用を実現 ・Lambda、SNS、SQS、ELB、SES、DynamoDB、AmazonAPIGateway、AmazonCognito

⑥最適なデータベース選択 ワークロードに応じた最適なデータベース技術を利用する ・RedShift、RDS、DynamoDB、Aurora、ElasticSearch

⑦増大するデータ量対応 Iot / ビックデータなどで絶えず増加するデータの保持を効率的に実施する ・S3、Kinesis、Glacier

⑧単一障害点の排除 AWSのサービスの多くは高可用性が保証されているものが多いものの、以下の主要サービスはELBなどによる高可用性設計が必要 ・アーキテクチャで高可用性を実現すべきサービス  EC2、DirectConnect、RDS

・利用する主要サービス  ELB

⑨コスト最適化 リソースが最適なサイズから必要に応じたスケールアウト、スケールインの実施と最適な料金プランの選択 ◾️需要と供給の一致 ・AutoScaling

◾️コスト効率の高いリソース ・EC2購入方式、Trusted Advisor

◾️支出の認識 ・Cloud Watch、見積もりツール

◾️継続した最適化 ・AWS最新情報、TrustedAdvisor

⑩キャッシュの利用 繰り返し取り出すデータやコンテンツについてはキャッシュを利用する構成とする ・CloudFront、EastiCache

⑪セキュリティの確保 全てのレイヤー、境界、リソース内 / 外においてセキュリティを実装する ◾️データ保護 ・ELB、EBS、S3、RDS、KMS

◾️権限管理 ・IAM、MFA

◾️インフラ保護 ・VPC

◾️検出制御 ・CloudTrail、CloudWatch、AWSGuardDuty、AmazonInspector