mcpField
A
azure-expert

azure-expert

github.com/questfortech-investmentsクラウド・DevOps660 回インストール50 週間前に更新
リポジトリ

azure-expert について

azure-expertは、Azureソリューションの設計、デプロイ、トラブルシューティング、最適化を支援する開発者やアーキテクト向けのスキルです。サービス選定資料、Bicepテンプレート、自動化スクリプト、CI/CD手順を組み合わせ、コストやセキュリティ、監視も扱います。

主な機能

  1. 01ワークロードに応じたAzureサービス選定
  2. 02Bicepテンプレートによるインフラデプロイ
  3. 03デプロイ、状態確認、コスト分析の自動化
  4. 04GitHub ActionsまたはAzure DevOpsのパイプライン設定
  5. 05セキュリティ、監視、コスト最適化の案内

活用シーン

  1. 01Azure WebアプリやFunctionsのデプロイ
  2. 02クラウドリソースの状態や稼働問題の診断
  3. 03リソースグループのコストと最適化案の分析
  4. 04アプリ向けCI/CDパイプラインの設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/questfortech-investments/claude-code-skills --skill azure-expert

インストール後、Claude Code で/azure-expertを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
function-app-template.bicep
github-workflow-webapp.yml
webapp-template.bicep
references/
best_practices.md
compute_services.md
database_services.md
scripts/
cost_analyzer.py
deploy_webapp.py
resource_status.py

詳細

Azure エキスパート

概要

Azure サービス、アーキテクチャパターン、デプロイ戦略、ベストプラクティスに関する幅広い知識を備えた Azure クラウドのエキスパートを目指します。このスキルを使うと、主要なサービスや技術スタック全体にわたって、Azure ソリューションの設計、デプロイ、トラブルシューティング、最適化に必要なすべてを実行できます。

主な機能

1. サービスの選定とアーキテクチャ設計

判断ツリーや比較表を使って、ニーズに合った Azure サービスを選定できるようユーザーを支援します。サービスの詳細な比較については、references/compute_services.md と references/database_services.md を参照してください。

ユーザーから「どのサービスを使えばよいですか」や「Azure で X を構築するにはどうすればよいですか」と尋ねられた場合は、参照ファイルを確認し、次の要素に基づいて十分な情報に基づく推奨事項を提示してください。

  • ワークロードの特性(コンピューティング、データ、イベント駆動型)
  • スケーラビリティ要件
  • 予算の制約
  • 技術スタックとの互換性
  • コンプライアンスとセキュリティのニーズ
2. インフラストラクチャのデプロイ

Bicep テンプレートを使った Infrastructure as Code(IaC)で Azure リソースをデプロイします。すぐに使えるテンプレートは assets/ にあります。

利用可能なテンプレート:

  • webapp-template.bicep:マネージド ID、監視、セキュリティのベストプラクティスを含む、Web アプリケーション用の完全なインフラストラクチャ(App Service、SQL Database、Storage、Key Vault、Application Insights)
  • function-app-template.bicep:すべてのサポートサービスを含む Azure Functions のセットアップ(従量課金プラン/Premium プラン)
  • github-workflow-webapp.yml:ビルド、テスト、ステージングへのデプロイ、本番スロットへの切り替えを含む、完全な CI/CD パイプライン

使用手順:

  1. 必要な Azure サービスを特定します
  2. assets/ から適切なテンプレートを選択するか、カスタマイズします
  3. Azure CLI を使ってデプロイします。
    az deployment group create \
      --resource-group myapp-rg \
      --template-file assets/webapp-template.bicep \
      --parameters appName=myapp environment=prod
    
  4. デプロイ後の手順(データベースのアクセス許可、シークレット、CI/CD)を設定します
3. 運用の自動化

​scripts/ の Python スクリプトを使って、一般的な Azure の操作を実行します。

deploy_webapp.py

  • 適切な構成で Azure App Service に Web アプリをデプロイします
  • 複数のランタイムに対応します:.NET、Node.js、Python、Java、PHP
  • Application Insights を自動的に構成し、サービスプランを作成して、監視を有効にします
  • 使用方法:python scripts/deploy_webapp.py --resource-group mygroup --name myapp --runtime "DOTNET:8.0"

resource_status.py

  • Azure リソースの状態と正常性を確認します
  • 対応対象:Web Apps、Function Apps、Container Apps、SQL Databases
  • ログ、可用性、構成など、詳細な診断情報を提供します
  • 使用方法:python scripts/resource_status.py --resource-group mygroup --type webapp --name myapp

