Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Well-Architectedを再度学習して内容をまとめてみる②/well-architec...

Toru_Kubota
December 08, 2022

 Well-Architectedを再度学習して内容をまとめてみる②/well-architected2

Toru_Kubota

December 08, 2022
Tweet

More Decks by Toru_Kubota

Other Decks in Technology

Transcript

  1. Well-Architectedの6つの柱 運⽤上の優秀性の柱 ⼀般的な原則 セキュリティの柱 信頼性の柱 パフォーマンス効率の柱 コスト最適化の柱 持続可能性の柱 本⽇の内容 Well-Architectedを再度学習して内容をまとめてみる②

    JAWS-UG朝会#40 前回の内容 Well-Architectedを再度学習して内容をまとめてみる JAWS-UG朝会#38 資料のみ Well-Architectedを再度学習して内容をまとめてみる② JAWS-UG朝会#40
  2. サービスクォータ管理 AWS Cloud ワークロード アーキテクチャ 変更管理 基盤 障害の管理 AWS Cloud

    Region Region AWS Trusted Advisor Amazon CloudWatch Amazon RDS Amazon RDS クォータの認識 アカウント リージョンをまたいだ 管理 モニタリング ⾃動化 フェール オーバーを考慮 変更できないも のを認識
  3. On Premise ネットワークトポロジ計画 ワークロード アーキテクチャ 変更管理 基盤 障害の管理 AWS Cloud

    On Premise AWS Transit Gateway users VPC AWS WAF Amazon CloudFront VPC Amazon Route 53 AWS Direct Connect AWS Site-to-Site VPN Public subnet Instances Public subnet Instances ネットワーク 拡張性 ネットワーク ⾼可⽤性 ハブアンド スポーク オンプレミスとの 冗⻑接続 重複しない IPアドレス範囲
  4. サービスアーキテクチャ設計 変更の管理 基盤 ワークロード アーキテクチャ 障害の管理 サービス指向 アーキテクチャ マイクロサービス アーキテクチャ

    モノリシック アーキテクチャ https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/reliability- pillar/rel_service_architecture_monolith_soa_microservice.html
  5. 分散システム設計 変更の管理 基盤 ワークロード アーキテクチャ 障害の管理 障害を防ぐための分散システム設計 必要な分散システムの種類を特定 疎結合の依存関係を実装 継続動作を⾏う

    全ての応答に冪等性を持たせる 障害を軽減するための 分散システム設計 グレースフルグラデーションの実装 リクエストのスロットル 再試⾏呼び出しを制御および制限 フェールファーストとキューの制限 クライアントタイムアウトを設定 可能な限りサービスをステートレスに 緊急レバーの実装
  6. 分散システム設計 変更の管理 基盤 ワークロード アーキテクチャ 障害の管理 グレースフル グラデーション 疎結合 冪等性

    test mkdir test mkdir test test(1) A B C 密結合 疎結合 何度実⾏しても作成される フォルダは1つ 耐障害性 分散システム設計の⼀例
  7. モニタリング ワークロード アーキテクチャ 基盤 変更管理 障害の管理 レスポンス ⾃動化 ⽣成・集計 通知

    分析・レビュー AWS Personal Health Dashboard Amazon CloudWatch Amazon SNS Amazon Athena Amazon EMR Amazon DevOps Guru AWS Auto Scaling AWS Systems Manager
  8. 需要に応じたスケーリング ワークロード アーキテクチャ 基盤 変更管理 障害の管理 Auto Scaling 障害検出時の スケーリング

    需要に合わせた スケーリング 負荷テスト AWS Auto Scaling Amazon EC2 Amazon ECS Amazon DynamoDB Amazon Aurora
  9. 需要に応じたスケーリング ワークロード アーキテクチャ 基盤 変更管理 障害の管理 Amazon EC2 Auto Scaling

    障害・メトリクスに応じた ⾃動スケーリング スケジュールされた スケーリング 予測スケーリング パターンがわかっている時 機械学習で予測
  10. 変更の実装 ワークロード アーキテクチャ 基盤 変更管理 障害の管理 AWS Cloud AWS CodeCommit

    AWS CodeBuild AWS CodePipeline AWS Code Star AWS CodeDeploy AWS CloudFormation AWS Systems Manager ランブック セキュリティパッチ適⽤ パラメータの変更など テスト 機能テスト 回復⼒テスト デプロイ イミュータブル ⾃動化
  11. バックアップ ワークロード アーキテクチャ 変更管理 障害の管理 基盤 リストアテストプロセスの⾃動化 AWS Well-Architected Labs

    LEVEL 200: TESTING BACKUP AND RESTORE OF DATA https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/reliability-pillar/rel_backing_up_data_periodic_recovery_testing_data.html
  12. 耐障害性設計 AWS Cloud ワークロード アーキテクチャ 変更管理 障害の管理 基盤 Region Region

    Availability Zone Availability Zone Elastic Load Balancing Auto Scaling group DB Snapshot DB Snapshot Availability Zone Instances Instances Instances Instances インスタンス⾃動復旧 マルチリージョン マルチAZ ⾃動復旧 モニタリング
  13. テストの信頼性 変更の管理 基盤 機能要件 テスト ゲームデー の実施 ワークロード アーキテクチャ 障害の管理

    スケーリング テスト パフォーマンス テスト 回復⼒ テスト AWS Fault Injection Simulator https://docs.aws.amazon.com/fis/latest/userguide/what-is.html
  14. 災害対策(DR) 変更の管理 基盤 ワークロード アーキテクチャ 障害の管理 テスト ドリフト管理 復旧戦略 復旧⾃動化

    復旧⽬標 定義 RTO/RPO︓⼤ コスト︓⼩ RTO/RPO︓少 コスト︓⼤ バックアップ と復元 パイロット ライト ウォーム スタンバイ マルチサイト アクティブ/ アクティブ
  15. 「信頼性の柱」の定義 まとめ 変更管理 障害管理 ワークロード アーキテクチャ 基盤 耐障害性・需要弾⼒性・復旧⾃動化がポイントです︕︕ サービスクォータ管理 ネットワーク

    ⾼可⽤性設計 ネットワーク 拡張性設計 サービス アーキテクチャ設計 障害を防ぐ 分散システム設計 障害を軽減する 分散システム設計 モニタリング 需要に応じたスケーリング 変更の実装 バックアップ・災害対策 耐障害性設計 テストの信頼性
  16. コンピューティングアーキテクチャの選択 レビュー モニタリング 選択 トレードオフ サービス 構成・サイジング 弾⼒性 Amazon EC2

    AWS Lambda Amazon EKS Amazon ECS C6g instance C7g instance R6g instance R6i instance P4 instance Inf1 instance c7g.2xlarge ファミリー 世代 追加機能 サイズ ✅ 需要ベース ✅ バッファベース ✅ 時間ベース
  17. ストレージアーキテクチャの選択 レビュー モニタリング 選択 トレードオフ アクセス⽅法 ブロック アクセスパターン アクセス頻度 その他

    Amazon EBS Amazon EFS AWS Storage Gateway Amazon FSx Amazon S3 AWS Snowball ファイル オブジェクト ランダム シーケンシャル オンライン オフライン アーカイブ 更新有無 可⽤性・耐久性 など ストレージ 種類
  18. データベースアーキテクチャの選択 レビュー モニタリング 選択 トレードオフ Relational Key Value Document In

    Memory Graph Time Series Wide column Ledger Amazon RDS Amazon Aurora Amazon DynamoDB Amazon DocumentDB Amazon ElastiCache Amazon Neptune Amazon Timestream Amazon Keyspaces Amazon QLDB
  19. ネットワークアーキテクチャの選択 レビュー モニタリング 選択 トレードオフ パフォーマンス 影響の理解 パフォーマンス要件/ メトリクス パフォーマンス

    向上機能評価 CloudFront/Global Accelerator メトリクスに 基づいた最適化 適切なサイズの ハイブリット接続 VPN/ダイレクトコネクト 負荷分散と暗号 化オフロード ALB/NLB ネットワークプロ トコルの選択 UDPの使⽤ ワークロードの 場所を選択 ユーザー/データの場所
  20. モニタリング レビュー トレードオフ 基盤 モニタリング レスポンス ⾃動化 ⽣成・集計 通知 分析・レビュー

    AWS Personal Health Dashboard Amazon CloudWatch Amazon SNS Amazon Athena Amazon EMR Amazon DevOps Guru AWS Auto Scaling AWS Systems Manager 「信頼性の柱」の「モニタリング」 と同様の資料
  21. トレードオフ レビュー モニタリング 基盤 トレードオフ 顧客に与える 影響特定・測定 パフォーマンス戦略 の決定 デザインパターンと

    サービスの学習 パフォーマンスが最も 重要な領域を理解 例)キャッシュの利⽤ 低負荷 結果整合性 ⾼負荷 強整合性
  22. 「パフォーマンス効率の柱」の定義 まとめ モニタリング トレードオフ レビュー 選択 最適なアーキテクチャの選択と継続的なレビュープロセスが重要です︕ パフォーマンスアーキテクチャ コンピューティングアーキテクチャ ストレージアーキテクチャ

    データベースアーキテクチャ ネットワークアーキテクチャ パフォーマンス改善プロセス の定義 最新情報の⼊⼿ 評価・導⼊プロセス KPIとメトリクス定義 イベント発⽣時および 定期的な分析 プロアクティブな監視と アラーム 重要領域の理解と デザインパターンの学習 顧客影響の特定・測定 パフォーマンス戦略の決定
  23. クラウド財務管理 費⽤対効果の ⾼いリソース 需要の管理と リソースの 提供 経費⽀出と 使⽤量の認識 クラウド財務 管理を実践

    する 継続的最適化 コスト最適化 担当者を設定 財務とテクノロ ジーの連携確⽴ クラウドの予算 と予測を確⽴ 組織のプロセス にコスト意識を 取り⼊れる コスト最適化の 報告・通知 コストを プロアクティブに モニタリング 最新情報を把握 コスト意識を 持つ⽂化 コスト最適化に よるビジネス 価値を数値化
  24. クラウド財務管理(組織) 費⽤対効果の ⾼いリソース 需要の管理と リソースの 提供 経費⽀出と 使⽤量の認識 クラウド財務 管理を実践

    する 継続的最適化 エグゼクティブ スポンサー コスト最適化担当者・チーム 財務 テクノロジー ビジネス 事業部⾨ オーナー サード パーティー
  25. クラウド財務管理(プロセス) 費⽤対効果の ⾼いリソース 需要の管理と リソースの 提供 経費⽀出と 使⽤量の認識 クラウド財務 管理を実践

    する 継続的最適化 クラウドの予算 と予測を確⽴ コスト最適化の 報告・通知 コストを プロアクティブに モニタリング コスト最適化に よるビジネス 価値を数値化 AWS Budgets AWS Cost Explorer
  26. クラウド財務管理(⽂化) 費⽤対効果の ⾼いリソース 需要の管理と リソースの 提供 経費⽀出と 使⽤量の認識 クラウド財務 管理を実践

    する 継続的最適化 組織のプロセス にコスト意識を 取り⼊れる 最新情報を把握 コスト意識を 持つ⽂化 ✅ AWSブログのサブスクライブ ✅ AWSイベントや勉強会などで交流 ✅ AWSアカウントチームとミーティング
  27. ガバナンス 費⽤対効果の ⾼いリソース 需要を管理し リソースを供給 する クラウド財務 管理を実践 する 経費⽀出と

    使⽤量の認識 継続的最適化 組織要件に 基づいて ポリシー策定 ⽬標・ターゲット 策定 アカウント構造 実装 グループとロール 実装 コスト コントロール実装 プロジェクトライ フサイクル追跡
  28. ガバナンス(ポリシー策定) 費⽤対効果の ⾼いリソース 需要を管理し リソースを供給 する クラウド財務 管理を実践 する 経費⽀出と

    使⽤量の認識 継続的最適化 A本番 Aステージング A開発 製品A B本番 Bステージング B開発 製品B ポリシー例) 使⽤出来るリージョン 使⽤出来るサービス ポリシー例) 使⽤出来るリソースサイズ 最⼤サイズはミディアム等 組織ポリシー策定例
  29. ガバナンス(アカウント・権限) 費⽤対効果の ⾼いリソース 需要を管理し リソースを供給 する クラウド財務 管理を実践 する 経費⽀出と

    使⽤量の認識 継続的最適化 A本番 Aステージング A開発 製品A B本番 Bステージング B開発 製品B AWS Organizations AWS Control Tower 親アカウント ✅ ⼀括請求 ✅ IAM・SCPによる権限設定
  30. コストと使⽤量のモニタリング 費⽤対効果の ⾼いリソース 需要を管理し リソースを供給 する クラウド財務 管理を実践 する 経費⽀出と

    使⽤量の認識 継続的最適化 詳細情報ソース を設定 Cost and Usage Report コスト属性 カテゴリの特定 組織・機能カテゴリ 組織のメトリクス を確⽴ 成果を定義 請求・コスト管理 ツールを設定 Cost Explorer AWS Budgets コストと使⽤状 況に組織情報を 追加 タグ付け ワークロードに 基づいてコスト 配分 コスト割当
  31. リソースを削除 費⽤対効果の ⾼いリソース 需要を管理し リソースを供給 する クラウド財務 管理を実践 する 経費⽀出と

    使⽤量の認識 継続的最適化 削除プロセスの 実装 ライフサイクル 全体の リソース追跡 定期監査 開発 運⽤ 削除 リソース削除 状況変化 ⾃動削除
  32. 費⽤対効果の⾼いリソース 経費⽀出と 使⽤量の認識 需要を管理し リソースを供給 する クラウド財務 管理を実践 する 費⽤対効果の

    ⾼いリソース 継続的最適化 サービス選択の際にコスト評価 最適な料⾦モデル 正しいリソースタイプ サイズ・数を選択 データ転送の計画
  33. サービス選択の際にコスト評価 経費⽀出と 使⽤量の認識 需要を管理し リソースを供給 する クラウド財務 管理を実践 する 費⽤対効果の

    ⾼いリソース 継続的最適化 組織のコスト 要件を特定 ワークロードの 全てのコンポーネ ントを分析 各コンポーネント の詳細な分析 コスト効率の ⾼いソフトウェア の選択 コストを最適化 するコンポーネン トを選択 経時的なコスト 分析の実施
  34. 正しいリソースタイプ・サイズ・数 経費⽀出と 使⽤量の認識 需要を管理し リソースを供給 する クラウド財務 管理を実践 する 費⽤対効果の

    ⾼いリソース 継続的最適化 サイズ・タイプ・数選択 データ特性・メトリクス Amazon EC2 Amazon EC2 Amazon EC2 C6g instance C7g instance コストモデリング 最適なリソースを選択 AWS Compute Optimizer
  35. 最適な料⾦モデル 経費⽀出と 使⽤量の認識 需要を管理し リソースを供給 する クラウド財務 管理を実践 する 費⽤対効果の

    ⾼いリソース 継続的最適化 リザーブドインスタンス Saving Plans c6i. xlargeが10台 c6i.2xlargeが10台 c6i.4xlargeが10台 ・・・・ インスタンス何台かわか らないけど1時間に 10$使⽤します
  36. 最適な料⾦モデル 経費⽀出と 使⽤量の認識 需要を管理し リソースを供給 する クラウド財務 管理を実践 する 費⽤対効果の

    ⾼いリソース 継続的最適化 料⾦モデル選択 費⽤は。。 = リザーブドインスタンス スタンダード Saving Plans Computing Saving Plans コンバーティブル EC2 Instance Saving Plans スタンダード EC2 Instance Saving Plans コンバーティブル Computing Saving Plans =
  37. 需要を管理しリソースを供給する 経費⽀出と 使⽤量の認識 費⽤対効果の ⾼いリソース クラウド財務 管理を実践 する 需要を管理し リソースを供給

    する 継続的最適化 スロットリング リクエストの再試⾏ バッファベース 需要ベース 時間ベース キューの使⽤ 需要に応じた動的変更 メトリクス・アラームを使⽤したスケーリング 繁忙期などに スケジュールされたAuto Scaling 需 要 管 理 動 的 供 給 Amazon API Gateway Amazon SQS Amazon Kinesis AWS Auto Scaling AWS Auto Scaling Elastic Load Balancing Elastic Load Balancing
  38. 継続的最適化 経費⽀出と 使⽤量の認識 需要を管理し リソースを供給 する クラウド財務 管理を実践 する 継続的最適化

    費⽤対効果の ⾼いリソース 変更労⼒ WEBサーバ DBサーバ 変化のスピード 変更・検証の労⼒ 定期的なレビュープロセスの導⼊・新サービスの実装 外部要因 例)WEBサーバが ⾼コスト・外部要因⾼・変更労⼒⼩ の場合はレビュー頻度を上げる
  39. 「コスト最適化の柱」の定義 まとめ 費⽤対効果の⾼ いリソース 需要の管理とリ ソースの 提供 経費⽀出と 使⽤量の認識 クラウド財務

    管理を実践 する 継続的最適化 コスト最適化チームを 中⼼とした組織 計画・モニタリング・ 最適化のサイクル コスト意識⽂化 最新情報の把握 ガバナンス コストと使⽤量の モニタリング リソース削除 コスト評価と分析 最適なコンポーネント選択 正しいリソース タイプ・サイズ・数 最適な料⾦モデル データ転送コスト削減 需要分析 スロットルとバッファの実装 動的供給 レビュープロセスの導⼊ 最新情報の把握 定期的な⾒直し・分析
  40. リージョンの選択 データ パターン ハードウェア パターン リージョン の選択 開発と デプロイの プロセス

    ソフトウェアと アーキテチャ のパターン ユーザー パターン SUS01-BP01 Choose Regions near Amazon renewable energy projects and Regions where the grid has a published carbon intensity that is lower than other locations (or Regions) https://sustainability.aboutamazon.com/around-the-globe?energyType=true
  41. ユーザーパターン データ パターン ハードウェア パターン ユーザー パターン 開発と デプロイの プロセス

    ソフトウェアと アーキテチャ のパターン リージョンの 選択 ユーザ負荷による スケーリング 使⽤率が低い、使⽤していないリソースをスケールダウン SLAを持続可能性の ⽬標に合わせる SLAを定義・更新して必要なリソースの数を最⼩限に抑える 未使⽤資産の作成 と保守を停⽌ 活⽤されていない資産を特定し解放する ユーザーの場所に 合わせた地理的配置 ネットワークトラフィックを短縮するリージョン、サービスを選択 チームメンバーの リソース最適化 チームメンバーに提供されているリソースの最適化 (仮想デスクトップの使⽤やデバイスライフサイクルの⾒直し等)
  42. ソフトウェアと アーキテクチャのパターン データ パターン ハードウェア パターン ソフトウェアと アーキテチャ のパターン 開発と

    デプロイの プロセス ユーザー パターン リージョンの 選択 ⾮同期・スケジュール されたジョブの最適化 キューやバッファを使⽤したリソース最適化・平準化等 未使⽤資産の削除・ リファクタリング 不要リソースの削除・活⽤されていないリソースのリファクタリング 時間・リソースを消費する コードの最適化 コード最適化・パフォーマンス最⼤化とリソース使⽤の最⼩化 顧客機器・設備への 影響を最⼩化 デバイスを交換したり機器をアップグレードする必要性を抑える (下位互換性のあるコードの実装など) データアクセスと ストレージパターンの最適化 データ処理とストレージ要件を最⼩限に抑えるテクノロジーを選択
  43. データパターン ソフトウェアと アーキテチャ のパターン ハードウェア パターン データ パターン 開発と デプロイの

    プロセス ユーザー パターン リージョンの 選択 データ分類ポリシー実装 データ分類、管理⽅法の定義・タグ付・定期監査 アクセスパターンに応じた ストレージ選択 例)エネルギー消費量 SSD > HDD ライフサイクルポリシーを使⽤ した不要データ削除 例)S3 → S3 Glacier → 削除 ブロックストレージのオーバープ ロビジョニングを最⼩限に EBSはデータの増⼤に合わせて拡張を実施 Disk Amazon EBS S3 Glacier
  44. データパターン ソフトウェアと アーキテチャ のパターン ハードウェア パターン データ パターン 開発と デプロイの

    プロセス ユーザー パターン リージョンの 選択 不要・冗⻑データの削除 重複排除のメカニズム・増分バックアップの使⽤など 共有ストレージ・オブジェクトス トレージの使⽤ FSXやEFS、S3などを使⽤したデータ重複の回避 ネットワーク間のデータ移動 最⼩化 消費者の近くにデータを置く・リージョン内解決・データ圧縮 復元な困難な場合のみ データをバックアップ 簡単に再作成可能なもの、バックアップ不要なものは除外
  45. ハードウェアパターン ソフトウェアと アーキテチャ のパターン データ パターン ハードウェア パターン 開発と デプロイの

    プロセス ユーザー パターン リージョンの 選択 必要最⼩限の ハードウェア 最適な インスタンスタイプ マネージドサービス の利⽤ 最適な構成による エネルギー効率改善 AWS Auto Scaling Instances AWS Fargate GPUの使⽤を 最適化
  46. 開発とデプロイのプロセス ソフトウェアと アーキテチャ のパターン データ パターン 開発と デプロイの プロセス ハードウェア

    パターン ユーザー パターン リージョンの 選択 処理効率UP!! ワークロードを 最新の状態に 持続可能性要件 の追加 開発・テスト・展開 プロセスに追加 ビルド環境の 効率性を⾼める ⾃動化・IaC 時速可能性要件 の改善 必要な場合のみ 使⽤
  47. 開発とデプロイのプロセス ソフトウェアと アーキテチャ のパターン データ パターン 開発と デプロイの プロセス ハードウェア

    パターン ユーザー パターン リージョンの 選択 Android/iOSなどのアプリテスト・リモートアクセス操作 "84%FWJDF'BSN 管理対象デバイス ファームをテストに 使⽤