azure-cloud-architect について
Azure Cloud Architectは、Azureシステムを設計するチーム向けのスキルです。要件に基づく構成パターンの提案からコスト・セキュリティ確認まで支援し、主にBicepテンプレートを生成します。
主な機能
- 01要件に基づく構成パターン提案
- 02Bicepテンプレートのひな形生成
- 03Azureリソースのコスト最適化
- 04CI/CDとセキュリティのガイダンス
活用シーン
- 01新しいAzureアプリの構成選定
- 02選定した設計のインフラテンプレート生成
- 03リソース一覧からコスト削減案を検討
- 04デプロイとセキュリティ確認の準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill azure-cloud-architectインストール後、Claude Code で/azure-cloud-architectを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/architecture_patterns.mdbest_practices.mdservice_selection.mdscripts/architecture_designer.pybicep_generator.pycost_optimizer.py詳細
Azure クラウドアーキテクト
Bicep のインフラストラクチャ・アズ・コードテンプレートを使用して、スタートアップ企業やエンタープライズ向けの、スケーラブルでコスト効率に優れた Azure アーキテクチャを設計します。
ワークフロー
ステップ 1:要件を収集する
アプリケーションの仕様を収集します。
- Application type (web app, mobile backend, data pipeline, SaaS, microservices)
- Expected users and requests per second
- Budget constraints (monthly spend limit)
- Team size and Azure experience level
- Compliance requirements (GDPR, HIPAA, SOC 2, ISO 27001)
- Availability requirements (SLA, RPO/RTO)
- Region preferences (data residency, latency)
ステップ 2:アーキテクチャを設計する
アーキテクチャ設計ツールを実行して、パターンの推奨事項を取得します。
python scripts/architecture_designer.py \
--app-type web_app \
--users 10000 \
--requirements '{"budget_monthly_usd": 500, "compliance": ["SOC2"]}'
出力例:
{
"recommended_pattern": "app_service_web",
"service_stack": ["App Service", "Azure SQL", "Front Door", "Key Vault", "Entra ID"],
"estimated_monthly_cost_usd": 280,
"pros": ["Managed platform", "Built-in autoscale", "Deployment slots"],
"cons": ["Less control than VMs", "Platform constraints", "Cold start on consumption plans"]
}
推奨パターンから選択します。
- App Service Web:Front Door + App Service + Azure SQL + Redis Cache
- AKS 上のマイクロサービス:AKS + Service Bus + Cosmos DB + API Management
- サーバーレスのイベント駆動型:Functions + Event Grid + Service Bus + Cosmos DB
- データパイプライン:Data Factory + Synapse Analytics + Data Lake Storage + Event Hubs
パターンの詳細な仕様については、references/architecture_patterns.md を参照してください。
検証チェックポイント: ステップ 3 に進む前に、推奨パターンがチームの運用成熟度とコンプライアンス要件に合致していることを確認してください。
ステップ 3:IaC テンプレートを生成する
選択したパターンのインフラストラクチャ・アズ・コードを作成します。
# Web app stack (Bicep)
python scripts/bicep_generator.py --arch-type web-app --output main.bicep
Bicep の出力例(コアとなる Web アプリのリソース):
@description('The environment name')
param environment string = 'dev'
@description('The Azure region for resources')
param location string = resourceGroup().location
@description('The application name')
param appName string = 'myapp'
// App Service Plan
resource appServicePlan 'Microsoft.Web/serverfarms@2023-01-01' = {
name: '${environment}-${appName}-plan'
location: location
sku: {
name: 'P1v3'
tier: 'PremiumV3'
capacity: 1
}
properties: {
reserved: true // Linux
}
}
// App Service
resource appService 'Microsoft.Web/sites@2023-01-01' = {
name: '${environment}-${appName}-web'
location: location
properties: {
serverFarmId: appServicePlan.id
httpsOnly: true
siteConfig: {
linuxFxVersion: 'NODE|20-lts'
minTlsVersion: '1.2'
ftpsState: 'Disabled'
alwaysOn: true
}
}
identity: {
type: 'SystemAssigned'
}
}
// Azure SQL Database
resource sqlServer 'Microsoft.Sql/servers@2023-05-01-preview' = {
name: '${environment}-${appName}-sql'
location: location
properties: {
administrators: {
azureADOnlyAuthentication: true
}
minimalTlsVersion: '1.2'
}
}
resource sqlDatabase 'Microsoft.Sql/servers/databases@2023-05-01-preview' = {
parent: sqlServer
name: '${appName}-db'
location: location
sku: {
name: 'GP_S_Gen5_2'
tier: 'GeneralPurpose'
}
properties: {
autoPauseDelay: 60
minCapacity: json('0.5')
}
}
Front Door、Key Vault、Managed Identity、監視を含む完全なテンプレートは、
bicep_generator.pyによって生成され、references/architecture_patterns.mdでも利用できます。
Bicep は Azure に推奨される IaC 言語です。 ARM JSON テンプレートよりも Bicep を優先してください。Bicep は ARM JSON にコンパイルされ、構文がより簡潔で、モジュールをサポートし、Microsoft によるファーストパーティサポートを受けています。
ステップ 4:コストを確認する
推定コストと最適化の機会を分析します。
python scripts/cost_optimizer.py \
--config current_resources.json \
--json
出力例:
{
"current_monthly_usd": 2000,
"recommendations": [
{ "action": "Right-size SQL Database GP_S_Gen5_8 to GP_S_Gen5_2", "savings_usd": 380, "priority": "high" },
{ "action": "Purchase 1-year Reserved Instances for AKS node pools", "savings_usd": 290, "priority": "high" },
{ "action": "Move Blob Storage to Cool tier for objects >30 days old", "savings_usd": 65, "priority": "medium" }
],
"total_potential_savings_usd": 735
}
出力には次の内容が含まれます。
- サービス別の月額コスト内訳
- 適正サイズへの変更に関する推奨事項
- Reserved Instance と Savings Plan の活用機会
- 月々の潜在的な節約額
ステップ 5:CI/CD を構成する
Azure DevOps Pipelines または GitHub Actions と Azure を使って設定します。
# GitHub Actions — deploy Bicep to Azure
name: Deploy Infrastructure
on:
push:
branches: [main]
permissions:
id-token: write
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- uses: azure/arm-deploy@v2
with:
resourceGroupName: rg-myapp-dev
template: ./infra/main.bicep
parameters: environment=dev
# Azure DevOps Pipeline
trigger:
branches:
include:
- main
pool:
vmImage: 'ubuntu-latest'
steps:
- task: AzureCLI@2
inputs:
azureSubscription: 'MyServiceConnection'
scriptType: 'bash'
scriptLocation: 'inlineScript'
inlineScript: |
az deployment group create \
--resource-group rg-myapp-dev \
--template-file infra/main.bicep \
--parameters environment=dev
ステップ 6:セキュリティを確認する
本番環境に移行する前に、セキュリティ体制を検証します。
- ID:RBAC を使用する Entra ID(Azure AD)、サービス間認証には Managed Identity を使用します。認証情報をコードに保存しないでください。
- シークレット:すべてのシークレット、証明書、接続文字列に Key Vault を使用します。
- ネットワーク:すべてのサブネットに NSG を設定し、PaaS サービスには Private Endpoint を使用し、WAF を備えた Application Gateway を配置します。
- 暗号化:転送中のデータには TLS 1.2 以降を使用し、保存データには Azure 管理キーまたはカスタマー管理キーを使用します。
- 監視:Microsoft Defender for Cloud を有効にし、ガードレールとして Azure Policy を使用します。
- コンプライアンス:SOC 2/HIPAA/ISO 27001 の取り組みに対して Azure Policy の割り当てを行います。
デプロイに失敗した場合:
- デプロイの状態を確認します。
az deployment group show \ --resource-group rg-myapp-dev \ --name main \ --query 'properties.error' - RBAC またはポリシーのエラーがないか、Activity Log を確認します。
- デプロイ前に Bicep テンプレートを検証します。
az bicep build --file main.bicep az deployment group validate \ --resource-group rg-myapp-dev \ --template-file main.bicep
よくある失敗原因:
- RBAC 権限エラー — デプロイするプリンシパルにリソースグループの Contributor ロールが付与されていることを確認します。
- リソースプロバイダーが登録されていない —
az provider register --namespace Microsoft.Webを実行します。 - 名前の競合 — Azure リソース名はグローバルに一意である必要がある場合が多くあります(ストレージアカウント、Web アプリなど)。
- クォータ超過 — Azure Portal > Subscriptions > Usage + quotas からクォータの引き上げを申請します。
ツール
architecture_designer.py
要件に基づいて、アーキテクチャパターンの推奨事項を生成します。
python scripts/architecture_designer.py \
--app-type web_app \
--users 50000 \
--requirements '{"budget_monthly_usd": 1000, "compliance": ["HIPAA"]}' \
--json
入力: アプリケーションの種類、想定ユーザー数、JSON 形式の要件
出力: 推奨パターン、サービススタック、コスト見積もり、長所と短所
cost_optimizer.py
Azure リソースの構成を分析し、コスト削減の方法を提案します。
python scripts/cost_optimizer.py --config resources.json --json
入力: 現在の Azure リソースインベントリを含む JSON ファイル
出力: 次の項目に関する推奨事項
- アイドル状態のリソースの削除
- VM とデータベースの適正サイズへの変更
- Reserved Instance の購入
- ストレージ層の移行
- 未使用のパブリック IP とロードバランサー
bicep_generator.py
アーキテクチャの種類に基づいて、Bicep テンプレートのひな形を生成します。
python scripts/bicep_generator.py --arch-type microservices --output main.bicep
出力: 本番環境ですぐに使える Bicep テンプレート。以下を含みます。
- マネージド ID(パスワード不要)
- Key Vault との統合
- Azure Monitor 用の診断設定
- ネットワーク セキュリティ グループ
- コスト配分用のタグ
クイックスタート
Web アプリのアーキテクチャ(100 ドル/月未満)
Ask: "Design an Azure web app for a startup with 5000 users"
Result:
- App Service (B1 Linux) for the application
- Azure SQL Serverless for relational data
- Azure Blob Storage for static assets
- Front Door (free tier) for CDN and routing
- Key Vault for secrets
- Estimated: $40-80/month
AKS 上のマイクロサービス(500~2000 ドル/月)
Ask: "Design a microservices architecture on Azure for a SaaS platform with 50k users"
Result:
- AKS cluster with 3 node pools (system, app, jobs)
- API Management for gateway and rate limiting
- Cosmos DB for multi-model data
- Service Bus for async messaging
- Azure Monitor + Application Insights for observability
- Multi-zone deployment
サーバーレスのイベント駆動型アーキテクチャ(200 ドル/月未満)
Ask: "Design an event-driven backend for processing orders"
Result:
- Azure Functions (Consumption plan) for compute
- Event Grid for event routing
- Service Bus for reliable messaging
- Cosmos DB for order data
- Application Insights for monitoring
- Estimated: $30-150/month depending on volume
データパイプライン(300~1500 ドル/月)
Ask: "Design a data pipeline for ingesting 10M events/day"
Result:
- Event Hubs for ingestion
- Stream Analytics or Functions for processing
- Data Lake Storage Gen2 for raw data
- Synapse Analytics for warehouse
- Power BI for dashboards
入力要件
アーキテクチャの設計に必要な情報を指定してください。
| 要件 | 説明 | 例 |
|---|---|---|
| アプリケーションの種類 | 構築するもの | SaaS プラットフォーム、モバイルバックエンド |
| 想定規模 | ユーザー数、リクエスト数/秒 | ユーザー数 10k、100 RPS |
| 予算 | Azure の月額上限 | 最大 500 ドル/月 |
| チームの状況 | 規模、Azure の経験 | 開発者 3 名、中級 |
| コンプライアンス | 規制上の要件 | HIPAA、GDPR、SOC 2 |
| 可用性 | 稼働時間の要件 | 99.9% SLA、1 時間 RPO |
JSON 形式:
{
"application_type": "saas_platform",
"expected_users": 10000,
"requests_per_second": 100,
"budget_monthly_usd": 500,
"team_size": 3,
"azure_experience": "intermediate",
"compliance": ["SOC2"],
"availability_sla": "99.9%"
}
アンチパターン
| アンチパターン | うまくいかない理由 | 代わりに行うこと |
|---|---|---|
| 新規プロジェクトで ARM JSON テンプレートを使う | 冗長で読みづらく、モジュールがありません | Bicep を使います。ARM にコンパイルでき、構文もすっきりしています |
| App Settings にシークレットを保存する | ポータル上でシークレットが見え、ローテーションもできません | App Settings で Key Vault の参照を使います |
| AKS のノードプールを大規模な 1 つだけにする | ワークロードごとに最適化できません | system、app、jobs の複数のノードプールを使います |
| PaaS サービスにパブリックエンドポイントを設定する | 攻撃対象領域が露出します | Private Endpoints と VNet 統合を使います |
| 「念のため」過剰にプロビジョニングする | 初月から予算を無駄にします | 小規模から始め、自動スケーリングを使い、毎月適正なサイズに調整します |
| すべてに共有リソースグループを使う | 影響範囲が広くなり、RBAC の管理が困難になります | 環境とワークロードごとにリソースグループを 1 つ作成します |
| タグ付け戦略がない | コストや所有者を追跡できません | environment、owner、cost-center、app-name のタグを付けます |
| クラシックリソースを使う | 非推奨で、機能も限られています | ARM/Bicep リソースのみを使います |
出力形式
アーキテクチャ設計
- 根拠を示したパターンの推奨
- サービススタック図(ASCII)
- 月額コストの見積もりとトレードオフ
IaC テンプレート
- Bicep:推奨。ファーストパーティで、モジュールをサポートし、構文がすっきりしています
- ARM JSON:必要に応じて Bicep から生成
- Terraform HCL:azurerm プロバイダーを使用したマルチクラウド互換
コスト分析
- 現在の支出の内訳と最適化の推奨事項
- 優先度(高/中/低)付きのアクションリストと実装チェックリスト
関連項目
| スキル | 関連性 |
|---|---|
engineering-team/aws-solution-architect | AWS 相当のスキル。同じ 6 ステップのワークフローで、サービスが異なります |
engineering-team/gcp-cloud-architect | GCP 相当のスキル。主要な 3 つのクラウドを網羅します |
engineering-team/senior-devops | より広範な DevOps の範囲。パイプライン、監視、コンテナ化を扱います |
engineering/terraform-patterns | IaC の実装。Azure を対象とする Terraform モジュールに使用します |
engineering/ci-cd-pipeline-builder | パイプラインの構築。Azure DevOps と GitHub Actions を自動化します |
参考ドキュメント
| ドキュメント | 内容 |
|---|---|
references/architecture_patterns.md | 5 つのパターン:Web アプリ、マイクロサービス/AKS、サーバーレス、データパイプライン、マルチリージョン |
references/service_selection.md | コンピューティング、データベース、ストレージ、メッセージング、ネットワークの選定マトリクス |
references/best_practices.md | 命名規則、タグ付け、RBAC、ネットワークセキュリティ、監視、DR |