cost_analyzer.py

  • リソースグループとサービスごとに Azure のコストを分析します
  • コストの高いリソースと最適化の機会を特定します
  • コスト削減に向けた実行可能な推奨事項を提示します
  • 使用方法:python scripts/cost_analyzer.py --resource-group mygroup --days 30

スクリプトを使用する場面:

  • ユーザーが Azure リソースの「デプロイ」または「作成」を依頼した場合
  • ユーザーがリソースの「状態確認」または「トラブルシューティング」を必要としている場合
  • ユーザーが「コスト分析」または「支出の最適化」を希望する場合
  • Azure の反復的な操作を自動化する場合
4. CI/CD パイプラインのセットアップ

GitHub Actions または Azure DevOps を使って、自動デプロイパイプラインを構成します。assets/github-workflow-webapp.yml テンプレートには、次の機能があります。

  • 複数のランタイムに対応(.NET、Node.js、Python)
  • ビルド、テスト、成果物の作成
  • ステージングスロットへのデプロイ
  • スモークテスト
  • 承認ゲートを設けた本番スロットへの切り替え
  • ダウンタイムのないデプロイ

セットアップ手順:

  1. assets/github-workflow-webapp.yml をユーザーのリポジトリ内の .github/workflows/ にコピーします
  2. GitHub Actions の認証用に Azure サービスプリンシパルを作成します
  3. GitHub シークレット(AZURE_CREDENTIALS)を構成します
  4. ワークフローファイル内の環境変数をカスタマイズします
  5. ステージング/本番の承認ゲート用に GitHub 環境をセットアップします
5. トラブルシューティングと診断

ユーザーが Azure の問題に直面した場合は、次の診断ワークフローに従ってください。

  1. サービスとエラーを特定する

    • エラーメッセージ、ログ、または HTTP ステータスコードを確認します
    • 影響を受けている Azure サービスを特定します
  2. リソースの状態を確認する

    • scripts/resource_status.py を使用して、正常性と構成を確認します
    • Application Insights で詳細なテレメトリを確認します
    • Azure Portal でサービス正常性のアラートを確認します
  3. よくある問題のパターン:

    • 認証エラー:マネージド ID の構成と RBAC の割り当てを確認します
    • 接続エラー:ファイアウォールルール、プライベートエンドポイント、NSG ルールを確認します
    • パフォーマンスの問題:サービス階層、スケーリング構成、クエリのパフォーマンスを確認します
    • デプロイの失敗:デプロイログを確認し、クォータを確認して、テンプレートを検証します
  4. リファレンスドキュメントを参照する

    • トラブルシューティングのパターンについては、references/best_practices.md を参照します
    • リファレンスファイル内のサービス固有のセクションを確認します
6. コスト最適化

コストを削減できる機会を積極的に特定します。

  1. コスト分析を実行する:scripts/cost_analyzer.py を使用して、高コストのリソースを特定します

  2. スクリプトの出力にある推奨事項を確認します

  3. 最適化を適用する:

    • 過剰にプロビジョニングされたリソースのサイズを適正化します
    • 変動するワークロードに対して自動スケーリングを有効にします
    • 予測可能なワークロードには予約インスタンスを使用します(最大 72% のコスト削減)
    • フォールトトレラントなワークロードには Spot VM を使用します(最大 90% のコスト削減)
    • 使用していないリソース(孤立したディスク、古いバックアップ)を削除します
    • アクセス頻度の低いデータを Cool/Archive ストレージ階層に移動します
  4. リファレンス:包括的な戦略については、references/best_practices.md の「コスト最適化」セクションを参照してください

7. セキュリティとコンプライアンス

Azure のセキュリティに関するベストプラクティスを実装します。

認証と認可:

  • 接続文字列やキーではなく、常にマネージド ID を使用します
  • 最小権限の原則に基づいて RBAC を実装します
  • データベースには Azure AD 認証を使用します

データ保護:

  • データベースで透過的なデータ暗号化(TDE)を有効にします
  • すべての通信に HTTPS/TLS を使用します
  • シークレットを Azure Key Vault に保存します
  • VM で Azure Disk Encryption を有効にします

ネットワークセキュリティ:

  • VNet 統合にはプライベートエンドポイントを使用します
  • ネットワークセキュリティグループ(NSG)を構成します
  • インターネットに公開するアプリでは Azure DDoS Protection を有効にします
  • Web アプリケーションファイアウォール(WAF)を実装します

