azure-upgrade
作成者 microsoft既存の Azure ワークロードについて、プラン、ティア、SKU 間の評価とアップグレードを段階的なガイド付きワークフローで実行できます。azure-upgrade を使うと、Consumption から Flex Consumption への移行、Azure Functions プランの切り替え、ホスティングティアの変更、App Service から Container Apps への移行などを、アセスメントレポートと自動化されたアップグレード手順とあわせて実行できます。
概要
azure-upgrade とは?
azure-upgrade は、既存の Azure ワークロード向けのガイド付きアップグレードスキルです。プラン、ティア、SKU のアップグレードや、同じ Azure 内で密接に関連するサービス間を移行するといった、インプレースまたはそれに近い変更に特化しています。
主なユースケース例:
- Azure Functions を Consumption から Flex Consumption にアップグレード
- Function App を別の hosting plan や service tier に移動
- 既存の Azure サービスの SKU を変更
- バックエンドワークロードを App Service から Azure Container Apps へ移行
このスキルは、(Identify → Assess → Pre-migrate → Upgrade → Validate) という構造化されたワークフローと、安全性ルールやベストプラクティスを組み合わせることで、本番稼働中のアプリケーションを手探りではなく計画的に進化させることを支援します。
azure-upgrade の対象ユーザー
azure-upgrade は次のようなユーザーを想定しています:
- Azure ベースのバックエンドサービスを担当する開発者・DevOps エンジニア
- プランやティア、SKU の変更を管理するプラットフォーム/クラウド運用チーム
- Flex Consumption への標準化や、App Service から Container Apps へのモダナイズを進めるチーム
既存のプランを調整したり、新しい Azure オファリングへ移行したいが、本番を壊したくない場合に、このスキルが繰り返し利用可能でドキュメント化された移行パスを提供します。
azure-upgrade が解決する課題
azure-upgrade を使うと、次のことが行えます:
- 本番リソースに手を付ける前に、アップグレード実施準備の評価 を行う
- 現状構成に基づいて、ターゲットとなる plan/tier/SKU を計画 する
- 定義されたルールに沿って、アップグレードに伴う反復的な手順を自動化 する
- リポジトリ内の
upgrade-status.mdファイルで 進捗を記録・管理 する - 厳格な破壊的操作ルールとユーザー確認により、危険な操作を回避 する
このスキルが扱うのは、あくまで Azure 内部での変更 です。マルチクラウド間の移行は扱いません。そのようなケースでは、azure-cloud-migrate のような別のマイグレーションスキルを利用してください。
azure-upgrade が適している場面
azure-upgrade の利用が適しているのは次のようなケースです:
- 稼働中の Azure Functions アプリを Flex Consumption にアップグレードするとき
- 既存ワークロードのホスティングティアや SKU を変更したいとき
- App Service で動いているアプリを Azure Container Apps へ移行するとき
- Azure 上の運用アップグレードを、フェーズごとに追跡可能なプロセスで実施したいとき
逆に、次のようなケースでは 適さない 可能性があります:
- ワークロードを Azure の外へ移行 する (クロスクラウドマイグレーション)
- 既存リソースのない 完全な新規アプリ をセットアップする場合
- CI/CD パイプラインの自動化だけが必要な場合 (
azure-deployなどのスキルの方が適しています)
Azure のアップグレード時に、安全なロールアウト、ロールバック手段、設定差異の抑制が最重要の課題であれば、azure-upgrade はそのニーズに合致しています。
使い方
1. インストールとセットアップ
microsoft/azure-skills リポジトリから azure-upgrade スキルを追加するには、エージェント環境で skills CLI を利用します:
npx skills add https://github.com/microsoft/azure-skills --skill azure-upgrade
インストール後、スキルの動作を定義している主要ファイルを確認してください:
SKILL.md– スキルの概要、トリガー、ルールreferences/global-rules.md– 安全性ルールとベストプラクティスreferences/workflow-details.md– 各ワークフローフェーズの詳細とステータス管理のガイド
スキルのルールで参照されている mcp_azure_mcp_get_bestpractices や mcp_azure_mcp_documentation などの Azure MCP ツールにアクセスできるよう、エージェントを設定しておいてください。
2. アップグレードワークフローを理解する
azure-upgrade は決められたシーケンスに従って動作します:
- Identify – 変更元リソース (例: 現在の Functions plan) と、ターゲットとなる plan/tier/SKU を明確化します。
- Assess – アップグレードの準備状況や互換性についてアセスメントを生成します。
- Pre-migrate – アプリ設定、構成、依存関係、接続性などの情報を収集します。
- Upgrade – 新しい plan/tier/SKU の適用、またはターゲットリソースの作成を自動ステップで実行します。
- Validate – アップグレード後のアプリが正常に動作し、トラフィックを受けられる状態か検証します。
スキルによるルールにより、これらのフェーズは順序通りに実施する必要があります。Assess や Pre-migrate を飛ばすことは明示的に推奨されておらず、本番変更を安全かつ予測可能に保つことに役立ちます。
3. upgrade-status.md で進捗を管理する
このワークフローでは、リポジトリ内のシンプルなトラッキングファイルを使って、アップグレード作業を監査可能かつチーム内で共有しやすくします。
ワークスペースのルートに upgrade-status.md を作成し、その構造は references/workflow-details.md の内容に従ってください。最低限、次の内容を含めると良いでしょう:
- 変更元アプリ名と現在のプラン
- ターゲットとなるプランまたはサービス
- Resource group と region
- 開始日
- ワークフローフェーズのチェックリスト (Identify, Assess, Pre-migrate, Upgrade, Validate)
- 発生した問題、判断内容、エラーに関するメモ
各フェーズが進むたびにこのファイルを更新します。フェーズが失敗した場合は、エラー内容を記録し、解消してから次へ進んでください。
4. グローバルな安全性ルールを守る
references/global-rules.md には、azure-upgrade 用の必須ガードレールが定義されています。代表的な内容は次の通りです:
- Destructive Action Policy – エージェントは、明示的な
ask_userによる確認なしに、アプリやサービス、resource group の削除、DNS/custom domain の変更を行ってはなりません。 - ユーザー確認チェック – サブスクリプションや region の選択、新しいリソースの作成、ネットワーク制限の変更などは、すべて明示的なユーザー承認が必要です。
- ベストプラクティス – managed identity の優先利用、モダンなランタイムの採用、アップグレード先が完全に検証されるまで元のリソースを稼働させ続けることを推奨します。
ワークフローをカスタマイズしたり拡張する場合でも、これらのルールは維持し、本番環境での自動化を安全に保ってください。
5. 代表的なアップグレードシナリオを実行する
インストール後は、SKILL.md で定義されたトリガーに対応する自然文のインテントを通じて azure-upgrade と対話します。エージェントに与えるプロンプトの例:
- "Assess if my function app is ready to move from Consumption to Flex Consumption."
- "Automate the upgrade of my Functions plan to Flex Consumption in the same resource group."
- "Help me migrate this App Service API to Azure Container Apps and validate it before cutover."
- "Change the hosting plan for this function app and document each step in
upgrade-status.md."
スキルは次のように動作します:
- あなたの意図をアップグレードシナリオとして解釈する。
- 該当するシナリオの参照情報とグローバルルールを読み込む。
- Azure MCP ツールを使ってドキュメントやベストプラクティスを確認する。
- 影響の大きい変更については確認を求めながら、アップグレード手順を提案または生成する。
6. 関連スキルへのハンドオフ
アップグレードと検証が完了したら、azure-upgrade から他の Azure 向けスキルへスムーズに処理を引き継ぐことができます:
azure-validate– アップグレード後の詳細な検証やテストを実施。azure-deploy– アップグレード済みリソースに対する CI/CD パイプラインの構築や見直しに利用。
これにより、azure-upgrade は変更管理のワークフローに専念しつつ、より広い自動化エコシステムの中で活用できます。
FAQ
azure-upgrade は本番ワークロードにも使えますか?
はい。azure-upgrade は本番利用を想定して設計されています。グローバルルールでは、次の点を明確に要求しています:
- フェーズベースでの実行 (Assess をスキップしない)
- 破壊的・不可逆な操作の前には必ず確認を取ること
- アップグレード先が完全に検証されるまで、元のアプリ/サービスを稼働させておくこと
想定された手順に従い、自社の変更管理プロセスと組み合わせて運用すれば、本番環境でも安全なアップグレードを行えます。
azure-upgrade でマルチクラウド間の移行はできますか?
いいえ。azure-upgrade は、plan・tier・SKU の変更や App Service と Container Apps 間の移行など、Azure 内部でのアップグレード に特化しています。クラウド間でワークロードを移動する場合は、代わりに azure-cloud-migrate などの専用マイグレーションスキルを利用してください。
azure-upgrade でどの Azure サービスをアップグレードできますか?
このスキルは、次のような既存ワークロードを主な対象としています:
- Azure Functions アプリ (例: Consumption → Flex Consumption)
- Azure App Service 上で稼働しているアプリ
- Azure Container Apps へ移行したいバックエンドワークロード
ルールの中心がプラン、ティア、SKU に置かれているため、ホスティングのモダナイズやバックエンドサービスのキャパシティ調整が必要な場面で特に有用です。
azure-upgrade は実施済みの作業をどのように記録しますか?
このスキルでは、references/workflow-details.md で説明されている通り、リポジトリ内の upgrade-status.md ファイルを利用します。このファイルには次の内容が記録されます:
- 主要なリソース情報
- 各フェーズの完了状況
- エラーとその対処内容に関するメモ
このシンプルな仕組みにより、複数のチームメンバーやエージェントが関わる場合でも、アップグレード作業を容易に監査・レビューできます。
azure-upgrade は元のリソースを削除しますか?
明示的な承認なしには削除しません。references/global-rules.md には厳格な Destructive Action Policy が定められています:
- アプリやサービス、resource group の削除
- 元のサービスの停止・無効化
- DNS や custom domain のバインド変更
これらはすべて ask_user による明示的な確認が必要です。アップグレード完了後に、元のリソースをいつ (あるいは削除せず残すか) 廃止するかは、常にあなたの判断で制御できます。
azure-upgrade のワークフローをカスタマイズできますか?
ワークフローの 使い方 は調整可能です。たとえば、ステータスファイルを自社のプロセスと連携させたり、他の内部ツールと組み合わせて利用することができます。ただし、定義済みのフェーズと安全性ルールは、アップグレードを予測可能かつ安全に保つためのものです。azure-upgrade を拡張したりラップするときは、少なくとも次を維持してください:
- Identify → Assess → Pre-migrate → Upgrade → Validate というシーケンス
- 破壊的操作や重要な変更に対するグローバルルールと確認プロセス
これにより、カスタムの自動化であっても、組み込みのガードレールによる保護を受けられます。
azure-upgrade は CI/CD パイプラインとどのように連携しますか?
azure-upgrade は、既存リソースに対する一度きりまたは定期的な 運用上の変更 にフォーカスしています。アップグレードと検証が完了した後は、azure-deploy に引き継いで次のようなことを行えます:
- CI/CD パイプラインの構成や更新
- 新しい plan/tier/service に合わせたデプロイフローの調整
まず azure-upgrade でインフラの性質を安全に変更し、その後の継続的デプロイにはパイプライン向けスキルを活用する、という役割分担がおすすめです。
azure-upgrade を利用する前に何が必要ですか?
azure-upgrade を実行する前に、次の準備を整えておいてください:
- 対象となる Azure subscription と resource group へのアクセス権
- 目指す plan/tier/SKU やターゲットサービス (例: Container Apps) についての明確な方針
azure-upgradeスキルと Azure MCP ツールが設定されたエージェント環境
これらの情報が揃っていれば、エージェントは Identify と Assess のフェーズを素早く進められ、不要な往復確認を減らすことができます。
