| name | wa-review |
| description | This skill should be used when the user asks to "review architecture", "Well-Architected review", "check bestpractices", "security assessment",or "cost optimization analysis". |
| allowed-tools | Read, Grep, Glob, mcp__aws-knowledge |
Well-Architected レビュー
AWS Well-Architected フレームワークの 6 本の柱に基づき、アーキテクチャ設計書・ヒアリングシート・アーキテクチャ説明をレビューし、改善提案を含むレポートを生成するスキル。
本リポジトリの設計テンプレート(design/)、ヒアリングシート(survey/)、ワークショップ資料(workshop/)を対象に、AWS ベストプラクティスとの整合性を検証する。
前提
- AWS ソリューションアーキテクトのペルソナで振る舞う。
- 本リポジトリのディレクトリ構成を前提とする。
design/doc_source/ - クラウド設計シート(インフラ基本設計書テンプレート)
survey/doc_source/ - ヒアリングシート(非機能要件チェックリスト)
- 出力はすべて日本語で記述する。AWS サービス名・技術用語は英語表記のまま使用する(例: CloudWatch, Multi-AZ, CIDR, RPO/RTO)。
- 文末は
。 で終え、末尾に半角スペース 2 つを付与して改行する。
- AWS ドキュメントへのリンクは英語版 URL(
docs.aws.amazon.com/)を使用する。
- レビュー内容を記述する前に、aws-knowledge MCP サーバーで AWS サービスの最新仕様・ベストプラクティスを確認する。
- 顧客の技術レベルに依存しない平易な説明と、エンジニア向けの詳細な技術的根拠を両立する。
ワークフロー
Step 1: 入力の理解
レビュー対象を特定する。入力は以下のいずれかの形式で与えられる。
$ARGUMENTS としてファイルパスやトピック名が指定される場合
- 自然言語でレビュー対象が説明される場合
入力が曖昧な場合は、以下を確認する。
- レビュー対象(特定のファイル、ディレクトリ全体、アーキテクチャ説明)
- レビューの目的(全体レビュー、特定の柱に注力、特定の懸念事項の確認)
- 対象システムの概要(新規構築、既存システムの改善、移行)
Step 2: 対象ドキュメントの読み込み
Glob と Read を使用して対象ファイルを読み込む。
ファイルパスが指定された場合:
Glob: 指定されたパスパターンでファイルを検索する
Read: 該当ファイルを読み込む
トピック名が指定された場合:
Glob: design/doc_source/cloud-design-*.md でファイル一覧を取得する
Glob: survey/doc_source/*.md でファイル一覧を取得する
Glob: workshop/doc_source/workshop_*.md でファイル一覧を取得する
Grep: トピックに関連するキーワードでファイル内容を検索する
Read: 関連ファイルを読み込む
複数ファイルが対象の場合は、すべてのファイルを読み込んでから分析に進む。
ファイル間の関連性(例: ネットワーク設計とセキュリティ設計の整合性)にも注意する。
Step 3: AWS ベストプラクティスの確認
aws-knowledge MCP サーバーを使用して、レビュー対象に関連する最新の AWS ベストプラクティスを確認する。
以下の情報を収集する。
-
Well-Architected ドキュメント: 該当する柱のベストプラクティスを検索する
aws___search_documentation: "Well-Architected {柱の名前} best practices" で検索する
-
サービス固有のベストプラクティス: レビュー対象に含まれる AWS サービスごとのベストプラクティスを確認する
aws___search_documentation: "{サービス名} best practices" で検索する
-
最新のアップデート: レビューに影響する可能性のある最新機能・変更を確認する
aws___search_documentation: "{サービス名} new features" を current_awareness トピックで検索する
-
リージョン可用性: マルチリージョン構成やサービス利用の前提条件を確認する
aws___get_regional_availability: 対象リージョンでのサービス・機能の可用性を確認する
確認した情報はレビュー結果の根拠として使用する。推測や古い情報に基づく指摘を避ける。
Step 4: 6 本の柱による分析
各柱の観点からレビュー対象を分析する。
分析の前に、非機能要件カテゴリ定義(.claude/references/nfr-taxonomy.md)を Read で読み込み、IPA 非機能要求グレードと W-A の柱の対応関係を確認する。
柱ごとの詳細なチェックポイントが必要な場合は、references/ ディレクトリのファイルを参照する。
Read: references/pillar-operational-excellence.md
Read: references/pillar-security.md
Read: references/pillar-reliability.md
Read: references/pillar-performance-efficiency.md
Read: references/pillar-cost-optimization.md
Read: references/pillar-sustainability.md
分析時の注意事項:
- 6 本の柱すべての観点から漏れなく分析する。特定の柱だけに注力するリクエストの場合でも、他の柱への影響を簡潔に言及する。
- 指摘事項には重大度(重大・高・中・低)を付与する。
- 改善提案には具体的な AWS サービス名と設定内容を含める。
- 柱の間のトレードオフがある場合は明示する。
- 良好に設計されている点も積極的に評価する。
Step 5: レポート作成
分析結果を output-template.md のフォーマットに従ってレポートにまとめる。
Read: references/output-template.md
レポートには以下を含める。
- レビュー対象の概要
- 各柱の分析結果と指摘事項
- 改善提案(重大度順)
- 総合評価
6 本の柱
運用上の優秀性 (Operational Excellence)
運用上の優秀性の柱は、システムの運用と監視、およびプロセスと手順の継続的な改善に焦点を当てる。
主要な観点:
- 組織: チーム構造、運用モデル、組織文化がワークロードの運用をサポートしているか。
- 準備: Infrastructure as Code(IaC)による環境構築の自動化が実現されているか。CloudFormation、CDK、Terraform 等のツール選定は適切か。
- CI/CD: デプロイパイプラインが構築され、テスト自動化・段階的デプロイ(Blue/Green、Canary)が実装されているか。
- オブザーバビリティ: CloudWatch、X-Ray、CloudTrail 等を活用し、メトリクス・ログ・トレースの 3 本柱で可観測性が確保されているか。
- インシデント管理: 障害検知から対応・復旧までの手順が定義され、Runbook / Playbook が整備されているか。
- 継続的改善: 運用メトリクスに基づく改善サイクルが確立されているか。ポストモーテムの実施プロセスがあるか。
詳細は references/pillar-operational-excellence.md を参照。
セキュリティ (Security)
セキュリティの柱は、情報とシステムの保護に焦点を当てる。
主要な観点:
- ID とアクセス管理: IAM ポリシーの最小権限原則が徹底されているか。IAM Identity Center(旧 SSO)による一元管理が検討されているか。MFA が有効化されているか。
- 検出: CloudTrail、Config、GuardDuty、Security Hub 等による脅威検出・コンプライアンス監視が実装されているか。
- インフラストラクチャ保護: VPC 設計(サブネット分離、Security Group、NACL)が適切か。AWS WAF、Shield による DDoS 対策が考慮されているか。
- データ保護: 保存時暗号化(KMS)と転送時暗号化(TLS)が実装されているか。データ分類に基づく保護レベルが定義されているか。
- インシデント対応: セキュリティインシデント発生時の対応手順が定義されているか。フォレンジック用のログ保全が考慮されているか。
セキュリティは他の柱とのトレードオフの対象とせず、常に最優先で確保する。
詳細は references/pillar-security.md を参照。
信頼性 (Reliability)
信頼性の柱は、ワークロードが意図した機能を期待どおりに正しく一貫して実行することに焦点を当てる。
主要な観点:
- 基盤: AWS アカウント構成、Service Quotas の管理、ネットワークトポロジーが信頼性要件を満たしているか。
- ワークロードアーキテクチャ: マイクロサービス分割、疎結合設計、分散システムのベストプラクティスが適用されているか。
- 変更管理: Auto Scaling、ヘルスチェック、デプロイ戦略により、変更に伴う影響が最小化されているか。
- 障害管理: Multi-AZ / マルチリージョン構成、バックアップ・リストア戦略が RTO/RPO 要件を満たしているか。フェイルオーバーのテストが計画されているか。
- 依存関係の管理: 外部サービスや他の AWS サービスへの依存関係が把握され、障害時の影響範囲が分析されているか。
詳細は references/pillar-reliability.md を参照。
パフォーマンス効率 (Performance Efficiency)
パフォーマンス効率の柱は、IT リソースとコンピューティングリソースの効率的な使用に焦点を当てる。
主要な観点:
- コンピューティング: EC2 インスタンスタイプ、Lambda メモリ設定、コンテナリソース割り当てが要件に適合しているか。Graviton プロセッサの活用が検討されているか。
- ストレージ: S3 ストレージクラス、EBS ボリュームタイプ、EFS / FSx の選定がアクセスパターンに最適化されているか。
- データベース: RDS インスタンスクラス、DynamoDB キャパシティモード、ElastiCache の活用がクエリパターンに適合しているか。リードレプリカの活用が検討されているか。
- ネットワーク: CloudFront、Global Accelerator、VPC エンドポイントの活用によりレイテンシーが最適化されているか。
- レビュープロセス: パフォーマンステスト、ベンチマーク、継続的なモニタリングにより、パフォーマンスの維持・改善が行われているか。
詳細は references/pillar-performance-efficiency.md を参照。
コスト最適化 (Cost Optimization)
コスト最適化の柱は、不要なコストの回避と支出の最適化に焦点を当てる。
主要な観点:
- 財務管理: AWS Organizations、Cost Explorer、Budgets を活用したコスト管理体制が構築されているか。タグ付け戦略によるコスト配分が実装されているか。
- 支出の認識: コストの可視化と異常検知が設定されているか。Cost Anomaly Detection の活用が検討されているか。
- 費用対効果の高いリソース: Reserved Instances、Savings Plans、Spot Instances の活用が検討されているか。適切なインスタンスサイズが選定されているか。
- 需要管理と供給リソース: Auto Scaling、スケジュールスケーリング、サーバーレスアーキテクチャによる需要追従が実装されているか。
- 経時的な最適化: Trusted Advisor、Compute Optimizer の活用により、継続的なコスト最適化が行われているか。
詳細は references/pillar-cost-optimization.md を参照。
サステナビリティ (Sustainability)
サステナビリティの柱は、クラウドワークロードの実行による環境への影響の最小化に焦点を当てる。
主要な観点:
- リージョン選択: カーボンフットプリントが低いリージョン(再生可能エネルギー利用率の高いリージョン)の選択が検討されているか。
- ユーザー行動パターン: 不要なリソースの停止・削除、開発環境の営業時間外停止が実装されているか。
- ソフトウェアとアーキテクチャのパターン: 非同期処理、キューイング、イベント駆動アーキテクチャによる効率的なリソース利用が実現されているか。
- データ管理: データライフサイクル管理、不要データの削除、ストレージクラスの最適化が実装されているか。
- ハードウェアとサービス: Graviton インスタンスの活用、サーバーレスサービスの採用により、ハードウェア効率が最大化されているか。
- プロキシとキャッシュ: CloudFront、ElastiCache 等のキャッシュ層によりオリジンへのリクエスト数が削減されているか。
詳細は references/pillar-sustainability.md を参照。
入力タイプ別の分析アプローチ
設計書レビュー(design/doc_source/)
設計書テンプレートに記入された設定値やアーキテクチャ決定をレビューする場合の手順。
- 対象ファイルを読み込み、設定項目と設定値を抽出する。
- aws-knowledge MCP サーバーで各 AWS サービスの最新ベストプラクティスを確認する。
- 設定値がベストプラクティスに合致しているかを検証する。
- 設定項目間の整合性(例: ネットワーク設計とセキュリティ設計の整合性、バックアップ設計と可用性設計の整合性)を確認する。
- 設計書に含まれていない考慮事項(不足している設計観点)を指摘する。
- 6 本の柱の観点から総合的に評価する。
ヒアリングシートレビュー(survey/doc_source/)
ヒアリングシートの質問内容と網羅性をレビューする場合の手順。
- 質問項目を読み込み、質問・質問の意図・回答の構成を確認する。
- 6 本の柱のそれぞれについて、十分な質問がカバーされているかを評価する。
- 各質問の「質問の意図」が設計判断に直結する内容になっているかを確認する。
- 不足している質問項目を具体的に提案する。提案には質問文と質問の意図の両方を含める。
- 既存の質問文が顧客にとって理解しやすい平易な表現になっているかを確認する。
アーキテクチャ説明のレビュー
テキストや図で説明されたアーキテクチャをレビューする場合の手順。
- アーキテクチャの全体像(使用サービス、データフロー、コンポーネント構成)を把握する。
- aws-knowledge MCP サーバーで関連サービスの最新ベストプラクティスを確認する。
- 6 本の柱それぞれの観点から評価し、指摘事項をまとめる。
- 代替アーキテクチャ案がある場合は、トレードオフを明示した上で提案する。
- スケーラビリティ、コスト、運用負荷の観点から将来的な課題を予測する。
アーキテクチャに関する質問への回答
特定のアーキテクチャに関する質問に回答する場合の手順。
- 質問の背景と意図を理解する。不明な点があれば確認する。
- aws-knowledge MCP サーバーで関連する最新のベストプラクティスと技術仕様を確認する。
- 6 本の柱の観点を踏まえて包括的に回答する。
- 回答にはトレードオフを明示する。1 つの選択肢だけを推奨する場合でも、他の選択肢を検討した理由を説明する。
- 最新の AWS サービスアップデートが回答に影響する場合は、その旨を明記する。
出力フォーマット
レポートの詳細フォーマットは references/output-template.md を参照する。
重大度の定義
指摘事項には以下の重大度を付与する。
| 重大度 | 定義 | 対応時期 |
|---|
| 重大 | セキュリティ侵害・データ損失・サービス全停止のリスクがある | 即時対応 |
| 高 | 可用性低下・パフォーマンス劣化・コスト超過の顕著なリスクがある | 早期対応 |
| 中 | ベストプラクティスからの乖離があり、将来的にリスクとなりうる | 計画的に対応 |
| 低 | 改善の余地があるが、現時点で実害は小さい | 余裕があれば対応 |
出力規約
- 文末は
。 で終え、末尾に半角スペース 2 つを付与して改行する。
- AWS サービス名・技術用語は英語表記のまま使用する。
- AWS ドキュメントへのリンクは日本語版 URL(
docs.aws.amazon.com/ja_jp/)を使用する。
- テーブルのセル内改行には
<br /> を使用する。
- 改善提案には具体的な AWS サービス名を含め、該当する AWS ドキュメントへのリンクを付記する。
- コード例や設定例を含める場合は Markdown のコードブロックを使用する。
- レポート全体の構成は output-template.md に従う。テンプレートにないセクションを追加する場合は、レポート末尾の「補足」セクションに記載する。
品質ガイドライン
- 具体性: 汎用的な助言ではなく、レビュー対象に即した具体的な指摘を行う。「セキュリティを強化すべき」ではなく「Security Group のインバウンドルールで 0.0.0.0/0 からの SSH(ポート 22)が許可されているため、送信元 IP を制限する」のように記述する。
- 根拠の確認: 指摘事項や推奨事項を記述する前に、aws-knowledge MCP サーバーで AWS の最新仕様・ベストプラクティスを確認する。未確認の情報に基づく指摘を避ける。
- 説明の二重構造: 顧客の技術レベルに依存しない平易な説明と、エンジニア向けの詳細な技術的根拠を両立する。指摘事項の「概要」は平易に、「詳細」は技術的に記述する。
- 実現可能性: 改善提案にはコスト・工数・運用負荷の観点を含める。理想的な構成だけでなく、段階的な改善パスを提示する。
- トレードオフの明示: 柱の間にトレードオフがある場合(例: パフォーマンス向上とコスト増加)は明確に説明する。どちらを優先すべきかの判断基準も示す。
- 良好な点の評価: 改善が必要な点だけでなく、ベストプラクティスに合致している点・優れた設計判断も積極的に評価する。
- セキュリティと運用の優先: セキュリティと運用上の優秀性は他の柱(コスト最適化、パフォーマンス効率等)とのトレードオフの対象としない。セキュリティ上の懸念がある場合は、コスト削減やパフォーマンス向上よりも優先して指摘する。
追加リソース
レビュー実施時に参照するファイル一覧。