M

azure-validate

bởi microsoft

azure-validate là một kỹ năng kiểm tra trước khi triển khai cho Azure. Kỹ năng này kiểm tra cấu hình, hạ tầng dưới dạng mã (Bicep hoặc Terraform), dự án Azure Developer CLI (azd), quyền truy cập, vùng (region) và chính sách của bạn để phát hiện vấn đề trước khi bạn chạy một lượt triển khai thật.

Stars0
Yêu thích0
Bình luận0
Danh mụcDeployment
Lệnh cài đặt
npx skills add https://github.com/microsoft/azure-skills --skill azure-validate
Tổng quan

Tổng quan

azure-validate là gì?

azure-validate là một kỹ năng kiểm tra triển khai được thiết kế để chạy các kiểm tra preflight chuyên sâu với ứng dụng và hạ tầng Azure của bạn trước khi triển khai. Kỹ năng này đọc kế hoạch triển khai đã được phê duyệt do azure-prepare tạo, sau đó kiểm tra cấu hình, hạ tầng dưới dạng mã (Bicep hoặc Terraform), luồng công việc Azure Developer CLI (azd), script Azure CLI (azcli), chính sách, vùng (region) và các quyền cần thiết.

Kỹ năng này thuộc giai đoạn triển khai trong quy trình làm việc của bạn, nhưng hoạt động giống như một bộ test tự động cho môi trường Azure. Nó giúp bạn xác nhận kế hoạch đủ an toàn để thực thi và ứng dụng thực sự sẵn sàng để triển khai.

Khi nào nên dùng kỹ năng này?

Hãy dùng azure-validate bất cứ khi nào bạn muốn:

  • Kiểm tra ứng dụng và hạ tầng đã sẵn sàng để triển khai chưa
  • Kiểm tra azure.yaml hoặc template Bicep trước khi chạy azd provision hoặc azd deploy
  • Chạy kiểm tra trước khi triển khai cho Terraform hoặc các script Azure CLI thuần
  • Xác minh lựa chọn subscription, region và quota của Azure
  • Kiểm tra việc tuân thủ Azure Policy đối với các tài nguyên bạn dự kiến triển khai
  • Phát hiện sớm các lỗi kiểm tra Azure CLI và IaC thường gặp
  • Khắc phục lỗi triển khai lặp lại trong các pipeline CI/CD

Kỹ năng này phù hợp nhất trong chuỗi sau:

azure-prepareazure-validateazure-deploy

azure-validate dành cho ai?

azure-validate hướng đến:

  • Các lập trình viên backend và cloud xây dựng ứng dụng trên Azure
  • Các kỹ sư DevOps và nền tảng chịu trách nhiệm triển khai ổn định
  • Các đội chuẩn hóa hạ tầng trên Bicep, Terraform, azd hoặc azcli
  • Chủ sở hữu pipeline CI/CD cần các kiểm tra tự động, nhất quán trước khi triển khai

Nếu bạn thường xuyên quản lý triển khai đa môi trường (dev/test/prod) hoặc phải tuân theo các chính sách và quy định về vùng trên toàn tổ chức, kỹ năng này mang lại một lớp kiểm tra lặp lại, có thể tin cậy.

azure-validate giải quyết vấn đề gì?

azure-validate giúp giảm số lượt triển khai thất bại hoặc triển khai một phần bằng cách phát hiện sớm các vấn đề như:

  • Thiếu hoặc cấu hình sai trong azure.yaml hoặc các file IaC
  • Cấu hình sai hoặc dùng region Azure không được hỗ trợ cho một số dịch vụ
  • Vi phạm Azure Policy có thể chặn quá trình triển khai
  • Vấn đề xác thực và quyền (ví dụ thiếu role)
  • Các lỗi kiểm tra Azure CLI thường gặp với Bicep và template
  • Công thức hạ tầng không đồng nhất giữa azd, azcli, Bicep và Terraform

Thay vì phát hiện các vấn đề này ở môi trường production hoặc muộn trong pipeline, bạn có thể nhìn thấy chúng ngay trong giai đoạn kiểm tra với các tham chiếu rõ ràng và gợi ý cách khắc phục.

Khi nào azure-validate không phù hợp?

Kỹ năng này không dành cho:

  • Triển khai ngoài Azure (cloud khác hoặc chỉ on-prem)
  • Giám sát, kiểm tra sức khỏe hoặc observability sau triển khai
  • Các bộ test ở cấp ứng dụng (unit, integration hoặc UI test)
  • Các lượt triển khai thủ công một lần không dùng kế hoạch được azure-prepare tạo

