☁️ Azure Architecture & Services: 가용성과 인프라
1. Azure Global Infrastructure (글로벌 인프라)
Azure는 물리적 인프라(데이터센터)와 이를 연결하는 네트워크로 구성되며, 전 세계적으로 AWS보다 넓은 커버리지를 자랑하는 방대한 글로벌 인프라를 보유하고 있습니다.
데이터센터 구조
- Datacenter: 네트워크로 연결된 서버들이 존재하는 물리적인 빌딩.
- Region (지역): 여러 데이터센터가 모여 있는 지리적 영역. (SLA 99.99% 보장)
- Geography (지리): 데이터 보존 및 규정 준수 경계. (예: Korea, US, Europe)
🇰🇷 강의 노트: 한국의 Azure 리전 (Korea Region)
- Korea Central (중부): 서울/평촌에 위치. LG U+, KT 등의 IDC를 임대하여 사용. 가용성 영역(Availability Zone)을 지원하는 핵심 리전.
- Korea South (남부): 부산에 위치. 주로 재해 복구(DR) 용도로 사용됨.
- DR 전략: 한국 리전 전체가 마비될 경우, 일본이나 태평양 건너 다른 리전으로 넘어가는 전략을 취함.
2. 가용성(Availability) 확보 전략과 SLA
서비스 안정성을 위해 Azure는 단계별 가용성 옵션을 제공합니다. 상위 개념으로 갈수록 SLA(서비스 수준 계약) 수치가 높아집니다.
| 단계 | 구성 요소 | SLA (가동률) | 보호 범위 | 특징 |
|---|
| 1단계 | Single VM | 99.9% | 디스크 오류 | 프리미엄 스토리지 사용 시 보장 |
| 2단계 | Availability Set (가용성 집합) | 99.95% | 랙(Rack) 장애 | 데이터센터 내 하드웨어/업데이트 오류 방어 |
| 3단계 | Availability Zones (가용성 영역) | 99.99% | 데이터센터 장애 | 하나의 리전 내 물리적으로 분리된 구역 사용 |
| 4단계 | Region Pairs (지역 쌍) | - | 지역(Region) 재해 | 100마일 이상 떨어진 리전 간 복제 (DR) |
3. 가용성 집합 (Availability Set) 상세
데이터센터 내에서 VM을 논리적으로 그룹화하여, 특정 랙(Rack)의 장애나 서버 재부팅 시에도 서비스가 중단되지 않도록 하는 기능입니다. 최소 2개 이상의 VM으로 구성해야 효과가 있습니다.
구성 요소
- 장애 도메인 (Fault Domain, FD)
- 개념: 공통 전원 및 네트워크 스위치를 공유하는 하드웨어 그룹(랙 단위).
- 설정: 최대 3개까지 설정 가능.
- 역할: 하드웨어 장애, 전원 차단 시 모든 서버가 동시에 죽는 것을 방지.
- 업데이트 도메인 (Update Domain, UD)
- 개념: 패치나 유지보수 시 동시에 재부팅되는 그룹.
- 설정: 최대 20개까지 설정 가능.
- 역할: 계획된 유지보수(업데이트) 시 서버들이 순차적으로 재부팅되도록 하여 서비스 중단 방지.
💡 Tip: VM 생성 시 옵션에서 '가용성 집합'을 선택하고 FD와 UD 개수를 지정할 수 있습니다.
4. 재해(Disaster) vs 장애(Incident)
| 구분 | 장애 (Incident) | 재해 (Disaster) |
|---|
| 범위 | 시스템 일부 또는 사이트 내 국한 | 전체 사이트 또는 광범위한 지역 |
| 성격 | 정보기술 내부 요인 (통제 가능) | 외부 요인 (자연재해, 전쟁 등 통제 불가능) |
| 대응 | 관리자/부서 수준에서 해결 가능 | 전사적 수준의 대응 필요 (DR 발동) |
🗣 데이터센터 화재 사례
국가정보센터 화재 사건의 안타까운 점은, 충분히 '장애' 수준으로 막을 수 있었던 일이 시스템 이중화 및 DR 체계 미비로 인해 '재해' 수준으로 번졌다는 것입니다. 클라우드는 클릭 몇 번으로 지리적 분산이 가능하므로 이러한 위험을 획기적으로 줄일 수 있습니다.
5. BCDR과 Azure Site Recovery (ASR)
비즈니스가 멈추지 않도록 하는 전략(BCDR)과 이를 실현하는 도구(ASR)입니다.
BCDR (Business Continuity and Disaster Recovery)
- 개념: 비즈니스 연속성(BC)과 재해 복구(DR)를 위한 포괄적인 전략.
- 내용: 기술뿐만 아니라 정책, 인력, 프로세스, 우선순위 등을 모두 포함.
- 모의 훈련: 재해 복구 훈련은 최소 6개월에 한 번씩 수행해야 함 (예상치 못한 에러 대비).
Azure Site Recovery (ASR)
- 개념: BCDR 전략을 기술적으로 구현해주는 Azure의 서비스 (DRaaS).
- 기능:
- 워크로드를 다른 위치(리전)로 실시간 복제.
- 장애 발생 시 트래픽을 복구 사이트로 전환(Failover).
- 인터넷 트래픽은 Traffic Manager가, 전체 복구 프로세스는 ASR이 담당.
핵심 지표 (RPO & RTO)
재해 복구 계획 수립 시 반드시 정의해야 하는 목표입니다.
- RTO (Recovery Time Objective): 시간 기준. "언제까지 복구할 것인가?" (허용 가능한 다운타임)
- RPO (Recovery Point Objective): 데이터 기준. "어느 시점까지의 데이터를 복구할 것인가?" (허용 가능한 데이터 손실량)
☁️ Azure Architecture & Services: 리전, 구독, 관리 도구
1. Azure 리전(Region)과 서비스 배포 전략
리전 선택의 기준
Azure 리전은 추천(Recommended) 리전과 대체(Alternate) 리전으로 나뉩니다.
- 추천 리전: 가장 많은 서비스가 배포되어 있으며, 성능이 검증된 리전.
- 대체 리전: 추천 리전이 무너졌을 때 복구를 위해 사용되거나, 특정 목적을 위해 존재. 때로는 추천 리전으로 승격되기도 함.
왜 'Korea Central'을 사용하는가?
우리가 한국 중부 리전을 주로 사용하는 이유는 단순히 네트워크 속도(Latency) 때문만이 아닙니다.
⚖️ 핵심 이유: 데이터 거주성 (Data Residency)
- 법적 규제(Compliance): 개인정보보호법 등에 의해 대한민국 국민의 개인정보는 국내에 저장되어야 한다는 원칙이 중요합니다.
- 참고: 미국의 경우 주(State)마다, 혹은 도메인(의료, 금융 등)마다 법적 규제가 달라 매우 까다롭습니다.
서비스 수명 주기 (Lifecycle)
MS가 새로운 서비스를 출시할 때 바로 상용화하지 않습니다.
- Preview (프리뷰): 베타 버전. 테스트 용도로 제공되며, SLA가 보장되지 않음.
- ⚠️ 주의: 프리뷰 딱지가 붙은 서비스는 실제 상용(Production) 환경에 쓰면 안 됨. 정식 출시(GA)가 안 되고 사라질 수도 있음.
- GA (General Availability): 일반 사용 가능. 정식 상용화 버전으로 SLA 보장.
2. 특수 목적 클라우드와 엣지 (Special Clouds & Edge)
일반적인 Public Azure와 다르게 운영되는 특수 리전과 서비스들입니다.
1) 소버린 클라우드 (Sovereign Clouds)
특정 국가나 정부의 규제를 준수하기 위해 물리적/논리적으로 완전히 분리된 클라우드입니다.
- Azure Government (미국 정부): 미 연방 정부 및 계약 업체 전용. 일반 망과 분리됨.
- Azure China (중국):
- 중국의 인터넷 규제(Great Firewall)로 인해 MS가 직접 운영하지 않음.
- 21Vianet이라는 현지 파트너사가 위탁 운영.
- 글로벌 Azure망과 물리적으로 분리되어 있음.
2) 엣지(Edge)와 확장 서비스
- Azure Edge Zones: 통신사(SKT 등)와 협력하여 5G 망 등 인구 밀집 지역의 통신망 끝단에 Azure를 배치. 초저지연 서비스 가능.
- Edge Computing 계층: Cloud (중앙) → Fog (중간) → Edge (단말).
- Azure IoT: IoT Hub 등을 통해 말단 디바이스 연결 관리.
- Azure Sphere: 보안이 매우 엄격한 MCU(마이크로컨트롤러) 기반 솔루션.
- Azure Space: 위성 통신 관련 사업이었으나, 최근 사업 중단/매각 이슈가 있음. (강의 노트 참조)
- Azure for Operators (CDN/PoP): 콘텐츠 전송 네트워크(CDN)를 통해 정적(Static) 데이터를 전 세계에 빠르게 뿌려주는 서비스.
3. Azure 계층 구조 (Hierarchy)
Azure 리소스를 효율적으로 관리하기 위한 구조입니다.
1) 구독 (Subscription)
서비스를 담는 논리적 컨테이너이자, 과금(Billing)의 단위입니다.
- 역할: 관리의 경계, 청구의 단위.
- 활용: 대기업은 부서별로 'Cost Center(비용 센터)'를 나누어 예산을 할당하고 구독을 쪼개서 관리함.
2) 리소스 그룹 (Resource Group)
Azure 리소스(VM, DB, VNet 등)를 담는 논리적 폴더입니다.
- 수명 주기 관리 (Lifecycle Management):
- 보통 동일한 프로젝트의 리소스들을 하나의 그룹에 담음.
- 💡 Tip: 프로젝트가 끝나면 리소스 그룹만 삭제하면 내부의 모든 리소스(네트워크, 스토리지, VM 등)가 한 번에 정리됨.
- 권한 관리 (RBAC):
- 리소스 그룹 단위로 접근 권한을 부여하여, 다른 팀의 리소스를 건드리거나 실수로 삭제하는 것을 방지. (실습 시 내 리소스 그룹만 보이게 설정하는 이유)
Azure를 제어하는 방법은 크게 GUI 방식과 코드 방식(CLI)으로 나뉩니다.
| 구분 | 도구 | 특징 및 장단점 |
|---|
| GUI | Azure Portal | • 웹사이트 접속. 직관적이고 시각적임. • 초보자에게 적합하나 반복 작업에 불리함. |
| CLI | Azure CLI PowerShell | • 텍스트 기반 명령줄 도구 (Bash, PowerShell). • 대량 작업 및 자동화에 필수. • 시스템 관리자라면 무조건 익혀야 함. |
| Web Shell | Cloud Shell | • 별도 설치 없이 브라우저에서 바로 쓰는 CLI 환경. • 어디서든 접속 가능. |
| RPA | Power Automate | • UI 자동화 도구 (매크로 성격). • 유지보수가 어려웠으나 LLM 도입으로 개선 중. |
👨💻 강의 노트: 왜 CLI를 써야 하는가?
- 시스템 관리자가 30명의 사용자 환경을 일일이 포털에서 클릭해서 설정하는 것은 불가능에 가깝습니다.
- CLI(커맨드)를 사용하면 스크립트 한 방으로 대량의 리소스를 생성, 수정, 삭제할 수 있습니다.
- 관리 효율성 측면에서 GUI는 CLI를 따라올 수 없습니다.
☁️ Azure Compute Services & Architecture
1. Azure Compute 개요
Compute는 애플리케이션이 실행되는 리소스를 계산하고 호스팅하는 모델을 의미합니다.
- 핵심: "확장된 데이터 센터" 개념. 온프레미스 환경을 클라우드로 확장할 때 가장 기본이 되는 서비스입니다.
- 특징: IaaS(Infrastructure as a Service) 형태가 기본이며, 가장 경제적이지만 사용자의 관리 노력이 필요합니다.
2. Azure Virtual Machines (VM)
Azure 가상 네트워크 내에서 배포하고 관리하는 IaaS 서비스입니다.
기본 구성 및 특징
- 구성 요소: VM 생성 시
Resource Group, Virtual Network (VNet), Network Interface (NIC), Public IP, NSG(보안 그룹) 등이 함께 생성됩니다.
- 과금 요소:
- Compute: VM 사용료 (시간당 과금).
- Public IP: 공용 IP 사용료 (소액이지만 비용 발생함, 내부 전용이면 불필요).
- OS: Windows가 Linux보다 비쌈 (OS 라이선스 비용 포함).
- SLA (가용성):
- 단일 VM: 99.9% (프리미엄 스토리지 사용 시)
- 가용성 집합(2개 이상): 99.95%
- 확장성:
- Scale Up: VM 크기(CPU, RAM) 자체를 키움.
- Scale Out: VM 개수를 늘림 (소프트웨어적 관리 필요).
주요 VM 유형
- A, D 시리즈: 범용 목적 (가장 많이 사용).
- N 시리즈: GPU 탑재 (AI, 딥러닝, 그래픽 작업).
💡 강의 노트: VM 비용 절감 꿀팁 (Region 전략)
- 가격 차이의 원인: 데이터 센터가 위치한 국가의 땅값과 전기세 차이.
- 전략:
- 운영/개인정보 서버: 법적 규제 및 속도 때문에
Korea Central 사용 권장.
- 개발/테스트 서버: 굳이 비싼 한국 리전을 쓸 필요 없음. 저렴한
West US 등 사용 추천.
- DR(재해복구) 서버: 일본 대신 저렴한 미국 리전을 DR로 설정하는 것도 비용 효율적인 전략.
- 도구: CloudPrice.net에서 리전별 가격 비교 가능.
3. VM 관리 및 확장 도구
비용 및 성능 관리
- Azure Pricing Calculator: 견적 산출 도구 (지역, 시간, 용도별 비용 계산).
- ACU (Azure Compute Unit): CPU 성능을 비교하기 위한 논리적 단위 (Standard_A1 = 100 기준).
- Copilot 활용: "데이터 분석용 가상 머신 추천해줘" 등의 질문으로 적절한 SKU 확인 가능.
확장 및 전용 서비스
- VMSS (Virtual Machine Scale Sets):
- 수천 개의 동일한 VM을 자동으로 생성, 관리, 확장(Auto Scaling).
- 부하에 따라 수평적 확장(Horizontal Scaling) 자동화.
- Azure Dedicated Host:
- 물리적 서버를 단독으로 사용 (다른 고객과 공유 X).
- 보안 규정 준수 및 라이선스 관리에 유리하며, 유지보수 시점을 사용자가 제어 가능.
4. 컨테이너 서비스 (Containers) 비교
가상 머신보다 가볍고 이식성이 뛰어난 컨테이너를 운영하는 3가지 방법입니다.
| 서비스 | 설명 | 비유 (강의 노트) | 적합한 용도 |
|---|
| ACI (Container Instances) | 가장 빠르고 간단하게 컨테이너 실행 (PaaS). | 창고 하나를 빌려 쓰는 수준. | 단기 실행, 간단한 작업. |
| ACA (Container Apps) | 서버리스 컨테이너. KEDA 기반 오토스케일링 지원. | 물류 센터를 직접 운영하는 느낌 (관리형). | 마이크로서비스, 이벤트 기반. |
| AKS (Kubernetes Service) | 컨테이너 오케스트레이션의 표준. 완전 관리형 쿠버네티스. | 전문 물류 관리 솔루션 도입. | 복잡하고 대규모인 워크로드. |
5. 서버리스(Serverless) & 앱 서비스
Azure Functions (Serverless)
- 개념: "서버가 없는 것"이 아니라 "서버를 관리할 필요가 없는 것".
- 특징:
- 이벤트 기반(Trigger)으로 코드가 실행될 때만 과금.
- 인프라 관리가 전혀 필요 없음.
- 장단점:
- 장점: 호출이 없으면 비용 0원. 매우 경제적.
- 단점: 트래픽이 폭주하면 IaaS보다 비용이 비싸질 수 있음 ("가랑비에 옷 젖는다"). 비용 계산 필수.
Azure App Service
- 개념: 웹 앱, 모바일 백엔드, REST API를 호스팅하는 HTTP 기반 PaaS 서비스.
- 특징: 로드 밸런싱, 오토 스케일링, OS 패치 등을 Azure가 알아서 관리. (Heroku와 유사)
- 활용: 인프라 담당자가 없거나 복잡한 설정 없이 웹 서비스를 빠르게 배포해야 할 때 최적.
Logic Apps
- 개념: 코드 작성 없이(Low-code/No-code) 워크플로우를 자동화하는 도구.
- 비교:
- Logic Apps: IT 전문가, 개발자 대상. Azure 서비스 간 연동에 강점.
- Power Automate: 비즈니스 사용자 대상. Microsoft 365(Office) 환경 연동에 강점.
6. 비용 최적화 옵션 (Cost Optimization)
클라우드 비용을 획기적으로 줄일 수 있는 두 가지 핵심 제도입니다.
1) Azure Hybrid Benefit
- 개념: 온프레미스에서 이미 보유 중인 Windows Server, SQL Server 라이선스를 Azure로 가져와서 재사용.
- 효과: 클라우드에서 Windows VM 사용 시 라이선스 비용을 이중으로 낼 필요가 없어 비용 절감.
2) Reserved Instances (예약 인스턴스)
- 개념: 1년 또는 3년 기간 약정으로 VM을 미리 구매.
- 효과: 종량제(Pay-as-you-go) 대비 최대 72%까지 비용 절감 가능.
- 대상: 24시간 365일 돌아가야 하는 베이스라인 워크로드에 적합.