azure-cloud-migrate

作者: microsoft

評估並將來自 AWS、GCP 及其他提供者的雲端工作負載遷移至 Azure 服務。支援 Lambda 至 Azure Functions 的遷移,並提供專屬情境參考與最佳做法。在進行任何程式碼轉換前,會先產生評估報告,將來源服務對應至 Azure 的對應服務。將原始碼轉換為目標 Azure 執行階段模型,輸出結果會獨立存放於 <source-folder>-azure/ 目錄中。需依序執行階段:先進行評估,再進行遷移,並由使用者...

npx skills add https://github.com/microsoft/azure-skills --skill azure-cloud-migrate

Azure Cloud Migrate

This skill handles assessment and code migration of existing cloud workloads to Azure.

Rules

  1. Follow phases sequentially — do not skip
  2. Generate assessment before any code migration
  3. Load the scenario reference and follow its rules
  4. Use mcp_azure_mcp_get_azure_bestpractices and mcp_azure_mcp_documentation MCP tools
  5. Use the latest supported runtime for the target service
  6. Destructive actions require ask_userfunctions global-rules | app-service global-rules
  7. Report progress to user — During long-running operations (deployments, image pushes), provide resource-level status updates so the user is never left waiting without feedback — see workflow-details.md
  8. Audit service discovery in app code — Kubernetes DNS names (e.g., http://order-service:3001) do not resolve in Container Apps. During assessment, scan source code for hardcoded hostnames/ports in HTTP clients and flag them for env-var-driven URL injection

Migration Scenarios

SourceTargetReference
AWS LambdaAzure Functionslambda-to-functions.md (assessment, code-migration)
AWS Elastic BeanstalkAzure App Servicebeanstalk-to-app-service.md
HerokuAzure App Serviceheroku-to-app-service.md
Google App EngineAzure App Serviceapp-engine-to-app-service.md
AWS Fargate (ECS)Azure Container Appsfargate-to-container-apps.md (assessment, deployment)
Kubernetes (GKE/EKS/Self-hosted)Azure Container Appsk8s-to-container-apps.md
GCP Cloud RunAzure Container Appscloudrun-to-container-apps.md
Spring Boot (Azure Spring Apps/VMs)Azure Container Appsspring-apps-to-aca.md

No matching scenario? Use mcp_azure_mcp_documentation and mcp_azure_mcp_get_azure_bestpractices tools.

Output Directory

All output goes to <workspace-root-basename>-azure/ at workspace root, where <workspace-root-basename> is the name of the top-level workspace directory itself (NOT a subdirectory within it). Never modify the source directory.

Steps

  1. Create <workspace-root-basename>-azure/ at workspace root
  2. Assess — Analyze source, map services, generate report using the scenario-specific assessment guide → functions assessment | app-service assessment
  3. Migrate — Convert code/config using the scenario-specific migration guide → functions code-migration | app-service code-migration
  4. Ask User — "Migration complete. Test locally or deploy to Azure?"
  5. Hand off to azure-prepare for infrastructure, testing, and deployment

Track progress in migration-status.md — see workflow-details.md.