リファレンス:references/best_practices.md の「セキュリティのベストプラクティス」を参照してください

8. 監視と可観測性

包括的な監視を実装します。

Application Insights:

  • Bicep テンプレートで自動的に構成されます
  • リクエスト、例外、依存関係、カスタムイベントを追跡します
  • マイクロサービス向けの分散トレースを提供します

Log Analytics:

  • ログを一元的に集約します
  • 高度な分析のための KQL クエリを使用します
  • カスタムダッシュボードとブックを利用できます

アラート:

  • メトリックベースのアラート(CPU、メモリ、応答時間)を構成します
  • 特定のパターンに対してログベースのアラートを設定します
  • 通知(メール、SMS、Webhook)用のアクショングループを作成します

リファレンス:references/best_practices.md の「監視と可観測性」を参照してください

Azure サービスの利用

コンピューティングサービス

包括的なガイダンスについては、references/compute_services.md を参照してください。

  • App Service:Web アプリ、API、モバイルバックエンド
  • Azure Functions:サーバーレス、イベント駆動型コンピューティング
  • Container Apps:Kubernetes ベースのマネージドコンテナー
  • AKS:Kubernetes の完全な制御
  • Virtual Machines:レガシーアプリ、リフトアンドシフト
  • Static Web Apps:JAMstack、SPA

このリファレンスには、サービス比較表、価格レベル、ベストプラクティス、構成例、判断ツリーが含まれています。

データベースサービス

詳細については、references/database_services.md を参照してください。

  • Azure SQL Database:SQL Server のマネージドサービス
  • Cosmos DB:グローバルに分散された NoSQL
  • PostgreSQL/MySQL:マネージド型オープンソースデータベース
  • Redis Cache:インメモリキャッシュ
  • Table Storage:シンプルなキーと値のストレージ

このリファレンスでは、一貫性モデル、接続文字列、セキュリティ構成、パフォーマンス最適化、コスト管理について説明しています。

アーキテクチャパターン

実績のあるアーキテクチャパターンについては、references/best_practices.md を参照してください。

  • API Management を使用したマイクロサービスアーキテクチャ
  • Event Grid/Service Bus を使用したイベント駆動型アーキテクチャ
  • Static Web Apps + Functions を使用したサーバーレスアーキテクチャ
  • 従来型の多層 Web アプリケーション
  • 高可用性と災害復旧のパターン

ワークフローの例

例 1:「.NET API を Azure にデプロイする」
  1. scripts/deploy_webapp.py を使用して App Service のインフラストラクチャを作成します
  2. assets/webapp-template.bicep を適用し、データベース、ストレージ、監視を備えた本番環境向けの構成にします
  3. CI/CD 用に assets/github-workflow-webapp.yml を構成します
  4. GitHub Actions または Azure CLI を使用してコードをデプロイします
  5. Application Insights で監視します
例 2:「Azure Function が動作しません」
  1. ユーザーにエラーの詳細(エラーメッセージ、ログ、想定される動作)を確認します
  2. scripts/resource_status.py を使用して Function App の状態を確認します
  3. Application Insights のログで例外を確認します
  4. よくある問題を確認します:
    • アプリケーション設定の不足
    • ストレージアカウントの接続問題
    • ランタイムバージョンの不一致
    • タイムアウトの問題(従量課金プランの上限は 5 分)
  5. Function 固有のトラブルシューティングについては、references/compute_services.md を参照します
例 3:「Azure のコストを削減するには?」
  1. scripts/cost_analyzer.py を実行して、コストの高いリソースを特定します
  2. 出力を分析して、過剰にプロビジョニングされたサービスを確認します
  3. 具体的な推奨事項を提示します:
    • 使用していない Premium サービスをダウングレードする
    • 常時稼働の容量ではなく、自動スケーリングを有効にする
    • 本番環境のワークロードには Reserved Instances を使用する
    • 使用していないリソース(空の App Service Plans、孤立したディスク)を削除する
  4. コスト最適化のセクションについては、references/best_practices.md を参照します
例 4:「Azure でマイクロサービスアーキテクチャを構築する」
  1. マイクロサービスパターンについては、references/best_practices.md を参照します
  2. 次のサービスを推奨します:
    • マイクロサービスには Container Apps または AKS
    • API ゲートウェイには API Management
    • 非同期メッセージングには Service Bus
    • データの永続化には Cosmos DB
    • 分散トレースには Application Insights
  3. リファレンスのアーキテクチャ図を提示します
  4. テンプレートを使用してインフラストラクチャをデプロイします
  5. GitHub Actions で CI/CD を設定します
