azure-well-architected-framework について
Azure Well-Architected Framework の適用を支援する、アーキテクトやエンジニア向けのリファレンススキルです。5つの柱に沿った設計指針に加え、評価手順や Azure の例をまとめています。
主な機能
- 015つのアーキテクチャ柱の指針
- 02信頼性と災害復旧の実践例
- 03セキュリティとアクセス制御の指針
- 04コストとパフォーマンスの最適化案
- 05評価と実装のチェックリスト
活用シーン
- 01Azure ソリューションのアーキテクチャレビュー
- 02復旧と可用性対策の計画
- 03セキュリティとコストの改善点探し
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ josiahsiegel/ claude-plugin-marketplace --skill azure-well-architected-frameworkインストール後、Claude Code で/azure-well-architected-frameworkを入力して読み込まれたか確認します。
詳細
Azure Well-Architected Framework
Azure Well-Architected Framework は、高品質なクラウドソリューションを構築するための指針となる原則です。アーキテクチャの卓越性を支える 5 つの柱で構成されています。
概要
目的:アーキテクトやエンジニアが、アプリケーション向けにセキュアで高性能、回復性に優れ、効率的なインフラストラクチャを構築できるよう支援します。
5 つの柱:
- 信頼性
- セキュリティ
- コスト最適化
- オペレーショナルエクセレンス
- パフォーマンス効率
柱 1:信頼性
定義:システムが障害から復旧し、機能し続ける能力です。
主な原則:
- 障害を想定して設計する
- 可用性ゾーンとリージョンを使用する
- 冗長性を実装する
- 障害を監視し、対応する
- ディザスターリカバリーをテストする
ベストプラクティス:
可用性ゾーン:
# Deploy VM across availability zones
az vm create \
--resource-group MyRG \
--name MyVM \
--zone 1 \
--image Ubuntu2204 \
--size Standard_D2s_v3
# Availability SLAs:
# - Single VM (Premium SSD): 99.9%
# - Availability Set: 99.95%
# - Availability Zones: 99.99%
バックアップとディザスターリカバリー:
# Enable Azure Backup
az backup protection enable-for-vm \
--resource-group MyRG \
--vault-name MyVault \
--vm MyVM \
--policy-name DefaultPolicy
# Recovery Point Objective (RPO): How much data loss is acceptable
# Recovery Time Objective (RTO): How long can system be down
ヘルスプローブ:
- Application Gateway のヘルスプローブ
- Load Balancer のプローブ
- Traffic Manager のエンドポイント監視
柱 2:セキュリティ
定義:アプリケーションとデータを脅威から保護することです。
主な原則:
- 多層防御
- 最小権限アクセス
- ネットワークを保護する
- 保存中および転送中のデータを保護する
- 監視および監査する
ベストプラクティス:
ID とアクセス:
# Use managed identities (no credentials in code)
az vm identity assign \
--resource-group MyRG \
--name MyVM
# RBAC assignment
az role assignment create \
--assignee <principal-id> \
--role "Contributor" \
--scope /subscriptions/<subscription-id>/resourceGroups/MyRG
ネットワークセキュリティ:
- Network Security Groups(NSG)を使用する
- Azure Firewall または Application Gateway WAF を実装する
- PaaS サービスに Private Endpoints を使用する
- パブリック向けアプリでは DDoS Protection Standard を有効にする
データ保護:
# Enable encryption at rest (automatic for most services)
# Enable TLS 1.2+ for data in transit
# Azure Storage encryption
az storage account update \
--name mystorageaccount \
--resource-group MyRG \
--min-tls-version TLS1_2 \
--https-only true
セキュリティ監視:
# Enable Microsoft Defender for Cloud
az security pricing create \
--name VirtualMachines \
--tier Standard
# Enable Azure Sentinel
az sentinel onboard \
--resource-group MyRG \
--workspace-name MyWorkspace
柱 3:コスト最適化
定義:提供する価値を最大化できるようにコストを管理することです。
主な原則:
- コストを計画し、見積もる
- 最適化を考慮してプロビジョニングする
- 監視と分析を活用する
- クラウド支出の効率を最大化する
ベストプラクティス:
適正なサイズの選択:
# Use Azure Advisor recommendations
az advisor recommendation list \
--category Cost \
--output table
# Common optimizations:
# 1. Shutdown dev/test VMs when not in use
# 2. Use Azure Hybrid Benefit for Windows/SQL
# 3. Purchase reservations for consistent workloads
# 4. Use autoscaling to match demand
予約インスタンス:
- 1 年または 3 年の契約
- 従量課金制と比べて最大 72% 削減
- VM、SQL Database、Cosmos DB、Synapse、Storage で利用可能
Azure Hybrid Benefit:
# Apply Windows license to VM
az vm update \
--resource-group MyRG \
--name MyVM \
--license-type Windows_Server
# SQL Server Hybrid Benefit
az sql vm create \
--resource-group MyRG \
--name MySQLVM \
--license-type AHUB
コスト管理:
# Create budget
az consumption budget create \
--budget-name MyBudget \
--category cost \
--amount 1000 \
--time-grain monthly \
--start-date 2025-01-01 \
--end-date 2025-12-31
# Set up alerts at 80%, 100%, 120% of budget
柱 4:オペレーショナルエクセレンス
定義:システムを本番環境で稼働し続けるための運用プロセスです。
主な原則:
- 運用を自動化する
- 監視し、分析情報を得る
- 運用手順を改善する
- 障害を予測する
- 最新の更新プログラムを適用する
ベストプラクティス:
Infrastructure as Code:
# Use ARM, Bicep, or Terraform
# Version control all infrastructure
# Implement CI/CD for infrastructure
# Example: Bicep deployment
az deployment group create \
--resource-group MyRG \
--template-file main.bicep \
--parameters @parameters.json
監視とアラート:
# Application Insights for apps
az monitor app-insights component create \
--app MyApp \
--location eastus \
--resource-group MyRG
# Log Analytics for infrastructure
az monitor log-analytics workspace create \
--resource-group MyRG \
--workspace-name MyWorkspace
# Create alerts
az monitor metrics alert create \
--name HighCPU \
--resource-group MyRG \
--scopes <vm-id> \
--condition "avg Percentage CPU > 80" \
--description "CPU usage is above 80%"
DevOps のプラクティス:
- 継続的インテグレーション/継続的デプロイ(CI/CD)
- ブルーグリーンデプロイ
- カナリアリリース
- 機能フラグ
- 自動テスト
柱 5:パフォーマンス効率
定義:負荷の変化にシステムが適応する能力です。
主な原則:
- 水平方向にスケーリングする
- 適切なリソースを選択する
- パフォーマンスを監視する
- ネットワークとデータアクセスを最適化する
ベストプラクティス:
スケーリング:
# Horizontal scaling (preferred)
# VM Scale Sets
az vmss create \
--resource-group MyRG \
--name MyVMSS \
--image Ubuntu2204 \
--instance-count 3 \
--vm-sku Standard_D2s_v3
# Autoscaling
az monitor autoscale create \
--resource-group MyRG \
--resource MyVMSS \
--resource-type Microsoft.Compute/virtualMachineScaleSets \
--name MyAutoscale \
--min-count 2 \
--max-count 10
キャッシュ:
- Azure Cache for Redis
- 静的コンテンツ向けの Azure CDN
- アプリケーションレベルのキャッシュ
データアクセス:
- データベースでインデックスを使用する
- キャッシュ戦略を実装する
- グローバルなコンテンツ配信に CDN を使用する
- クエリ(SQL、Cosmos DB)を最適化する
ネットワーク:
# Use Azure Front Door for global apps
az afd profile create \
--profile-name MyFrontDoor \
--resource-group MyRG \
--sku Premium_AzureFrontDoor
# Features:
# - Global load balancing
# - CDN capabilities
# - Web Application Firewall
# - SSL offloading
# - Caching
評価とツール
Azure Well-Architected Review:
# Self-assessment tool in Azure Portal
# Generates recommendations per pillar
# Provides actionable guidance
Azure Advisor:
# Get recommendations
az advisor recommendation list --output table
# Categories:
# - Reliability (High Availability)
# - Security
# - Performance
# - Cost
# - Operational Excellence
実装チェックリスト
信頼性:
- 可用性ゾーンにまたがってデプロイする
- バックアップ戦略を実装する
- RTO と RPO を定義する
- 災害復旧をテストする
- ヘルスモニタリングを実装する
セキュリティ:
- Azure AD 認証を有効にする
- RBAC(最小権限)を実装する
- 保存中および転送中のデータを暗号化する
- Microsoft Defender for Cloud を有効にする
- ネットワークセグメンテーション(NSG、Firewall)を実装する
- シークレットに Key Vault を使用する
コスト最適化:
- リソースのサイズを適正化する
- 予測可能なワークロード向けに予約を購入する
- 自動スケーリングを有効にする
- Azure Hybrid Benefit を使用する
- 予算アラートを実装する
- Azure Advisor のコストに関する推奨事項を確認する
運用上の優秀性:
- Infrastructure as Code を実装する
- CI/CD パイプラインを設定する
- 包括的なモニタリングを有効にする
- 運用ランブックを作成する
- アラートの自動化を実装する
- リソースの整理にタグを使用する
パフォーマンス効率:
- 適切なリソース SKU を選択する
- 自動スケーリングを実装する
- キャッシュ(Redis、CDN)を使用する
- データベースクエリを最適化する
- 負荷分散を実装する
- パフォーマンス指標を監視する
一般的なパターン
高可用性の Web アプリケーション:
- Application Gateway(WAF を有効化)
- App Service(Premium レベル、複数インスタンス)
- Azure SQL Database(ゾーン冗長)
- Azure Cache for Redis
- Application Insights
- Azure Front Door(グローバル分散)
ミッションクリティカルなアプリケーション:
- マルチリージョンデプロイ
- Traffic Manager または Front Door(グローバルルーティング)
- 各リージョンの可用性ゾーン
- 地理冗長ストレージ(GRS または RA-GRS)
- 地理レプリケーションを使用した自動バックアップ
- 包括的なモニタリングとアラート
コスト最適化された開発/テスト環境:
- VM の自動シャットダウン
- B シリーズ(バースト可能)VM
- 開発/テスト向け料金プラン
- 共有 App Service プラン
- Azure DevTest Labs
参考資料
- 公式フレームワーク:https://learn.microsoft.com/en-us/azure/well-architected/
- Azure Advisor:https://portal.azure.com/#blade/Microsoft_Azure_Expert/AdvisorMenuBlade/overview
- Well-Architected レビュー:https://learn.microsoft.com/en-us/assessments/azure-architecture-review/
- アーキテクチャセンター:https://learn.microsoft.com/en-us/azure/architecture/
主なポイント
- 各柱のバランスを取る:柱の間にはトレードオフがあります(例:コストと信頼性)
- 継続的な改善:アーキテクチャは固定されたものではありません。定期的に見直してください
- 測定と監視:データに基づいて意思決定してください
- 自動化:信頼性を高め、コストを削減するため、反復作業を自動化してください
- セキュリティを最優先する:アーキテクチャのあらゆる層にセキュリティを組み込んでください
Well-Architected Framework は、アーキテクチャを評価し、長期にわたって拡張できる設計を実装するための一貫したアプローチを提供します。