Nếu bạn không sử dụng hạ tầng dưới dạng mã hoặc một file kế hoạch có cấu trúc (như .azure/plan.md do azure-prepare tạo), bạn sẽ không tận dụng được đầy đủ lợi ích của azure-validate.

Cách sử dụng

1. Cài đặt và thiết lập

Thêm azure-validate vào bộ kỹ năng của bạn

Cài đặt kỹ năng từ repository microsoft/azure-skills:

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

Lệnh này giúp quy trình azure-validate khả dụng trong agent hoặc môi trường công cụ của bạn.

Thứ tự workflow bắt buộc

Trước khi chạy azure-validate, bạn phải:

  • Gọi azure-prepare thành công, và
  • Có file .azure/plan.md với trạng thái Approved hoặc cao hơn

Workflow được hỗ trợ một cách nghiêm ngặt là:

azure-prepareazure-validateazure-deploy

Nếu thiếu .azure/plan.md hoặc file này chưa được phê duyệt, hãy dừng lại và chạy azure-prepare trước.

2. Hiểu các trigger và quy tắc cốt lõi

Trigger chính

Hãy dùng azure-validate khi bạn cần:

  • Xác nhận ứng dụng đã sẵn sàng triển khai
  • Kiểm tra azure.yaml hoặc template Bicep
  • Chạy kiểm tra preflight trước khi provision tài nguyên
  • Khắc phục lỗi triển khai Azure phát sinh từ các bước IaC hoặc CLI

Các quy tắc chính cần tuân thủ

Dựa trên hướng dẫn của kỹ năng và tham chiếu global-rules dùng chung:

  1. Chỉ chạy azure-validate sau azure-prepare và trước bất kỳ lượt triển khai thật nào.
  2. Xem lỗi kiểm tra là chặn bước. Không tiếp tục chạy azure-deploy cho đến khi xử lý xong các vấn đề.
  3. Với mọi thao tác hủy, ghi đè hoặc tác động lớn (xóa, thay đổi chi phí hoặc bảo mật), luôn hỏi ý kiến người dùng bằng ask_user như mô tả trong references/global-rules.md.
  4. Không bao giờ tự giả định subscription hoặc region của Azure; khi liên quan, phải xác nhận với người dùng.

3. Làm theo các recipe kiểm tra theo từng loại hạ tầng

Kỹ năng này bao gồm các recipe chuyên biệt trong thư mục references/recipes/ để kiểm tra từng cách tiếp cận hạ tầng khác nhau.

Dành cho dự án Azure Developer CLI (azd)

  • Bắt đầu với references/recipes/azd/README.md.
  • Dùng references/recipes/azd/environment.md để kiểm tra cấu hình môi trường.
  • Dùng references/recipes/azd/errors.md để hiểu và khắc phục các lỗi kiểm tra và triển khai azd thường gặp.
  • Với các dự án dùng .NET Aspire, xem thêm references/recipes/azd/aspire.md để có các kiểm tra bổ sung.

Các hướng dẫn này giúp bạn xác nhận azure.yaml, wiring của ứng dụng và thiết lập môi trường đều hợp lệ trước khi provision bằng azd.

Dành cho workflow Azure CLI (azcli) + Bicep

  • Bắt đầu với references/recipes/azcli/README.md để có checklist kiểm tra AZCLI đầy đủ, bao gồm:
    • Kiểm tra việc cài đặt Azure CLI (az version)
    • Đăng nhập và đặt subscription
    • Biên dịch Bicep (az bicep build)
    • Chạy kiểm tra template và xem what-if preview
  • Dùng references/recipes/azcli/errors.md để tìm cách khắc phục nhanh các lỗi az thường gặp (vấn đề token, MFA, ủy quyền, lỗi kiểm tra template).

Kết hợp này mang đến quy trình cụ thể, từng bước để kiểm tra các lượt triển khai dùng Bicep được điều khiển bởi Azure CLI.

Dành cho hạ tầng tập trung vào Bicep

  • Xem references/recipes/bicep/README.md để nắm các workflow kiểm tra dành riêng cho Bicep.
  • Dùng references/recipes/bicep/errors.md để được hướng dẫn về các lỗi kiểm tra Bicep thường gặp và cách xử lý.

Bạn có thể tích hợp các bước kiểm tra này vào quy trình làm việc cục bộ hoặc pipeline CI để đảm bảo template và tham số hợp lệ trước khi chạy lượt triển khai đầy đủ.

