Microsoft AZ-104: Azure 구독, 거버넌스 및 비용 관리 — 학습 가이드
다음의 일부입니다: Microsoft Azure Administrator Associate AZ-104 — 학습 가이드. 검증된 답안으로 연습하기: Microsoft 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.
개요
Azure 구독, 거버넌스, 비용 관리는 대규모 클라우드 리소스를 구성하고, 보호하고, 표준화하고, 비용을 지불하는 방법을 정의합니다. 견고한 설계는 조직 계층 구조(관리 그룹 및 구독)로 시작하여 최소 권한 액세스(RBAC)를 적용하고, 표준 및 규정 준수(Policy, Blueprints, 잠금, 태그)를 강제하며, 지출을 지속적으로 최적화(Cost Management 및 Advisor)합니다. Azure Resource Manager(ARM)는 배포, 그룹화, 수명 주기 작업을 뒷받침하여 루트 관리 그룹부터 개별 리소스에 이르기까지 표준과 제어가 일관되게 적용되도록 합니다.
조직 구조 및 액세스 제어
관리 그룹은 하나 이상의 구독을 단일 루트 관리 그룹 아래에 구성하기 위한 최상위 구조입니다. 조직이나 환경 경계(예: Corp > Prod/NonProd > Business Units)를 반영하기 위해 관리 그룹을 (루트를 제외하고) 최대 6단계 깊이까지 중첩할 수 있습니다. 관리 그룹에 적용된 RBAC 역할 할당과 Azure Policy 할당은 더 낮은 범위에서 명시적으로 재정의되지 않는 한 모든 자식 관리 그룹, 구독, 리소스 그룹, 리소스로 상속됩니다. 이러한 상속은 표준을 일관되게 적용하는 데 핵심적인 역할을 합니다. 예를 들어, Production 관리 그룹에 “공용 스토리지 거부” 정책을 적용하면 구독별 구성 없이 모든 프로덕션 구독에 적용됩니다.
구독은 청구 및 배포 격리 경계입니다. 일반적인 유형으로는 Pay-As-You-Go, Enterprise Agreement(EA), Microsoft Customer Agreement(MCA), CSP 및 Visual Studio 구독과 같은 크레딧 기반 오퍼가 있습니다. 구독은 지출, 할당량, RBAC 범위를 분리하며 요금 및 예산의 기본 단위입니다. 수명 주기 전환(예: 개발에서 프로덕션 테넌트로 이동, 조직 개편) 중에는 구독 간에 리소스를 이동해야 하는 경우가 많습니다. 리소스 이동 지원은 공급자 및 리소스에 따라 다릅니다. VM, 관리 디스크, 스토리지 계정, 가상 네트워크, 심지어 Recovery Services 자격 증명 모음과 같은 ARM 기반 리소스는 일반적으로 제약 조건 하에 이동할 수 있습니다. 필수 조건으로는 원본과 대상이 모두 동일한 Azure Active Directory 테넌트에 있어야 하고(테넌트 간 이동은 제한됨), 두 구독에 리소스 공급자가 등록되어 있어야 하며, 호환되는 지역/SKU가 있어야 하고, 차단하는 잠금/정책이 없어야 합니다. 이동 중 일부 리소스에서 일시적인 사용 불가 상태가 발생할 수 있으므로 상태 저장 서비스의 경우 유지 관리 기간을 계획해야 합니다. 클래식(ASM) 리소스는 이동할 수 없습니다. 항상 포털의 ‘이동’ 작업을 사용하거나 리소스 공급자 설명서를 통해 지원 여부를 확인하십시오.
Azure RBAC는 특정 범위에서의 역할 할당을 사용하여 세분화된 최소 권한 액세스를 제공합니다. 범위는 관리 그룹, 구독, 리소스 그룹 또는 개별 리소스가 될 수 있으며, 할당은 아래로 상속됩니다. 핵심 기본 제공 역할은 다음과 같습니다.
- Owner: 역할 할당을 포함한 모든 리소스에 대한 전체 액세스 권한.
- Contributor: 리소스에 대한 전체 생성/업데이트/삭제 권한. 단, 역할 할당 권한은 없음.
- Reader: 읽기 전용 액세스. 사용자 지정 역할을 사용하면 허용되는 Actions 및 DataActions를 지정하고 NotActions 및 NotDataActions를 제외할 수 있으며, 의도한 할당 범위 또는 그 이상에서 정의됩니다. 거부 할당(Blueprints와 같은 특정 서비스나 잠금에 의해 생성됨)은 허용 할당보다 우선 적용되어 의도치 않은 권한 상승을 방지합니다.
거버넌스, 규정 준수 및 리소스 가드레일
Azure Policy는 리소스 생성/업데이트 시점과 정기적인 규정 준수 검사를 통해 리소스 상태를 평가합니다. 정책 정의(policy definition)는 규칙(선택적 매개변수 포함)과 효과(effect)를 표현합니다. 관련 정의들을 이니셔티브(initiative)로 그룹화하여 대규모 할당을 단순화할 수 있습니다. 할당(Assignment)은 정의나 이니셔티브를 매개변수 값과 함께 범위(관리 그룹, 구독, 리소스 그룹 또는 리소스)에 연결하며, 특정 효과의 경우 수정을 위해 관리 ID(managed identity)를 사용합니다. 반드시 숙지해야 할 주요 효과:
- Deny: 규정을 준수하지 않는 생성/업데이트 작업을 요청 시점에 차단합니다.
- Audit: 작업은 허용하지만 보고를 위해 규정 미준수 사항을 기록합니다.
- DeployIfNotExists: 관련 리소스나 설정이 없는 경우, 템플릿 배포를 트리거하여 대상이 규정을 준수하도록 만듭니다(예: 진단 설정 또는 정책 할당 배포). 그 외 중요한 효과로는 Append(쓰기 시 태그와 같은 필드 추가)와 Modify(속성 패치)가 있습니다. 정책을 통해 허용된 위치, SKU 제약 조건, 필수 태그, 진단 설정, 암호화 표준 등을 강제할 수 있습니다. 예를 들어, Azure SQL Server 위치를 제한하면 승인된 지역이나 리소스 그룹에서만 배포가 이루어지도록 보장할 수 있습니다.
Azure Blueprints는 정책 할당, 역할 할당, ARM 템플릿, 리소스 그룹 선언과 같은 아티팩트(artifact)를 버전이 지정된 청사진(blueprint)으로 결합하여 코드형 거버넌스(governance-as-code)를 패키징합니다. 구독이나 관리 그룹에 청사진을 할당하여 환경을 일관되게 스탬핑(stamp)할 수 있습니다. 청사진 할당 시 DoNotDelete 또는 ReadOnly와 같은 모드로 아티팩트 수준 잠금을 적용하여 배포된 리소스가 의도치 않게 변경(drift)되는 것을 방지할 수 있습니다. Blueprints를 사용하여 필수 제어 및 기준 인프라를 갖춘 새 구독을 부트스트랩할 수 있습니다.
리소스 잠금(Resource lock)은 의도치 않은 수정을 방지하는 마지막 방어선 역할을 합니다. CanNotDelete를 적용하면 업데이트는 허용하면서 삭제를 방지하고, ReadOnly를 적용하면 쓰기 및 삭제 작업을 모두 차단합니다. 잠금은 상위 범위에서 상속되므로, 리소스 그룹에 대한 ReadOnly 잠금은 포함된 모든 리소스에 영향을 미칩니다(예: VM 중지/시작 작업은 쓰기 작업을 수행하므로 실패함). 잠금은 RBAC 권한보다 우선합니다. 즉, Owner라도 잠금을 먼저 제거하지 않으면 잠긴 리소스를 삭제할 수 없습니다.
태그(Tag)는 리소스 그룹과 리소스에 적용되는 키-값 쌍으로, 워크로드를 분류(부서, 환경, 비용 센터 등)하는 데 사용됩니다. 태그 상속은 자동으로 이루어지지 않습니다. 모든 리소스에 태그를 보장하려면 Azure Policy(Append/Modify)를 사용하여 생성/업데이트 시점에 리소스 그룹으로부터 태그를 강제하거나 상속받도록 해야 합니다. 태그는 Cost Management에서 태그 기반 비용 보고를 구동하여 부서별 비용을 정확하게 청구(charge back)할 수 있도록 합니다. 가상 머신과 같은 개별 리소스를 부서에 연결하려면 각 VM에 직접 태그를 적용합니다.
비용 관리 및 최적화
Azure Cost Management + Billing은 예산, 비용 분석, 내보내기, 경고 기능을 제공합니다. 예산은 범위(구독 또는 리소스 그룹)에서 정의되며, 리소스 그룹, 서비스 또는 태그별로 필터링할 수 있습니다. 임계값(예: 50%, 80%, 100%)을 구성하여 작업 그룹(action group)을 통해 경고를 보내고, 선택적으로 자동화(Logic App, Function)를 트리거하여 중요하지 않은 워크로드를 축소하거나 종료할 수 있습니다. 예산 자체는 지출을 강제하지 않습니다. 비용 분석을 사용하면 시간, 리소스, 미터, 리소스 그룹, 구독, 태그별로 피벗하여 비용 동인과 추세를 파악할 수 있으며, BI 도구에서 사용할 수 있도록 스토리지로의 정기적인 내보내기를 예약할 수 있습니다. 지출 한도는 크레딧 기반 구독(예: 무료 평가판, Visual Studio)에서 사용할 수 있으며, 한도에 도달하면 추가 요금을 방지하기 위해 구독이 비활성화 상태가 됩니다. 지출 한도는 Pay-As-You-Go 또는 대부분의 EA/MCA 구독에서는 지원되지 않으므로, 대신 예산과 자동화를 사용해야 합니다.
Azure Advisor는 리소스를 지속적으로 평가하여 비용, 보안, 안정성, 성능, 운영 우수성 전반에 걸쳐 실행 가능한 권장 사항을 생성합니다. 비용 권장 사항에는 활용도가 낮은 VM의 규모 조정/종료, 예약(reservation) 또는 절약 플랜(savings plan) 구매, 유휴 상태인 공용 IP 또는 디스크 제거 등이 포함됩니다. 안정성에는 가용성 집합/영역 및 백업 구성이 포함되고, 성능은 컴퓨팅/스토리지 최적화를 다루며, 보안은 Defender for Cloud와 통합되고, 운영 우수성은 모범 사례 구성을 강조합니다. Advisor Score를 사용하여 진행 상황을 추적하고, 권장 사항을 백로그에 통합하거나 적절한 경우 자동화된 수정을 구현합니다.
Azure Resource Manager를 사용한 배포 및 수명 주기
ARM은 Azure의 컨트롤 플레인으로, 선언적이고 멱등성 있는 배포와 일관된 관리를 가능하게 합니다. 리소스 그룹은 수명 주기 및 RBAC 경계를 위한 논리적 컨테이너입니다. 수명 주기, 권한, 위치 종속성을 공유하는 리소스를 그룹화합니다. 리소스 그룹 범위의 RBAC 및 정책 할당은 포함된 모든 리소스를 제어하며, 그룹 수준의 잠금 및 태그는 정책이나 리소스 수준 작업으로 재정의되지 않는 한 상속됩니다.
ARM 템플릿(그리고 상위 수준 언어인 Bicep)은 리소스, 매개 변수, 변수, 출력 및 종속성을 정의합니다. 이를 통해 반복 가능한 배포가 가능하며 거버넌스 아티팩트(예: 정책, 역할 할당)와 워크로드가 함께 적용되도록 보장합니다. 템플릿 사양(template specs)을 사용하여 조직 전체에서 템플릿을 버전 관리하고 공유하세요. 배포 모드는 중요합니다:
- 증분(Incremental): 템플릿에 있는 리소스를 생성/업데이트합니다. 템플릿에 없는 기존 리소스는 제거하지 않습니다.
- 전체(Complete): 배포 후 템플릿에 정의되지 않은 대상 범위의 리소스를 삭제합니다. 리소스 그룹 내에서 엄격한 의도된 상태(desired state)를 강제할 때 주의해서 사용해야 합니다. 배포 기록은 리소스 그룹, 구독 또는 관리 그룹별로 범위가 지정됩니다. 단일 템플릿으로 여러 리소스가 배포될 때, 변경 사항을 감사하고 문제를 해결하려면 대상 범위(일반적으로 리소스 그룹)의 배포(Deployment) 블레이드에서 배포 및 해당 템플릿을 확인합니다.
실용적인 문제 시나리오
Starbucks가 한 지역 체인을 인수하여 세 개의 새로운 구독을 온보딩해야 합니다. 이 과정에서 전사적 보안 정책을 적용하고, 부서 수준의 비용 청구를 활성화하며, 여러 공유 서비스를 서비스 중단 없이 통합된 ‘Corp-IT’ 구독으로 마이그레이션해야 합니다.
- 관리 그룹 계층 구조 구축
- 작업: 루트에 정렬된 계층 구조 Starbucks > Prod/NonProd > BusinessUnits (Retail, SupplyChain, CorpIT)를 생성합니다.
- 이유: 관리 그룹은 계층적 RBAC 및 정책 상속을 제공하여 전사적 제어(예: 보안 기준)가 모든 새 구독에 자동으로 적용되도록 합니다.
- RBAC로 기준 액세스 설정
- 작업: BusinessUnits 수준에서 감사(Audit) 팀에 Reader 역할을, CorpIT의 중앙 플랫폼 팀에 Owner 역할을, 위임된 BU 관리자에게는 각자의 범위에서 Contributor 역할을 할당합니다. Microsoft.Resources/tags/write 권한을 허용하는 사용자 지정 ‘Tag-Editor’ 역할을 생성합니다.
- 이유: 올바른 범위에서 최소 권한 원칙을 적용하면 BU의 자율성을 보장하면서도 과도한 권한 부여를 방지할 수 있습니다. 사용자 지정 역할을 사용하면 태그 유지 관리를 위해 전체 쓰기 권한을 부여하는 것을 피할 수 있습니다.
- Policy 및 Blueprints를 사용한 거버넌스 강제
- 작업: 허용된 위치, 필수 태그(CostCenter, Department, Environment), 주요 서비스의 진단 설정, 스토리지에 대한 ‘공용 액세스 거부’ 정책을 포함하는 이니셔티브(initiative)를 작성합니다. 이를 아티팩트와 함께 Azure Blueprint로 패키징합니다. 아티팩트에는 이니셔티브 할당, RBAC 역할 할당, 공유 Log Analytics 작업 영역 및 DDoS 계획을 위한 ARM 템플릿, 표준 리소스 그룹 레이아웃이 포함됩니다. 기준 리소스에 DoNotDelete 잠금을 설정하여 각 새 구독에 이 블루프린트를 할당합니다.
- 이유: Blueprints는 버전 관리되고 반복 가능한 랜딩 존을 제공하며, 잠금을 통해 우발적인 삭제를 방지합니다. Policy는 모든 리소스가 생성 시 규정을 준수하도록 보장하고 DeployIfNotExists를 통해 구성 드리프트(drift)를 수정합니다.
- 태그 적용 및 상속 보장
- 작업: Modify 정책을 사용하여 리소스 그룹에서 태그를 상속하고, Append 정책을 사용하여 리소스 생성/업데이트 시 누락된 태그를 추가합니다. Starbucks의 재무 시스템에 매핑되는 CostCenter 값을 요구합니다.
- 이유: 기본 상속은 자동으로 이루어지지 않습니다. Policy는 모든 리소스가 태그 기반 비용 보고에 필요한 메타데이터를 갖도록 보장합니다.
- 비용 관리 및 경고 설정
- 작업: 각 구독 및 주요 리소스 그룹 범위에 예산을 생성하고, 필요한 경우 태그로 필터링합니다. 50/80/100% 도달 시 경고를 설정하여 BU 책임자에게 알리고 선택적으로 개발/테스트 리소스를 축소하는 Logic App을 트리거하는 작업 그룹(action group)에 연결합니다. 태그별 비용 분석(Cost Analysis) 대시보드를 구성하고 매일 스토리지로 데이터를 내보냅니다.
- 이유: 예산과 경고는 조기 경보를 제공하고 거의 실시간으로 수정 조치를 트리거합니다. 태그 피벗은 정확한 비용 청구(chargeback)를 가능하게 합니다.
- 구독 간 공유 서비스를 안전하게 마이그레이션
- 작업: 대상 리소스(VMs, 관리 디스크, VNets, 스토리지, Recovery Services vaults)의 이동 지원 여부를 확인합니다. 차단 잠금을 제거하고, 원본/대상에 리소스 공급자가 등록되었는지 확인하며, 지역/SKU 호환성을 확인하고, 유지 관리 기간을 예약합니다. 리소스 그룹 범위에서 이동(Move) 작업을 사용하여 Corp-IT 구독으로 이동합니다. 이동 후 진단 및 정책을 다시 확인합니다.
- 이유: 리소스 그룹 경계에서 이동하면 종속성이 유지되고 다운타임이 최소화됩니다. 사전 점검을 통해 정책 또는 공급자 불일치로 인한 이동 실패를 방지할 수 있습니다.
- 잠금으로 중요 리소스 보호
- 작업: 기본 네트워킹 및 모니터링 리소스에 CanNotDelete를 적용하고, 골든 이미지 리소스 그룹에 ReadOnly를 적용합니다.
- 이유: 잠금은 RBAC를 재정의하여 다른 곳에서는 정상적인 작업을 허용하면서 기준 자산의 우발적인 삭제나 변경을 방지합니다.
- Advisor로 지속적인 최적화
- 작업: 매주 Advisor 권장 사항을 검토합니다. 비용 권장 사항을 수락하여 활용도가 낮은 VM의 크기를 조정하고 안정적인 워크로드에 대한 예약을 구매합니다. Advisor Score로 진행 상황을 추적합니다.
- 이유: Advisor는 비용, 보안, 안정성, 성능 및 운영 우수성에 걸쳐 지속적인 최적화를 운영에 반영하여, 초기 배포 이후에도 거버넌스를 유지합니다.
← Azure Active Directory 및 ID 관리 · 모든 도메인 · Azure 가상 머신 및 컴퓨팅 →
이 문제 연습하기 → · ExamRoll.io에서 시간 제한 연습 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
시험 합격하기 →