AZ-104 거버넌스 계층과 비용 관리: 관리 그룹·Azure Policy·잠금·태그·예산

관리 그룹 → 구독 → 리소스 그룹 → 리소스 계층에서 무엇이 상속되고 무엇이 안 되는지, Azure Policy 효과와 수정 작업, 리소스 잠금의 동작과 ReadOnly 부작용, 태그 상속, 예산·작업 그룹·Azure Advisor로 비용을 관리하는 방법을 정리했습니다.

AZ-104 도메인 1(20~25%)의 "Azure 구독 및 거버넌스 관리" 항목에는 Azure Policy, 리소스 잠금, 태그, 리소스 그룹, 구독, 관리 그룹, 그리고 "경고·예산·Azure Advisor 권장 사항으로 비용 관리"가 한꺼번에 들어 있습니다. 문제은행에서도 이 영역이 20문항 넘게 나오는데, 정답을 가르는 것은 대부분 "이 설정이 아래 범위로 상속되는가", "이미 있는 리소스에도 적용되는가", "Owner도 막히는가" 같은 동작 규칙입니다.

이 글은 관리 그룹부터 리소스까지 이어지는 거버넌스 계층을 먼저 그리고, 그 위에서 Azure Policy, 리소스 잠금, 태그가 각각 어떻게 동작하는지 정리합니다. 마지막으로 예산, 비용 경고, Azure Advisor로 비용을 관리하는 방법을 다룹니다. 사람이 할 수 있는 일을 정하는 RBAC는 AZ-104 RBAC 역할 할당 해석하기에서, Policy와 잠금의 기본 개념은 ID와 거버넌스에서 먼저 다뤘습니다.

---

 

거버넌스 계층: 관리 그룹부터 리소스까지

회사는 본사 아래에 본부를, 본부 아래에 팀을, 팀 아래에 직원을 둡니다. 본사가 정한 규정은 모든 본부와 팀에 적용됩니다. Azure도 관리 그룹 → 구독 → 리소스 그룹 → 리소스의 네 단계로 리소스를 묶고, 위에서 건 설정을 아래로 내려보냅니다.

| 단계 | 역할 | 기억할 점 | |------|------|------| | 관리 그룹 | 여러 구독을 묶어 정책과 역할을 한 번에 적용 | 디렉터리당 최대 10,000개, 트리 깊이 최대 6단계, 맨 위에 루트 관리 그룹 | | 구독 | 청구와 액세스의 경계 | 관리 그룹 하나에만 속함, 다른 Entra 테넌트로 이전하면 역할 할당이 모두 삭제됨 | | 리소스 그룹 | 수명 주기를 함께하는 리소스의 논리적 묶음 | 리소스는 한 그룹에만 속함, 중첩 불가, 그룹을 지우면 안의 리소스도 삭제 | | 리소스 | VM, 스토리지 계정, VNet 같은 실제 서비스 | 리소스 그룹과 다른 지역에 있어도 됨 |

모든 관리 그룹과 구독은 부모를 하나만 가질 수 있습니다. 구독을 다른 관리 그룹으로 옮기면 그 구독에는 새 부모의 정책과 역할 할당이 적용되고, 이전 부모에서 받던 것은 사라집니다.

!거버넌스 계층에서 RBAC·Policy·잠금은 상속되고 태그는 상속되지 않는다

시험 팁: "여러 구독에 같은 정책을 한 번에 적용"은 관리 그룹에 정책을 할당하는 것이 정답입니다. "구독을 다른 테넌트로 이전한 뒤 사용자가 리소스에 접근하지 못한다"는 이전 과정에서 역할 할당이 영구 삭제되었기 때문이므로 새 테넌트에서 다시 할당해야 합니다.

---

 

Azure Policy: 리소스가 지켜야 할 규칙

RBAC가 "누가 무엇을 할 수 있나"를 정한다면, Azure Policy는 "리소스가 어떤 모습이어야 하나"를 정합니다. Owner라도 정책을 어기는 리소스는 만들 수 없게 막을 수 있습니다.

| 구성 요소 | 의미 | |------|------| | 정책 정의 | 규칙 하나 (조건 + 효과) | | 이니셔티브 | 여러 정책 정의를 묶은 세트 | | 할당 | 정의나 이니셔티브를 특정 범위에 적용, 하위 범위 제외 가능 | | 면제 | 특정 리소스를 평가 대상에서 빼되 기록은 남김 |

