azure-validate
작성자 microsoftazure-validate는 Azure 배포 이전에 실행하는 사전 검증(pre-deployment validation) 스킬입니다. 실제 배포를 실행하기 전에 구성, IaC(Bicep 또는 Terraform), Azure Developer CLI (azd) 프로젝트, 권한, 리전, 정책 등을 점검해 문제를 미리 찾아냅니다.
개요
azure-validate란 무엇인가요?
azure-validate는 Azure 애플리케이션과 인프라를 실제 배포하기 전에 깊이 있는 사전 점검(preflight check)을 수행하도록 설계된 배포 검증 스킬입니다. azure-prepare가 생성한 승인된 배포 계획을 읽어들인 후, 구성, IaC(Bicep 또는 Terraform), Azure Developer CLI (azd) 워크플로, Azure CLI (azcli) 스크립트, 정책, 리전, 필요한 권한을 검증합니다.
이 스킬은 워크플로 상으로는 배포 단계에 속하지만, Azure 환경을 위한 자동화된 테스트 스위트처럼 동작합니다. 배포 계획이 안전하게 실행될 수 있는지, 애플리케이션이 실제로 배포 준비가 되었는지 확인하는 데 도움을 줍니다.
언제 이 스킬을 사용해야 하나요?
다음과 같은 경우 azure-validate를 사용하세요.
- 앱과 인프라가 배포 준비가 되었는지 확인하고 싶을 때
azure.yaml또는 Bicep 템플릿을azd provision또는azd deploy실행 전 검증할 때- Terraform 또는 순수 Azure CLI 스크립트에 대해 사전 배포 점검을 수행할 때
- Azure 구독, 리전, 쿼터 선택이 적절한지 확인할 때
- 계획된 리소스가 Azure Policy를 준수하는지 검증할 때
- 흔히 발생하는 Azure CLI 및 IaC 검증 오류를 미리 잡고 싶을 때
- CI/CD 파이프라인에서 반복되는 배포 실패를 분석하고 해결하고 싶을 때
가장 잘 맞는 순서는 다음과 같습니다.
azure-prepare → azure-validate → azure-deploy
azure-validate는 어떤 사용자를 위한 스킬인가요?
azure-validate는 다음과 같은 사용자를 대상으로 합니다.
- Azure 위에서 애플리케이션을 개발하는 백엔드 및 클라우드 개발자
- 안정적인 배포를 책임지는 DevOps 및 플랫폼 엔지니어
- 인프라 도구로 Bicep, Terraform, azd 또는 azcli를 표준으로 사용하는 팀
- 일관된 자동 사전 배포 점검이 필요한 CI/CD 담당자
여러 환경(dev/test/prod 등)에 배포를 자주 수행하거나, 조직 전체 정책 및 리전 규정을 준수해야 하는 경우, 이 스킬은 반복 가능한 검증 레이어를 제공합니다.
어떤 문제를 해결해 주나요?
azure-validate는 다음과 같은 이슈를 사전에 잡아 실패하거나 부분적으로만 성공하는 배포를 줄이는 데 도움을 줍니다.
azure.yaml또는 IaC 파일의 누락되었거나 잘못된 구성- 특정 서비스에 대해 잘못 설정되었거나 지원되지 않는 Azure 리전 사용
- 배포를 차단하는 Azure Policy 위반 사항
- 인증 및 권한 문제(예: 필요한 역할 누락)
- Bicep 및 템플릿에서 자주 발생하는 Azure CLI 검증 오류
- azd, azcli, Bicep, Terraform 사이에서 인프라 정의가 서로 맞지 않는 문제
이러한 문제를 프로덕션이나 파이프라인 후반부에서 발견하는 대신, 검증 단계에서 명확한 참조 자료와 수정 레시피와 함께 surfaced 하도록 도와줍니다.
azure-validate가 적합하지 않은 경우는 언제인가요?
이 스킬은 다음 용도로는 설계되지 않았습니다.
- 비-Azure 배포(다른 클라우드 또는 온프레미스 전용 환경)
- 배포 이후 모니터링, 헬스 체크, 관측(Observability)
- 애플리케이션 레벨 테스트(단위 테스트, 통합 테스트, UI 테스트)
azure-prepare가 생성한 배포 계획 없이 진행되는 단발성 수동 배포
IaC나 구조화된 계획 파일(예: azure-prepare가 생성한 .azure/plan.md)을 사용하지 않는 경우 azure-validate의 이점을 충분히 누리기 어렵습니다.
사용 방법
1. 설치 및 초기 설정
스킬 목록에 azure-validate 추가하기
microsoft/azure-skills 리포지토리에서 스킬을 설치합니다.
npx skills add https://github.com/microsoft/azure-skills --skill azure-validate
이렇게 하면 azure-validate 워크플로를 에이전트 또는 도구 환경에서 사용할 수 있게 됩니다.
필수 워크플로 순서
azure-validate를 실행하기 전에 다음 조건을 만족해야 합니다.
azure-prepare가 성공적으로 실행되었고,- 상태가
Approved이상인.azure/plan.md파일이 존재할 것
지원되는 워크플로 순서는 다음과 같이 엄격합니다.
azure-prepare → azure-validate → azure-deploy
.azure/plan.md가 없거나 승인되지 않은 상태라면, 진행을 멈추고 먼저 azure-prepare를 실행해야 합니다.
2. 핵심 트리거와 규칙 이해하기
주요 트리거
다음이 필요할 때 azure-validate를 사용하세요.
- 앱이 배포 준비가 되었는지 확인해야 할 때
azure.yaml또는 Bicep 템플릿을 검증해야 할 때- 리소스를 프로비저닝하기 전 사전 점검을 수행할 때
- IaC 또는 CLI 단계에서 발생하는 Azure 배포 오류를 트러블슈팅할 때
꼭 지켜야 할 핵심 규칙
스킬 가이드와 공유 global-rules 참조에 따른 규칙은 다음과 같습니다.
- azure-validate는 반드시
azure-prepare실행 이후, 실제 배포 전에만 실행합니다. - 검증 실패는 차단(blocking) 이슈로 간주합니다. 문제가 해결되기 전에는
azure-deploy로 진행하지 마세요. - 삭제, 덮어쓰기, 큰 비용 또는 보안 영향이 있는 작업처럼 파괴적이거나 영향이 큰 작업은 항상
references/global-rules.md에 설명된 대로ask_user를 사용해 사용자에게 명시적으로 확인을 받아야 합니다. - Azure 구독이나 리전을 임의로 가정하지 마세요. 관련된 경우 반드시 사용자에게 확인을 받아야 합니다.
3. 인프라 유형별 검증 레시피 활용하기
이 스킬에는 다양한 인프라 접근 방식에 맞춘 검증 레시피가 references/recipes/ 아래에 포함되어 있습니다.
Azure Developer CLI (azd) 프로젝트용
- 먼저
references/recipes/azd/README.md를 확인하세요. - 환경 구성을 검증할 때는
references/recipes/azd/environment.md를 사용합니다. - 일반적인
azd검증 및 배포 오류를 해석하고 해결할 때는references/recipes/azd/errors.md를 참고하세요. - .NET Aspire 기반 프로젝트의 경우, 추가 점검 항목은
references/recipes/azd/aspire.md에서 확인합니다.
이 가이드를 활용하면 azure.yaml, 애플리케이션 연결 구성, 환경 설정이 azd 프로비저닝 전에 유효한지 검증할 수 있습니다.
Azure CLI (azcli) + Bicep 워크플로용
- 전체 AZCLI 검증 체크리스트는
references/recipes/azcli/README.md에서 시작하세요. 여기에는 다음이 포함됩니다.- Azure CLI 설치 여부 확인 (
az version) - 로그인 및 구독 설정
- Bicep 컴파일 (
az bicep build) - 템플릿 검증 및 what-if 프리뷰 실행
- Azure CLI 설치 여부 확인 (
- 자주 발생하는
az오류 메시지(토큰 문제, MFA, 권한 문제, 템플릿 검증 실패 등)에 대한 빠른 해결책은references/recipes/azcli/errors.md에서 확인할 수 있습니다.
이 조합을 통해 Azure CLI 기반의 Bicep 배포를 단계별로 검증하는 구체적인 절차를 마련할 수 있습니다.
Bicep 중심 인프라용
- Bicep 전용 검증 워크플로는
references/recipes/bicep/README.md를 확인하세요. - 일반적인 Bicep 검증 문제와 해결 방법은
references/recipes/bicep/errors.md에 정리되어 있습니다.
이 검증을 로컬 워크플로나 CI 파이프라인에 통합하면, 전체 배포를 실행하기 전에 템플릿과 파라미터가 유효한지 미리 보장할 수 있습니다.
Terraform 기반 배포용
- Terraform 계획 및 apply 단계와 azure-validate를 맞추는 방법은
references/recipes/terraform/README.md를 참고하세요. - 대표적인 Terraform 검증 오류와 Azure 권한 관련 오류 및 해결책은
references/recipes/terraform/errors.md에 정리되어 있습니다.
이 레시피들은 어떤 환경에서든 terraform apply를 실행하기 전에 Terraform 인프라와 Azure 계정 구성이 올바르게 준비되었는지 검증하는 데 도움을 줍니다.
4. 정책, 리전, 쿼터 준비 상태 검증하기
Azure Policy 검증
계획된 배포가 해당 구독에 할당된 Azure Policy를 준수하는지 확인하려면 references/policy-validation.md를 가이드로 사용하세요.
일반적인 흐름은 다음과 같습니다.
-
현재 구독 ID를 가져옵니다.
az account show --query id -o tsv -
참조 문서에 나온 대로 Azure policy MCP 통합을 사용해 해당 구독의 정책을 나열하고 검토합니다.
-
정책 위반(허용되지 않는 SKU, 태그 누락, 제한된 리소스 타입, 위치 제한, 네트워크 보안 규칙 등)을 해결한 후 다음 단계로 진행합니다.
정책 준수 여부가 확인된 뒤에만 배포를 계속 진행해야 합니다.
리전 가용성과 쿼터 점검
아키텍처에 포함된 모든 서비스가 요청한 리전에서 지원되는지, 그리고 쿼터가 충분한지 교차 확인하려면 references/region-availability.md를 사용하세요.
다음과 같이 리전 제한이 있는 서비스에는 특히 중요합니다.
- Azure Static Web Apps
- Azure OpenAI (모델별로 리전 지원이 다를 수 있음)
참조 문서에 안내된 MCP 도구(쿼터 및 리전 가용성 확인용)를 활용해, 지원되지 않는 리전이나 부족한 용량으로 인해 배포가 실패하는 일을 방지하세요.
5. 앱 및 함수 검증 예시
Aspire + Azure Functions 시크릿 저장소
.NET Aspire와 Azure Functions를 함께 사용하는 경우 references/aspire-functions-secrets.md를 참고하세요.
- 앱 호스트에 identity 기반 스토리지를 사용하는
AddAzureFunctionsProject가 포함되어 있는지 확인합니다. AzureWebJobsSecretStorageType이 올바르게 구성되어 있는지 확인합니다.- 안내에 따라
.WithEnvironment("AzureWebJobsSecretStorageType", "Files")를 포함한 권장 수정 사항을 프로비저닝 전에 반영합니다.
이 검증 단계를 azd provision 이전에 수행하면, 서버리스 배포를 막는 Functions 시크릿 저장소 관련 일반적인 문제를 예방할 수 있습니다.
6. CI/CD 파이프라인에서 azure-validate 사용하기
azure-validate는 에이전트 스킬로 작성되었지만, 그 단계와 참조 자료는 자동화된 파이프라인에 그대로 매핑하기 좋습니다.
- 레시피를 파이프라인 단계로 활용하세요(예: 배포 작업 전에 Bicep 검증 및 what-if 실행).
- 레시피 또는 정책 점검에서 발생한 모든 검증 오류에 대해 파이프라인을 실패 처리합니다.
- 개발자가 문제를 해결할 수 있도록 파이프라인 로그에
references/*파일의 링크나 관련 스니펫을 노출하세요.
이렇게 하면 azure-validate를 모든 환경에 공통으로 적용되는 사전 배포 게이트로 활용할 수 있습니다.
7. 더 깊은 커스터마이징을 위해 살펴볼 파일
azure-validate를 워크플로에 맞게 조정하려면 리포지토리의 다음 핵심 파일을 확인하세요.
SKILL.md– 이 스킬에 대한 공식 지침, 트리거, 규칙, 단계 순서가 정리되어 있습니다.references/global-rules.md– 파괴적 작업, 구독 및 리전 처리에 대한 필수 글로벌 규칙입니다.references/policy-validation.md– 자세한 정책 검증 사용법입니다.references/region-availability.md– 리전 제약이 있는 서비스에 대한 리전 및 쿼터 가이드입니다.references/aspire-functions-secrets.md– Aspire + Azure Functions 시크릿 저장소 검증 가이드입니다.references/recipes/README.md– azd, azcli, Bicep, Terraform 검증 레시피 인덱스입니다.
전체 워크플로를 그대로 복사하기보다, 이 파일들을 빌딩 블록으로 활용해 자신에게 맞는 흐름을 구성하는 것이 좋습니다.
FAQ
azure-validate는 반드시 사용해야 하나요? 없이도 배포할 수 있나요?
이 스킬은 azure-prepare와 azure-deploy 사이에서 실행되도록 설계되었습니다. 기술적으로는 azure-validate를 실행하지 않고도 배포할 수 있지만, 공식 가이드에서는 필수 게이트로 간주할 것을 권장합니다. 이 단계를 건너뛰면 배포 실패, 정책 차단, 리전/권한 관련 문제 발생 위험이 커집니다.
azure-validate를 사용하기 전에 반드시 azure-prepare를 실행해야 하나요?
네. azure-validate는 azure-prepare가 이미 실행되었고, 상태가 Approved 이상인 .azure/plan.md 파일이 존재한다는 가정을 전제로 합니다. 해당 파일이 없거나 승인되지 않았다면, azure-validate를 사용하기 전에 반드시 azure-prepare를 먼저 실행해야 합니다.
azure-validate는 어떤 인프라 도구를 지원하나요?
azure-validate는 다음 도구에 대한 레시피와 가이드를 제공합니다.
- Azure Developer CLI (azd)
- Bicep 템플릿을 사용하는 Azure CLI (azcli)
- Bicep 기반 인프라
- Terraform
references/recipes/ 아래에서 사용 중인 스택에 맞는 레시피를 선택해서 사용할 수 있습니다.
CI/CD 파이프라인에서도 azure-validate를 사용할 수 있나요?
예. 비록 에이전트 스킬로 작성되었지만, 검증 단계, 오류 가이드, 정책/리전 점검은 CI/CD에 적합합니다. GitHub Actions, Azure DevOps 등 파이프라인에서 레시피와 점검 항목을 그대로 반영하여, 검증이 성공했을 때만 배포가 진행되도록 구성할 수 있습니다.
azure-validate가 Azure 리소스를 직접 변경하나요?
azure-validate는 검증과 사전 점검에 초점을 맞추고 있습니다. 가이드에서는 파괴적이거나 영향이 큰 작업은 항상 ask_user와 global-rules 파일을 통해 사용자에게 명시적으로 확인을 받도록 강조합니다. 일반적인 사용 시나리오에서는 리소스를 되돌릴 수 없는 방식으로 변경하기보다, 검토·검증·계획에 중점을 둡니다.
azure-validate는 Azure Policy 및 거버넌스에 어떻게 도움이 되나요?
이 스킬에는 구독의 정책을 조회하고, 배포 전에 정책 준수 여부를 검토하는 방법을 보여주는 references/policy-validation.md가 포함되어 있습니다. 이 가이드를 따르면 허용되지 않는 리소스 타입, SKU, 태그, 리전 등을 미리 감지하여, 조직의 거버넌스 규칙에 맞는 배포 계획을 수립할 수 있습니다.
Azure Static Web Apps, Azure OpenAI처럼 리전별 제약이 있는 서비스는 어떻게 처리하나요?
references/region-availability.md에는 리전 지원이 제한된 서비스 목록과, 쿼터 및 가용성을 확인할 수 있는 공식 Azure 문서와 MCP 도구 링크가 제공됩니다. azure-validate는 이 참조를 확인해 필요한 모든 서비스가 지원되는 리전만 제안하거나 사용하도록 할 것을 전제로 합니다.
azure-validate는 로컬 개발 환경에도 적합한가요?
네. 최종적으로 Azure에 배포할 계획이고, azure-prepare로 배포 계획을 생성한다면 dev·test 환경에 대해서도 azure-validate를 실행할 수 있습니다. 이렇게 하면 스테이징이나 프로덕션으로 승급하기 전에 문제를 미리 발견하고 해결할 수 있습니다.
처음 azure-validate를 설치할 때 무엇부터 시작해야 하나요?
스킬을 추가한 후, 먼저 SKILL.md를 읽어 규칙과 전체 흐름을 이해하세요. 그 다음 references/recipes/README.md를 살펴보고, 사용 중인 인프라 도구(azd, azcli, Bicep, Terraform)에 맞는 레시피를 선택합니다. 이후 해당 레시피와 정책·리전 가이드를 함께 따라가면서 azure-validate를 워크플로에 통합하면 됩니다.