Dành cho triển khai dựa trên Terraform

  • Dùng references/recipes/terraform/README.md để căn chỉnh azure-validate với các bước terraform planterraform apply.
  • Tham khảo references/recipes/terraform/errors.md để xử lý các lỗi kiểm tra Terraform và lỗi ủy quyền Azure thường gặp.

Các recipe này giúp bạn kiểm tra hạ tầng Terraform và thiết lập tài khoản Azure trước khi chạy terraform apply ở bất kỳ môi trường nào.

4. Kiểm tra mức sẵn sàng về policy, region và quota

Kiểm tra Azure Policy

Dùng references/policy-validation.md làm hướng dẫn để đảm bảo kế hoạch triển khai tuân thủ các Azure Policy đang áp dụng trên subscription.

Luồng điển hình:

  1. Lấy ID subscription hiện tại:

    az account show --query id -o tsv
    
  2. Dùng Azure policy MCP integration để liệt kê và xem các policy của subscription như hướng dẫn trong tài liệu tham chiếu.

  3. Xử lý các vi phạm policy (SKU không được phép, thiếu tag, loại tài nguyên bị hạn chế, chặn location, quy tắc bảo mật mạng) trước khi tiếp tục.

Chỉ tiếp tục triển khai khi đã xác nhận tuân thủ policy.

Kiểm tra khả dụng theo region và quota

Dùng references/region-availability.md để đối chiếu xem tất cả dịch vụ trong kiến trúc của bạn có được hỗ trợ ở các region yêu cầu hay không và quota có đủ hay không.

Điều này đặc biệt quan trọng với các dịch vụ có phạm vi region hạn chế, chẳng hạn:

  • Azure Static Web Apps
  • Azure OpenAI (với khác biệt vùng theo từng model)

Hãy làm theo hướng dẫn và các MCP tool được nêu trong tài liệu (cho quota và region availability) để tránh lỗi do dùng region không được hỗ trợ hoặc thiếu năng lực (capacity).

5. Ví dụ kiểm tra ứng dụng và function

Lưu trữ secret cho Aspire + Azure Functions

Nếu bạn dùng .NET Aspire cùng Azure Functions, hãy xem references/aspire-functions-secrets.md:

  • Phát hiện xem app host của bạn có dùng AddAzureFunctionsProject với lưu trữ dựa trên identity hay không.
  • Đảm bảo AzureWebJobsSecretStorageType được cấu hình đúng.
  • Áp dụng cách sửa được khuyến nghị (bao gồm .WithEnvironment("AzureWebJobsSecretStorageType", "Files") theo hướng dẫn) trước khi provision.

Chạy bước kiểm tra này trước azd provision sẽ giúp tránh các lỗi lưu trữ secret cho function thường gây chặn triển khai serverless.

6. Dùng azure-validate trong pipeline CI/CD

