Network & Server Factory

개인 공부 기록

Cloud/Azure

[Azure] Azure 기본 구조 정리하기

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

1. Azure란

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

 

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

2. 리소스 계층 구조

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

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

 

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

2.1 구독을 나누는 기준

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

2.2 리소스 그룹을 나누는 기준

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

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

3. 권한과 정책

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

 

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

4. 리전과 가용성 영역

한국 리전과 가용성 영역, 지역 쌍 구성

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

 

한국에는 서울의 Korea Central과 부산의 Korea South 두 리전이 있고, 둘은 지역 쌍입니다. 가용성 영역은 Korea Central에서 제공됩니다.

리전 위치 가용성 영역
Korea Central 서울 지원
Korea South 부산 미지원

 

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

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 피어링 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을 피어링하는 허브-스포크 구조를 많이 씁니다.

6. AWS와 서비스 대응표

분류 AWS Azure
계정 구조 AWS Organizations, 계정 관리 그룹, 구독
리소스 묶음 태그, CloudFormation 스택 리소스 그룹
인증, 권한 IAM Microsoft Entra ID, Azure RBAC
가상 머신 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로 만들면 다음과 같습니다. 리소스 그룹부터 만들고, 그 안에 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

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

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

8. 이름 규칙과 태그

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

리소스 접두사 예시
리소스 그룹 rg- rg-web-prod-krc
가상 네트워크 vnet- vnet-prod-krc
서브넷 snet- snet-web
네트워크 보안 그룹 nsg- nsg-snet-web
가상 머신 vm- vm-web-01

 

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

9. 정리

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

참고

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