azure-prepare について
azure-prepare は、新規アプリケーションの作成、既存プロジェクトの変更、モダナイズ、インフラ構築を含め、Azure へのデプロイを準備するためのスキルです。インフラコードや設定を生成する前に、デプロイ計画ファイルを作成して承認を得る必要があります。出力は azure-validate に引き継がれます。
主な機能
- 01デプロイ計画ファイルの作成と承認
- 02AZD、AZCLI、Bicep、Terraform からのレシピ選択
- 03コードベースの分析と Azure サービスへの割り当て
- 04インフラコードと設定ファイルの生成
- 05セキュリティ強化と機能確認
活用シーン
- 01新規アプリケーション向けの Azure インフラ準備
- 02既存プロジェクトへの Azure デプロイ対応の追加
- 03AWS Lambda などのワークロードの Azure への移行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ microsoft/ azure-skills --skill azure-prepareインストール後、Claude Code で/azure-prepareを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/analyze.mdapim.mdarchitecture.mdaspire.mdauth-best-practices.mdazure-context.mdfunctional-verification.mdgenerate.mdglobal-rules.mdplan-template.mdrecipe-selection.mdregion-availability.mdrequirements.mdresearch.mdresources-limits-quotas.mdscan.mdreferences/recipes/azcli/commands.mdREADME.mdscripts.mdreferences/recipes/azd/aspire.mdazure-yaml.mddocker.mdiac-rules.mdREADME.mdterraform.mdreferences/recipes/bicep/patterns.mdREADME.mdreferences/recipes/terraform/patterns.mdREADME.mdreferences/runtimes/nodejs.md詳細
Azure の準備
権威あるガイダンス — 遵守必須
このドキュメントは、Azure デプロイに向けてアプリケーションを準備するための公式かつ唯一の規範となる情報源です。提示されたセキュリティポリシーと矛盾しない限り、記載されている指示に必ず正確に従ってください。判断に迷った場合は、このドキュメント内の矛盾する指示を提示し、ユーザーに明示的な確認を求めてください。手順を独自に考案したり、推測したり、別の手順に置き換えたりしないでください。
トリガー
ユーザーが次のことを希望した場合に、このスキルを有効にします。
- 新しいアプリケーションを作成する
- 既存のアプリにサービスやコンポーネントを追加する
- 既存のアプリケーションを更新または変更する
- アプリケーションをモダナイズまたは移行する
- Azure インフラストラクチャをセットアップする
- Azure にデプロイする、または Azure でホストする
- Azure 向けに作成してデプロイする(Terraform ベースのデプロイ要求を含む)
ルール
- まず計画を立てる — 必須 — コード生成や実行を始める前に、最初のアクションとして、ワークスペースのルートディレクトリ(セッション状態フォルダーではありません)に
.azure/deployment-plan.mdのひな形を実際に書き込む必要があります。ひな形を直ちに書き込み、フェーズ 1 の分析と調査の進行に応じて段階的に内容を記入し、フェーズ 1 のステップ 6 ですべての決定事項を反映して完成させてください。このファイルは常にディスク上に存在していなければなりません。azure-validate と azure-deploy はこのファイルに依存しており、ファイルがないと失敗します。この手順を省略したり、先延ばしにしたりしないでください。 - 承認を得る — 実行前に計画をユーザーに提示する
- 生成前に調査する — 参照資料を読み込み、関連するスキルを呼び出す
- 計画を段階的に更新する — 進行に応じて各ステップを完了済みにする
- デプロイ前に検証する — azure-deploy の前に azure-validate を呼び出す
- Azure コンテキストを確認する — Azure コンテキストに従い、サブスクリプションと場所について
ask_userを使用する - ❌ 破壊的な操作には
ask_userが必要です — グローバルルール - ⛔ ユーザーのプロジェクトやワークスペースのディレクトリを決して削除しないでください — 既存のプロジェクトに機能を追加する場合は、既存のファイルを変更してください。
azd init -t <template>は新規プロジェクト専用です。既存のワークスペースでazd init -tを実行しないでください。適切な場合は、テンプレート引数を指定しない通常のazd initを既存のワークスペースで使用できます。プロジェクト内のファイル(ビルド成果物や一時ファイルなど)は、適切な場合に削除できますが、ユーザーのプロジェクトまたはワークスペースのディレクトリ自体は決して削除しないでください。グローバルルールを参照してください。 - 対象範囲:準備のみ — このスキルはインフラストラクチャのコードと構成ファイルを生成します。デプロイの実行(
azd up、azd deploy、terraform apply)は、エラーからの復旧機能とデプロイ検証機能を備えた azure-deploy スキルが担当します。 - ⛔ SQL Server Bicep:
administratorLoginまたはadministratorLoginPasswordを決して生成しないでください — 直接プロパティ、条件分岐や三項演算子の分岐を含め、ファイル内のどこにも記述しないでください。必ず、無条件で Entra のみの認証(azureADOnlyAuthentication: true)を使用してください。references/services/sql-database/bicep.mdを参照してください。 - 変換後に不要になったテンプレート IaC を削除する — 選択した
azdテンプレートの Bicep テンプレートを Terraform テンプレートに変換した場合、Terraform 相当のテンプレートで完全に置き換えられた、そのazdテンプレートによって追加された Bicep テンプレートを削除してください。ユーザーが作成した Bicep ファイルは削除しないでください。Terraform IaC が完成し、デプロイ方式として Terraform が選択された後に限り、テンプレートから提供された Bicep ファイルを削除してください。azure-validate スキルに引き渡す前に、選択したデプロイ方式で必要な IaC テンプレートだけを残してください。
❌ 計画優先のワークフロー — 必須
作業を始める前に、必ず計画を作成してください
- 停止 — まだコード、インフラストラクチャ、構成を生成しないでください
- スケルトンを作成 — コード生成や実行を始める前に、直ちに初期状態の
.azure/deployment-plan.mdをディスクに書き込みます。その後、フェーズ 1 のステップ 1~5 で明らかになった詳細を順次記入し、ステップ 6 で完成させます- 確認 — 完成した計画をユーザーに提示し、承認を得ます
- 実行 — 承認を得た後に限り、計画を順番に実行します
.azure/deployment-plan.mdファイルは、このワークフローと azure-validate および azure-deploy スキルの信頼できる唯一の情報源です。このファイルがない場合、これらのスキルは失敗します。⚠️ 重要:
.azure/deployment-plan.mdは、セッション状態フォルダーではなく、ワークスペースのルート内(例:<workspace-root>/.azure/deployment-plan.md)に書き込む必要があります。ファイル書き込みツールを使用して、このファイルを作成してください。これは azure-validate および azure-deploy が読み込むデプロイ計画の成果物です。このファイルは必ず作成してください。作成せずに先へ進んではいけません。 ⚠️ 重要:ファイル名はそのまま.azure/deployment-plan.mdにしてください。.azure/plan.mdなど、別の名前を使用してはいけません。⛔ 重要: 計画ファイルの作成を省略すると、azure-validate および azure-deploy は失敗します。この要件に例外はありません。
❌ ステップ 0:専門技術の確認 — 最初に必ず実行
フェーズ 1 を始める前に、ユーザーのプロンプトまたはワークスペースのコードベースが、テスト済みテンプレートを備えた専用スキルのある専門技術に該当するか確認してください。該当する場合は、そのスキルを最初に呼び出してから、検証とデプロイのために azure-prepare に戻ってください。
確認 1:プロンプトのキーワード
| プロンプトのキーワード | 最初に呼び出すスキル |
|---|---|
| Python + App Service(例:「Python を App Service にデプロイ」「Azure App Service 上の Flask」「Python Web アプリを App Service に公開」) | python-appservice-deploy |
| Lambda、AWS Lambda、AWS からの移行、GCP からの移行、Lambda から Functions への移行、AWS から移行、GCP から移行 | azure-cloud-migrate |
| Azure Functions、関数アプリ、サーバーレス関数、タイマートリガー、HTTP トリガー、func new | azure-prepare のまま進めます — ステップ 4 では Azure Functions のテンプレートを優先します。プランの選択やコールドスタートについては、hosting-plans.md と cold-start.md を参照してください |
| APIM、API Management、API ゲートウェイ、APIM のデプロイ | azure-prepare のまま進めます — APIM デプロイガイドを参照してください |
| AI ゲートウェイ、AI ゲートウェイポリシー、AI ゲートウェイバックエンド、AI ゲートウェイ構成 | azure-aigateway |
| ワークフロー、オーケストレーション、複数ステップ、パイプライン、ファンアウト/ファンイン、Saga、長時間実行プロセス、耐久性、注文処理 | azure-prepare のまま進めます — ステップ 4 では durable レシピを選択します。durable.md、DTS リファレンス、DTS Bicep パターンを必ず読み込んでください。 |
⚠️ 既存のコードだけでなく、ユーザーのプロンプトのテキストを確認してください。スキャンするコードベースがない新規プロジェクトでは特に重要です。完全なルーティング表を参照してください。
専門スキルの処理が完了したら、残りのインフラストラクチャ、検証、デプロイのために、フェーズ 1 のステップ 4(レシピの選択)から azure-prepare を再開してください。
フェーズ 1:計画(実行前に完了必須)
以下の手順を完了して、.azure/deployment-plan.md を作成します。計画が承認されるまで、成果物を生成しないでください。
| # | アクション | 参照 |
|---|---|---|
| 0 | プロンプトが専用スキルのある特定のテクノロジーに該当する場合は、最初にそのスキルを呼び出します | specialized-routing.md |
| 1 | ワークスペースを分析 — モード(NEW、MODIFY、MODERNIZE)を判定します | analyze.md |
| 2 | 要件を収集 — 分類、規模、予算を確認します | requirements.md |
| 3 | コードベースをスキャン — コンポーネント、テクノロジー、依存関係を特定します | scan.md |
| 4 | レシピを選択 — AZD(デフォルト)、AZCLI、Bicep、Terraform のいずれかを選択します | recipe-selection.md |
| 5 | アーキテクチャを計画 — スタックを選択し、コンポーネントを Azure サービスにマッピングします | architecture.md |
| 6 | 計画を確定(必須) - ファイル書き込みツールを使い、手順 1~5 で決定した内容をすべて含めて .azure/deployment-plan.md を確定します。フェーズ 1 の開始時に作成したひな形を、完全な内容で更新します。ユーザーに計画を提示する前に、ファイルのすべての項目を記入してください。 | plan-template.md |
| 7 | 計画を提示 — 計画をユーザーに提示して、承認を求めます | .azure/deployment-plan.md |
| 8 | 破壊的な操作には ask_user が必要です | Global Rules |
❌ ここで停止してください — ユーザーが計画を承認するまで、フェーズ 2 に進まないでください。
フェーズ 2:実行(計画の承認後のみ)
承認済みの計画を実行します。各手順の完了後に、.azure/deployment-plan.md のステータスを更新してください。
| # | アクション | 参照 |
|---|---|---|
| 1 | コンポーネントを調査 — サービスのリファレンスを読み込み、関連スキルを呼び出します | research.md |
| 2 | Azure コンテキストを確認 — サブスクリプションと場所を検出・確認し、リソースのプロビジョニング上限を確認します | Azure Context |
| 3 | 成果物を生成 — インフラストラクチャと構成ファイルを作成します | generate.md |
| 4 | セキュリティを強化 — セキュリティのベストプラクティスを適用します | security.md |
| 5 | 機能を検証 — アプリが動作することを確認します(UI とバックエンド。可能であればローカルで検証します) | functional-verification.md |
| 6 | ⛔ 計画を更新(引き継ぎ前に必須) — edit ツールを使い、.azure/deployment-plan.md の Status を Ready for Validation に変更します。azure-validate を呼び出す前に、この編集を必ず完了してください。この手順を省略しないでください。 | .azure/deployment-plan.md |
| 7 | ⛔ 引き継ぎ必須 — azure-validate スキルを呼び出します。準備作業は完了です。azd up、azd deploy、その他のデプロイコマンドを直接実行しないでください — すべてのデプロイ実行は、azure-validate の完了後に azure-deploy が処理します。前提条件: 最初に手順 6 を完了し、.azure/deployment-plan.md のステータスを Ready for Validation にしてください。 | — |
出力
| 成果物 | 場所 |
|---|---|
| 計画 | .azure/deployment-plan.md |
| インフラストラクチャ | ./infra/ |
| AZD 構成 | azure.yaml(AZD のみ) |
| Dockerfile | src/<component>/Dockerfile |
SDK クイックリファレンス
- Azure Developer CLI: azd
- Azure Identity: Python | .NET | TypeScript | Java
- App Configuration: Python | TypeScript | Java
次の手順
⛔ 必須の次の手順 — 省略しないでください
準備が完了したら、デプロイを試みる前に必ず azure-validate を呼び出す必要があります。検証を省略しないでください。azure-deploy に直接進まないでください。
azd upやデプロイコマンドを直接実行しないでください。ワークフローは次のとおりです。
azure-prepare→azure-validate→azure-deploy⛔ azure-validate を呼び出す前に、必ず
editツールを使用して.azure/deployment-plan.mdのステータスをReady for Validationに更新してください。プランのステータスが更新されていない場合、検証は失敗します。これは、コンテナー化されたアプリ、Container Apps、App Service、Azure Functions、静的サイト、その他すべての Azure ターゲットを含む、すべてのデプロイシナリオに適用されます。例外はありません。
検証を省略すると、デプロイに失敗します。最高の成功率を得るため、焦らずに完全なワークフローに従ってください。
→ プランのステータスを Ready for Validation に更新してから、azure-validate を呼び出してください