Table of Contents
はじめに
FundastA Inc.の鈴木です。
現在、AWS ソリューションアーキテクトアソシエイト試験合格に向けAWSについて勉強中です。
今回は「 Well Architected Framework」 について勉強したことを備忘録として、記述していきます。
Well Architected Framework
AWS を利用するにあたり参考にするもの。
ただし、絶対ではない。
AWS を利用したシステム要件を検討する材料としてホワイトペーパーを確認し最適な要件検討を利用する。
Well-Architectedの5つの柱
優れた運用効率
- 
変更の自動化、イベントへの対応、日常業務を管理するための標準化
 
セキュリティ
- 
データの機密性と整合性、権限管理における権限の特定と管理、システムの保護、セキュリティイベントを検出する制御の確立
 
信頼性
- 
ワークロードが意図された機能を期待通りに正しく一貫して実行することを保証することに重点を置いている。
 - 
回復力のあるワークロードは、障害から迅速に回復して、ビジネスおよびお客様の要求に応える。
 - 
分散システムの設計、復旧計画、変更の処理方法が含まれる。
 
パフォーマンス効率
- 
ITおよびコンピューティングリソースの効率的な使用に焦点を当てる。
 - 
ワークロードの要件に応じた適切なリソースタイプやサイズの選択、パフォーマンスのモニタリング、ビジネス要件の増大に応じて効率を維持するための情報に基づいた意思決定が含まれる。
 
コストの最適化
- 
不要なコストの回避
 - 
費用が発生する箇所の把握と管理、最適で正しい数のリソースタイプの選択、時間経過に伴う支出の分析、過剰な出費を抑えながらニーズに対応したスケーリングが含まれる。
 
アーキテクチャの設計
11のベストプラクティス
- 
スケーラビリティの確保
- 
需要の変化に対応できるアーキテクチャを設計する。
 - 
主要サービス
- 
EC2 AutoScaling
 - 
CloudWatch
 - 
RDS
 - 
DynamoDB
 
 - 
 
 - 
 - 
環境の自動化
- 
システムの安定性・整合性及び組織の効率性を改善するため主 要プロセスを自動化する
 - 
主要サービス
- 
- 
CloudFormation
 - 
Codeシリーズ
 - 
ECS
 - 
ElasticBeanstalk
 - 
OpsWorks
 - 
CloudWatch
 
 - 
 
 - 
 
 - 
 - 
使い捨てリソースの使用
- 
サーバーなどのコンポーネントを一時的なリソースとして利用・設計する。
 - 
主要サービス
- 
EC2
 - 
AutoScaling
 
 - 
 
 - 
 - 
コンポーネントの疎結合化
- 
コンポーネント間の相互依存を減らした構成にし、1つのコンポーネント変更や障害の影響の削減
 - 
主要サービス
- 
ELB
 - 
SNS
 - 
SQS
 
 - 
 
 - 
 - 
サーバーレス
- 
マネージド型サービスとサーバーレスアーキテクチャにより効率的な設計と運用を実現
 - 
主要サービス
- 
Lambda
 - 
SNS
 - 
SQS
 - 
ELB
 - 
SES
 - 
DynamoDB
 - 
APIGateway
 - 
Cognito
 
 - 
 
 - 
 - 
最適なDB選択
- 
ワークロードに適した最適なDB技術の利用
 - 
主要サービス
- 
RedShift
 - 
RDS
 - 
DynamoDB
 - 
Aurora
 - 
ElasticSearch
 
 - 
 
 - 
 - 
増大するデータ量対応
- 
IoT/ビッグデータなどで絶えず増加するデータの保持を効率 的に実施する。
 - 
主要サービス
- 
S3
 - 
Kinesis
 - 
Glacier
 
 - 
 
 - 
 - 
単一障害点の排除
- 
主要サービスの高可用性の確保
 - 
主要サービス
- 
ELB
- 
EC2、DirectConnectに使用し高可用性を実現
 
 - 
 
 - 
 
 - 
 - 
コスト最適化
- 
リソースが適切なサイズから必要に応じたスケールアウト・ス ケールインの実施と最適な料金プランの選択
 - 
主要サービス
- 
需要と供給の一致
- 
AutoScaling
 
 - 
 - 
コスト効率の高いリソース
- 
EC2購入方式
 - 
TrustedAdvisor
 
 - 
 - 
支出の認識
- 
CloudWatch
 - 
SNS
 
 - 
 - 
継続した最適化
- 
AWS最新情報
 - 
TrustedAdvisor
 
 - 
 
 - 
 
 - 
 - 
キャッシュの利用
- 
繰り返し取り出すデータやコンテンツについてはキャッシュを 利用する
 - 
主要サービス
- 
CloudFront
 - 
ElastiCache
 
 - 
 
 - 
 - 
セキュリティの確保
- 
全てのレイヤー・境界・リソース内/外においてセキュリティ を実装する
 - 
主要サービス
- 
データ保護
- 
ELB
 - 
EBS
 - 
S3
 - 
RDS
 - 
KMS
 
 - 
 - 
権限管理
- 
IAM
 - 
MFA
 
 - 
 - 
インフラ保護
- 
VPC
 
 - 
 - 
検出制御
- 
CloudTrail
 - 
AWS Config
 - 
CloudWatch
 
 - 
 
 - 
 
 - 
 
アーキテクチャ設計の例
EC2をプライベートサブネットに設置
- パブリックよりもセキュリティが高くなる。
 
RDSマルチAZ
- RDS2つ用意し、片方に自動フェイルオーバーさせることで、バックアップを取ることができる。
 
NATゲートウェイ
- 各パブリックサブネットにNATゲートウェイを設置し、各EC2と接続しておくことで、片方のAZが落ちても対処することができる。
 
VPN接続
- 自社データセンターとAWSをつなぐ際にVPN接続1つだけではそのVPN接続が障害を起こした時に問題がデータのやり取りができなくなる。そのため、VPN接続を2つ用意し、1つに障害が起きても大丈夫なようにしておく。
 
設計例まとめ
設計の考え方としてオンプレとAWSの接続箇所が1つだけやアクセスされたくないサーバーがあった場合に障害や不正アクセスが起きた際にあきらかにネックになってしまう箇所があるのはアーキテクチャ設計として穴がある状態です。
そのためセキュリティを強固なものにしたり、障害があってもすぐ復旧できる状態にしておくこと。
アーキテクチャまとめ
AWS Well-Architected フレームワークの目的は、効率が良く、費用対効果が⾼く、安全で信頼のおけるクラウド対応システムを設計して運⽤するための 5 本柱のアーキテクチャに関するベストプラクティスを提供することです。このフレームワークには、既存のアーキテクチャまたは提案されているアーキテクチャをレビューするための質問が用意されています。それぞれの柱に関する AWS のベストプラクティスもあります。このフレームワークをアーキテクチャに適用し、安定した効率のよいシステムを構築することにより、機能面の要件に注力できます。
おわりに
今回は「Well Architected Framework」について書きました。
文字ばかりになっていますが、アーキテクチャを考えていく際には重要な考え方になります。
またSAA試験でも高可用性やコスト最適化などは問われてくる点なので、頭の隅に置いてもらえれば、良いと思います。
ご覧いただきありがとうございます。
                