정책이 조건에 맞는 리소스를 만났을 때 무엇을 할지는 효과(effect)가 정합니다.

| 효과 | 동작 | 문제 속 단서 | |------|------|------| | Deny | 규칙을 어기는 생성·수정 요청을 거부 | "허용된 지역에만 만들 수 있게" | | Audit | 허용하되 비준수로 기록 | "막지 말고 보고만" | | Append | 생성·수정 시 필드를 추가 | "요청에 설정 값을 덧붙임" | | Modify | 태그 같은 속성을 추가·변경·제거, 기존 리소스는 수정 작업으로 교정 | "태그가 없으면 자동으로 붙임" | | DeployIfNotExists | 관련 리소스가 없으면 배포 | "진단 설정이 없으면 자동 배포" | | AuditIfNotExists | 관련 리소스가 없으면 비준수로 기록 | "확장이 없는 VM을 보고" | | DenyAction | 특정 작업(예: 삭제)을 차단 | "중요 리소스 삭제 차단" | | Disabled | 정책을 끈 상태 | 할당은 두고 잠시 끄기 |

정책은 리소스를 만들거나 수정할 때, 할당을 만들 때 평가되고, 그 뒤에는 24시간마다 다시 평가됩니다. Deny 정책을 새로 할당해도 이미 있는 리소스가 지워지거나 바뀌지는 않고 비준수로만 표시됩니다. 기존 리소스를 고치려면 DeployIfNotExists나 Modify 효과의 수정(remediation) 작업을 실행해야 하며, 이때 정책 할당의 관리 ID가 필요한 역할을 갖고 있어야 합니다.

시험 팁: "기존의 비준수 리소스에도 태그를 붙여라"는 Modify 정책 할당 후 수정 작업 실행입니다. Deny 정책만 할당하는 보기는 앞으로 만들 리소스만 막습니다.

---

 

리소스 잠금: 실수로 지우는 것을 막는다

리소스 잠금은 금고의 이중 잠금 장치와 같습니다. 권한이 있는 사람이라도 잠금을 먼저 풀어야 삭제하거나 수정할 수 있습니다.

| 잠금 | 포털 이름 | 막는 것 | |------|------|------| | CanNotDelete | 삭제 | 삭제만 막고 읽기·수정은 허용 | | ReadOnly | 읽기 전용 | 삭제와 수정을 모두 막음 (모든 사용자를 Reader 수준으로 제한하는 것과 비슷) |

상위 범위에 건 잠금은 아래의 모든 리소스가 상속하고, 나중에 추가한 리소스에도 적용 상속 체인에서 가장 제한적인 잠금이 우선 잠금은 Owner를 포함한 모든 사용자에게 적용되며, 잠금을 만들거나 지우려면 Owner나 User Access Administrator 같은 Microsoft.Authorization/locks 권한이 필요 잠금은 관리 영역(Azure Resource Manager) 작업에만 적용되고 데이터 영역 작업은 막지 않음 리소스 하나에 삭제 잠금이 있으면 그 리소스 그룹 전체 삭제가 실패 (일부만 삭제되지 않음)

ReadOnly 잠금은 예상하지 못한 작업까지 막습니다. ARM에 POST 요청을 보내는 작업이 차단되기 때문입니다.

| ReadOnly 잠금 위치 | 막히는 작업 | |------|------| | 스토리지 계정 | 계정 키 나열 (사용자는 Entra 자격 증명으로 데이터에 접근해야 함) | | VM이 들어 있는 리소스 그룹 | VM 시작과 다시 시작 | | 스토리지 계정 | 관리 영역을 통한 Blob 컨테이너 생성 (데이터 영역 생성은 가능) |

시험 팁: "Owner가 리소스를 지우지 못한다"면 잠금을 의심하세요. "리소스 그룹의 VM을 시작할 수 없다"는 리소스 그룹에 걸린 ReadOnly 잠금 때문입니다.

---

 

태그: 비용과 소유자를 추적하는 이름표

태그는 리소스에 붙이는 이름-값 쌍(예: CostCenter = 1001, Environment = Prod)입니다. 비용 분석에서 태그별로 비용을 묶어 보고, 소유자나 환경을 찾는 데 씁니다.

