피드로 돌아가기
Running Terraform against Azure locally, without a subscription
Dev.toDev.to
Infrastructure

Azure 구독 없이 로컬 에뮬레이터 기반 Terraform 인프라 검증 체계 구축

Running Terraform against Azure locally, without a subscription

Kamil Mrzygłód2026년 4월 14일5intermediate

Context

Azure 구독 및 권한 설정으로 인한 느린 피드백 루프와 설정 오류 시 발생하는 실환경 리소스 훼손 위험 존재. CI/CD 파이프라인 내 자격 증명 관리 부담 및 클라우드 비용 발생이라는 제약 사항 직면.

Technical Solution

  • AzureRM Provider의 Endpoint Discovery 메커니즘을 이용한 API 요청 경로 리다이렉션 설계
  • metadata_host 설정을 통한 ARM 메타데이터 엔드포인트를 Topaz 로컬 포트로 변경하여 가상 API 호출 유도
  • resource_provider_registrations = "none" 설정을 통해 로컬 환경에서 불필요한 리소스 제공자 등록 프로세스 생략
  • dnsmasq 기반의 Wildcard DNS 설정을 통한 Container Registry 등 하위 도메인 기반 서비스의 로컬 해석 구현
  • Local Entra ID 에뮬레이션 레이어와 Azure CLI 연동을 통한 OAuth2 기반 인증 흐름 모사
  • 고정된 Subscription ID 할당으로 로컬과 CI 환경 간의 상태 일관성 유지 및 Drift 방지

1. AzureRM Provider 설정 시 metadata_host를 통해 API 경로 제어 가능 여부 확인

2. 로컬 개발 환경의 DNS 설정을 통한 클라우드 서비스 도메인 매핑 검토

3. CI 파이프라인 내 서비스 컨테이너 형태로 에뮬레이터를 배치하여 비용 및 권한 문제 해결 방안 적용

4. 에뮬레이터의 API Coverage 범위를 확인하여 지원하지 않는 리소스에 대한 Fallback 전략 수립

원문 읽기