피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Azure 구독 없이 로컬 에뮬레이터 기반 Terraform 인프라 검증 체계 구축
Running Terraform against Azure locally, without a subscription
AI 요약
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 전략 수립