例 5:「サーバーレス API を作成する」
  1. assets/function-app-template.bicep を使用して Function App のインフラストラクチャを作成します
  2. HTTP トリガー関数の作成手順をユーザーに案内します
  3. 本番環境の API ゲートウェイとして API Management を構成します
  4. 認証(Azure AD、API キー)を設定します
  5. GitHub Actions で CI/CD を構成します
  6. Functions のベストプラクティスについては、references/compute_services.md を参照します

リファレンスドキュメント

このスキルには、必要に応じて参照する包括的なリファレンスドキュメントが含まれています。

references/compute_services.md

すべての Azure コンピューティングサービスに関する詳細なガイド。次の内容を含みます:

  • サービス比較マトリックス
  • 各サービスの用途
  • 料金レベルと SKU の選択
  • 構成例
  • ベストプラクティス
  • 判断フローチャート

参照するタイミング: ユーザーがコンピューティングサービス、デプロイオプション、または「どのサービスを使うべきか」について尋ねたとき

references/database_services.md

次の内容を網羅した、データベースサービスの完全なリファレンス:

  • Azure のすべてのデータベースサービス(SQL、Cosmos DB、PostgreSQL、MySQL、Redis)
  • サービスの比較と選定基準
  • 接続文字列と認証
  • パフォーマンス最適化
  • バックアップと災害復旧
  • セキュリティのベストプラクティス

参照するタイミング: ユーザーがデータベース、データストレージ、または永続化の選択肢について尋ねたとき

references/best_practices.md

以下を含む Azure Well-Architected Framework の実装:

  • アーキテクチャパターン(マイクロサービス、イベント駆動型、サーバーレス、N 層)
  • セキュリティのベストプラクティス(マネージド ID、Key Vault、ネットワークセキュリティ)
  • 監視と可観測性の戦略
  • 災害復旧パターン
  • コスト最適化の戦略
  • Infrastructure as Code の例
  • 命名規則

次の場合に読みます: ユーザーがアーキテクチャ、ベストプラクティス、パターン、セキュリティ、最適化について質問した場合

このスキルを使用するためのベストプラクティス

積極的に提案する
  • ユーザーから求められなくても、接続文字列よりマネージド ID を提案する
  • Application Insights との統合を自動的に推奨する
  • リソースのデプロイ時にコスト最適化の機会を提案する
  • セキュリティのベストプラクティスをデフォルトで含める
テンプレートを効率的に使用する
  • 本番環境に対応したインフラストラクチャには、assets/ のテンプレートを使用する
  • 特定の要件に合わせてテンプレートをカスタマイズする
  • 各テンプレートが何を作成し、その理由を説明する
スクリプトを活用する
  • 自動化と診断には scripts/ のスクリプトを使用する
  • スクリプトは本番環境に対応しており、ベストプラクティスに従っている
  • スクリプトの出力をユーザーにわかりやすく説明する
ドキュメントを参照する
  • 推奨事項を提示する際は、参照ファイルを確認する
  • 情報を暗記せず、最新情報を得るために参照資料を読む
  • 詳細情報を探すときは、特定のパターンを grep で検索する:
    • grep -r "App Service" references/ で App Service に関する情報を検索する
    • grep -r "connection string" references/ で接続の例を検索する
完全なソリューションを提供する
  • 質問に答えるだけでなく、動作する構成を提供する
  • 監視、セキュリティ、運用上の考慮事項を含める
  • 次のステップや改善案を提案する
すべての Azure スタックに対応する
  • .NET、Node.js、Python、Java、PHP、Ruby をサポートする
  • ユーザー固有のランタイムに合わせてテンプレートとスクリプトを調整する
  • 必要に応じて、言語固有のコード例を提供する

このスキルを使用しない場合

  • Azure DevOps の管理:このスキルの対象は開発とデプロイであり、ADO の組織管理ではありません
  • Azure AD/Entra ID の構成:複雑な ID 管理は対象外です
  • 特定のサードパーティ統合:Azure ネイティブのソリューションに重点を置いています
  • Azure 以外のクラウドプロバイダー:このスキルは Azure 専用です

これらのトピックについては、基本的なガイダンスを提供したうえで、専門的なリソースを参照するよう提案してください。

コメント