Network & Server Factory

개인 공부 기록

Cloud/Azure

[Azure] Azure 기본 구조 정리

1nfra 2026. 9. 24. 15:13
Azure의 모든 리소스는 테넌트 → Management Group → Subscription → Resource Group → 리소스 계층에 속하고, 정책과 권한은 이 계층을 따라 아래로 상속됩니다. 이 구조와 리전, Availability Zone, VNet만 이해하면 어떤 서비스를 쓰든 설계의 뼈대를 잡을 수 있습니다.

1. Azure란

Azure는 Microsoft의 퍼블릭 클라우드입니다. VM 같은 인프라(IaaS)부터 App Service, Azure SQL Database 같은 관리형 서비스(PaaS)까지 제공하며, 계정과 권한은 Microsoft Entra ID(구 Azure AD)로 관리합니다.

 

AWS를 먼저 써 봤다면 서비스 이름보다 리소스를 묶고 관리하는 방식이 가장 낯설게 느껴집니다. 그래서 이 글에서는 개별 서비스보다 구조를 먼저 정리합니다.

2. 리소스 계층 구조

Azure 리소스 계층 구조와 상속 방향

계층 역할 예시
테넌트 조직 하나에 해당하는 Entra ID 디렉터리. 사용자와 그룹, 앱 계정이 여기에 있습니다. 회사 도메인 하나
Management Group 여러 Subscription을 묶어 정책과 권한을 한 번에 적용합니다. 루트 아래로 최대 6단계까지 만들 수 있습니다. Platform, Workloads
Subscription 청구와 한도(쿼터)의 단위입니다. 리소스는 반드시 하나의 Subscription에 속합니다. sub-dev, sub-prod
Resource Group 수명 주기가 같은 리소스를 묶는 논리적 폴더입니다. rg-web, rg-db
리소스 VM, VNet, 스토리지 같은 실제 서비스입니다. web-01, vnet-prod

 

위 계층에 지정한 정책, 권한(RBAC), 예산은 아래 계층으로 상속됩니다. 예를 들어 Management Group에 "Korea Central 리전만 허용" 정책을 걸면 그 아래 모든 Subscription과 Resource Group에 똑같이 적용됩니다.

2.1 Subscription을 나누는 기준

Subscription은 비용과 권한을 분리하는 가장 확실한 경계입니다. 개발과 운영을 다른 Subscription으로 나누면 개발 환경의 실수가 운영 리소스에 영향을 주지 않고, 비용도 환경별로 바로 확인할 수 있습니다.

2.2 Resource Group을 나누는 기준

Resource Group은 함께 만들고 함께 지우는 리소스끼리 묶습니다.

Resource Group을 삭제하면 그 안의 리소스가 모두 삭제됩니다. 또 리소스는 한 번에 하나의 Resource Group에만 속할 수 있습니다. Resource Group의 위치는 메타데이터가 저장되는 곳일 뿐이라, 안에 든 리소스는 다른 리전에 있어도 됩니다.

3. 권한과 정책

구분 하는 일 예시
Microsoft Entra ID 누구인지 인증(로그인) 사용자, 그룹, Service Principal
Azure RBAC 무엇을 할 수 있는지 권한 부여 rg-web에 Contributor 역할 부여
Azure Policy 무엇을 만들 수 있는지 규칙 강제 허용 리전 제한, 태그 필수

 

RBAC는 역할을 어느 범위(Management Group, Subscription, Resource Group, 리소스)에 주느냐가 핵심입니다. 자주 쓰는 기본 역할은 Owner(모든 권한과 권한 위임), Contributor(리소스 관리, 권한 위임 불가), Reader(조회만)입니다. 필요한 범위에 필요한 역할만 주는 것이 원칙입니다.

4. 리전과 Availability Zone

한국 리전과 Availability Zone, Region Pair 구성

개념 설명
지리(Geography) 데이터 상주와 규정 준수의 경계. 한국은 하나의 지리입니다.
리전(Region) 데이터 센터가 모여 있는 Region. 서비스와 가격이 리전마다 다릅니다.
Availability Zone(AZ) 한 리전 안에서 전원, 냉각, 네트워크가 독립된 데이터 센터 묶음입니다.
Region Pair 같은 지리 안의 두 리전. 업데이트를 순차 적용하고 재해 복구에 활용합니다.

 

한국에는 서울의 Korea Central과 부산의 Korea South 두 리전이 있고, 둘은 Region Pair입니다. Availability Zone은 Korea Central에서 제공됩니다.

 

리전 위치 Availability Zone
Korea Central 서울 지원
Korea South 부산 미지원

 