Dù azure-validate được viết như một agent skill, các bước và tài liệu tham chiếu của nó rất phù hợp để tự động hóa trong pipeline:

  • Dùng các recipe như những stage trong pipeline (ví dụ: chạy kiểm tra Bicep và what-if trước các job deploy).
  • Cho pipeline fail nếu có bất kỳ lỗi kiểm tra nào được recipe hoặc bước kiểm tra policy phát hiện.
  • Đưa các đường link hoặc trích đoạn từ file trong references/* vào log pipeline để hướng dẫn developer cách xử lý vấn đề.

Cách này biến azure-validate thành một cổng kiểm tra trước triển khai nhất quán cho mọi môi trường.

7. Các file nên xem để tùy biến sâu hơn

Để tinh chỉnh azure-validate cho quy trình làm việc của bạn, hãy mở các file quan trọng sau trong repository:

  • SKILL.md – Hướng dẫn chính thức về cách dùng, trigger, quy tắc và thứ tự bước của kỹ năng.
  • references/global-rules.md – Các quy tắc toàn cục bắt buộc cho thao tác phá hủy, xử lý subscription và region.
  • references/policy-validation.md – Hướng dẫn chi tiết về cách kiểm tra policy.
  • references/region-availability.md – Hướng dẫn về region và quota cho các dịch vụ bị giới hạn.
  • references/aspire-functions-secrets.md – Kiểm tra lưu trữ secret cho Aspire + Azure Functions.
  • references/recipes/README.md – Mục lục các recipe kiểm tra dành cho azd, azcli, Bicep và Terraform.

Hãy dùng chúng như các khối xây dựng thay vì sao chép toàn bộ workflow một cách máy móc.

Câu hỏi thường gặp (FAQ)

azure-validate có bắt buộc không, hay tôi có thể triển khai mà không dùng nó?

Kỹ năng này được thiết kế để chạy giữa azure-prepareazure-deploy. Về mặt kỹ thuật, bạn có thể triển khai mà không chạy azure-validate, nhưng hướng dẫn chính thức khuyến nghị xem đây là một cổng kiểm tra bắt buộc. Bỏ qua nó sẽ làm tăng rủi ro triển khai thất bại, bị chặn bởi policy hoặc phát sinh vấn đề về region/quyền truy cập.

Tôi có cần chạy azure-prepare trước không?

Có. azure-validate giả định rằng azure-prepare đã được gọi và .azure/plan.md tồn tại với trạng thái Approved hoặc cao hơn. Nếu file này bị thiếu hoặc chưa được phê duyệt, bạn nên dừng lại và chạy azure-prepare trước khi dùng azure-validate.

azure-validate hỗ trợ những công cụ hạ tầng nào?

azure-validate cung cấp recipe và hướng dẫn cho:

  • Azure Developer CLI (azd)
  • Azure CLI (azcli) với template Bicep
  • Hạ tầng dựa trên Bicep
  • Terraform

Bạn có thể chọn recipe phù hợp với stack của mình trong thư mục references/recipes/.

Tôi có thể dùng azure-validate với pipeline CI/CD không?

Có. Mặc dù được viết như một agent skill, các bước kiểm tra, hướng dẫn lỗi và kiểm tra policy/region hoàn toàn phù hợp với CI/CD. Bạn có thể phản chiếu các recipe và bước kiểm tra đó trong pipeline (ví dụ: GitHub Actions, Azure DevOps) để chỉ cho phép triển khai khi việc kiểm tra thành công.

azure-validate có tự ý thay đổi tài nguyên Azure của tôi không?

azure-validate tập trung vào kiểm tra và preflight. Hướng dẫn của kỹ năng nhấn mạnh rằng mọi thao tác phá hủy hoặc tác động lớn đều phải được người dùng xác nhận rõ ràng (thông qua ask_user và file global-rules). Trong cách dùng điển hình, bạn sử dụng kỹ năng này để xem xét, kiểm tra và lập kế hoạch – không phải để thực hiện các thay đổi không thể đảo ngược.

azure-validate hỗ trợ Azure Policy và quản trị (governance) như thế nào?

Kỹ năng này bao gồm references/policy-validation.md, trong đó cho thấy cách xem các policy của một subscription và kiểm tra việc tuân thủ policy trước khi triển khai. Khi làm theo hướng dẫn, bạn có thể phát hiện trước các loại tài nguyên, SKU, tag hoặc region không được phép và căn chỉnh kế hoạch triển khai với quy định của tổ chức.

Kỹ năng này xử lý các dịch vụ phụ thuộc region như Azure Static Web Apps hoặc Azure OpenAI ra sao?

references/region-availability.md liệt kê các dịch vụ có phạm vi region hạn chế và dẫn đến tài liệu chính thức của Azure cùng các MCP tool dùng để kiểm tra quota và khả dụng. azure-validate kỳ vọng bạn tham khảo tài liệu này và chỉ đề xuất hoặc sử dụng các region nơi tất cả dịch vụ cần thiết đều được hỗ trợ.

azure-validate có phù hợp với môi trường phát triển cục bộ không?

Có, miễn là bạn dự định triển khai lên Azure và dùng azure-prepare để tạo kế hoạch, bạn có thể chạy azure-validate cho các môi trường dev và test. Đây là cách tốt để phát hiện vấn đề sớm trước khi đẩy lên staging hoặc production.

Tôi nên bắt đầu từ đâu khi mới cài azure-validate?

Sau khi thêm kỹ năng, hãy bắt đầu với SKILL.md để hiểu quy tắc và trình tự, rồi xem references/recipes/README.md để chọn recipe tương ứng với công cụ hạ tầng bạn dùng (azd, azcli, Bicep, Terraform). Từ đó, hãy làm theo recipe phù hợp cùng với hướng dẫn về policy và region để tích hợp azure-validate vào quy trình làm việc của bạn.

Đánh giá & nhận xét

Chưa có đánh giá nào
Chia sẻ nhận xét của bạn
Đăng nhập để chấm điểm và để lại nhận xét cho skill này.
G
0/10000
Nhận xét mới nhất
Đang lưu...