리소스, 리소스 그룹, 구독마다 최대 50개의 태그 쌍 리소스 그룹이나 구독에 붙인 태그는 안의 리소스로 상속되지 않음 상속이 필요하면 "리소스 그룹에서 태그 상속" 같은 Modify 효과의 기본 제공 정책을 할당 Tag Contributor 역할은 리소스 자체에는 접근하지 않고 태그만 관리

시험 팁: "리소스 그룹에 Department 태그를 붙였는데 안의 VM에는 보이지 않는다"는 정상 동작입니다. 해결책은 태그 상속 정책과 수정 작업입니다.

---

 

비용 관리: 예산, 경고, Azure Advisor

예산은 가계부의 월 지출 한도와 같습니다. 한도에 다가가면 알려 주지만, 카드를 자동으로 정지시키지는 않습니다.

| 도구 | 하는 일 | 기억할 점 | |------|------|------| | 예산 | 월·분기·연 단위로 금액을 정하고 실제 비용과 예상 비용 임계값에서 경고 | 리소스를 멈추지 않음, 24시간마다 평가, 기간이 끝나면 자동 초기화 | | 작업 그룹 연결 | 예산 임계값에 도달하면 이메일, 푸시, Logic App, Automation Runbook 등 실행 | 구독과 리소스 그룹 범위의 예산에서만 지원 | | 비용 경고 | 예산 경고, 크레딧 경고, 부서 지출 할당량 경고, 이상 경고 | 비용 관리 화면에서 한곳에 모아 봄 | | 비용 분석 | 서비스·리소스 그룹·태그별로 비용을 나눠 봄 | 태그가 있어야 부서별 분석이 쉬움 | | Azure Advisor | 신뢰성·보안·성능·비용·운영 우수성 다섯 범주의 맞춤 권장 사항 | 사용률이 낮은 VM 크기 조정·종료, 예약 구매 권장 등 |

시험 팁: "월 비용이 예산의 80%에 도달하면 관리자에게 알리고, 100%면 개발용 VM을 자동으로 중지"는 예산 경고 + 작업 그룹(Automation Runbook 등)입니다. 예산만으로는 리소스가 멈추지 않습니다. "사용률이 낮은 VM을 찾아 비용을 줄일 방법"은 Azure Advisor의 비용 권장 사항입니다.

---

 

시험 핵심 정리

시험장 가기 전 마지막으로 확인할 핵심 포인트입니다.

| 구분 | 핵심 암기 사항 | |------|------| | 계층 | 관리 그룹 → 구독 → 리소스 그룹 → 리소스 | | 관리 그룹 | 최대 10,000개, 깊이 6단계, 부모는 하나 | | 구독 테넌트 이전 | 역할 할당이 영구 삭제, 새 테넌트에서 다시 할당 | | 상속 | RBAC·Policy·잠금은 상속, 태그는 상속 안 됨 | | Policy vs RBAC | 리소스가 지킬 규칙 vs 사람이 할 수 있는 작업 | | Deny vs Audit | 거부 vs 허용하고 기록 | | Modify · DeployIfNotExists | 기존 리소스는 수정 작업으로 교정, 할당의 관리 ID 필요 | | 평가 시점 | 생성·수정·할당 시, 그 뒤 24시간마다 | | 잠금 | CanNotDelete(삭제만) vs ReadOnly(수정·삭제), Owner도 적용, 관리 영역만 | | ReadOnly 부작용 | 스토리지 키 나열 불가, 리소스 그룹의 VM 시작·다시 시작 불가 | | 태그 | 최대 50쌍, 상속은 Modify 정책으로 | | 예산 | 알림만, 자동 조치는 작업 그룹(구독·리소스 그룹 범위), Advisor는 다섯 범주 |

---

 

다음 단계

리소스의 규칙을 정리했다면, 그 리소스를 다룰 사람과 그룹을 관리하는 방법을 AZ-104 Entra 사용자·그룹 관리 실무에서 이어서 익히세요. 역할 할당 표 문제는 AZ-104 RBAC 역할 할당 해석하기와 함께 복습하면 좋습니다.

거버넌스 문제는 "상속되는가, 기존 리소스에도 적용되는가, Owner도 막히는가" 세 질문으로 대부분 풀립니다. AZ-104 모의고사에서 거버넌스 문제를 풀며 이 세 질문을 적용해 보세요.

블로그 목록으로 돌아가기