VM을 한 대만 두지 않고 서로 다른 Availability Zone에 나눠 배치하면 데이터 센터 하나가 멈춰도 서비스가 유지됩니다. 리전 전체 장애까지 대비하려면 Region Pair 리전에 백업이나 복제본을 둡니다.

5. 네트워크 기본 구성

VNet, 서브넷, NSG로 구성한 기본 웹 서비스 네트워크

구성 요소 역할 AWS 대응
VNet 리전 안의 격리된 사설 네트워크 VPC
서브넷 VNet 주소 범위를 나눈 구역 Subnet
NSG 서브넷이나 NIC 단위의 허용, 차단 규칙 Security Group, NACL
Load Balancer L4 부하 분산. L7은 Application Gateway NLB / ALB
Private Endpoint PaaS 서비스를 VNet의 사설 IP로 연결 PrivateLink 엔드포인트
VNet Peering VNet끼리 사설망으로 연결 VPC Peering
VPN Gateway 온프레미스와 IPsec VPN 연결 Virtual Private Gateway
Azure는 서브넷마다 주소 5개(첫 4개와 마지막 1개)를 예약합니다. /29보다 작은 서브넷은 만들 수 없으므로 주소 계획을 넉넉하게 잡는 것이 좋습니다.

공용 트래픽은 Load Balancer까지만 받고, 웹 서버와 DB는 사설 IP로만 통신하게 두었습니다. DB 서브넷의 NSG는 웹 서브넷에서 오는 요청만 허용해, 인터넷에서 DB로 바로 접근할 경로를 없앴습니다. 여러 VNet을 운영하게 되면 방화벽과 VPN을 Hub VNet에 모아 두고 각 VNet을 Peering하는 Hub-Spoke 구조를 많이 씁니다.

6. AWS와 서비스 대응표

분류 AWS Azure
계정 구조 AWS Organizations, 계정 Management Group, Subscription
리소스 묶음 태그, CloudFormation 스택 Resource Group
인증, 권한 IAM Microsoft Entra ID, Azure RBAC
VM EC2 Virtual Machines
오브젝트 스토리지 S3 Blob Storage
관계형 DB RDS Azure SQL Database, Azure Database for MySQL
서버리스 Lambda Azure Functions
쿠버네티스 EKS AKS
모니터링 CloudWatch Azure Monitor
코드형 인프라 CloudFormation ARM 템플릿, Bicep

7. Azure CLI로 만들어 보기

그림의 웹 서버 부분을 Azure CLI로 만들면 다음과 같습니다. Resource Group부터 만들고, 그 안에 VNet과 VM을 넣습니다.

az login

# 리소스 그룹
az group create --name rg-web --location koreacentral

# VNet과 웹 서브넷
az network vnet create \
  --resource-group rg-web --name vnet-prod \
  --address-prefix 10.0.0.0/16 \
  --subnet-name snet-web --subnet-prefix 10.0.1.0/24

# 가용성 영역 1에 VM 생성
az vm create \
  --resource-group rg-web --name web-01 \
  --image Ubuntu2204 --size Standard_B2s --zone 1 \
  --vnet-name vnet-prod --subnet snet-web \
  --admin-username azureuser --generate-ssh-keys

실습이 끝나면 Resource Group을 지워 안에 만든 리소스를 한 번에 정리합니다.

az group delete --name rg-web --yes --no-wait

8. 이름 규칙과 태그

리소스가 늘어나면 이름만 보고 종류와 용도를 알 수 있어야 합니다. Microsoft의 Cloud Adoption Framework는 리소스 종류별 약어를 앞에 붙이는 방식을 권장합니다.

 

리소스 접두사 예시
Resource Group rg- rg-web-prod-krc
VNet vnet- vnet-prod-krc
서브넷 snet- snet-web
NSG nsg- nsg-snet-web
VM vm- vm-web-01

 

이름과 별개로 env(환경), owner(담당자), cost-center(비용 부서) 같은 태그를 붙여 두면 비용 분석과 정리가 훨씬 쉬워집니다. 태그 필수 여부는 Azure Policy로 강제할 수 있습니다.

9. 정리

  • Azure 리소스는 테넌트 → Management Group → Subscription → Resource Group → 리소스 계층에 속하고, 정책과 권한은 아래로 상속됩니다.
  • Subscription은 비용과 권한의 경계, Resource Group은 수명 주기가 같은 리소스의 묶음으로 나눕니다.
  • Availability Zone에 나눠 배치하고, VNet 안에서는 NSG와 Private Endpoint로 공용 노출을 줄입니다.

참고

728x90
서울
--:--:--
-전체 글
-카테고리
오늘 방문