다중 지역 활성-활성 아키텍처
Azure Traffic Manager를 사용해 사용자를 가장 가까운 정상 엔드포인트로 라우팅하면서, 두 Azure 지역에 웹 애플리케이션을 활성-활성 구성으로 분산합니다.
다중 지역 활성-활성 아키텍처은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
단일 지역을 넘어
가용성 영역을 사용하더라도 단일 Azure 지역에 배포된 워크로드는 지역 전체의 중단으로 영향을 받을 수 있습니다. 이는 대규모 재해, 심한 폭풍 또는 광범위한 인프라 장애로 발생할 수 있는 드문 일이지만 가능한 상황입니다. 최고 수준의 가용성을 확보하기 위해 기업은 워크로드를 두 개 이상의 Azure 지역에 배포하여 전체 지역이 오프라인 상태가 되더라도 애플리케이션이 사용자에게 계속 서비스를 제공하도록 합니다.
활성-활성과 활성-수동 비교
다중 지역 패턴에는 크게 두 가지가 있습니다.
- 활성-활성 — 두 지역의 리소스가 동시에 실제 트래픽을 처리합니다. 가용성을 극대화하고 사용자를 가장 가까운 지역으로 라우팅하여 지연 시간도 줄일 수 있습니다.
- 활성-수동 — 보조 지역의 리소스는 대기 상태로 있다가 장애 조치가 발생한 후에만 트래픽을 수신합니다. 비용은 더 적게 들지만 복구 시간이 더 깁니다.
최고 수준의 가용성이 필요하다면 활성-활성 방식을 사용하는 것이 좋습니다.
Azure Traffic Manager 개요
Azure Traffic Manager는 서로 다른 Azure 지역(또는 온-프레미스)의 엔드포인트 전체에 트래픽을 분산하는 DNS 기반 전역 부하 분산 장치입니다. 상태 프로브를 사용하여 각 엔드포인트를 모니터링하고, 라우팅 방법(Performance, 가중치, 우선 순위, 지리적, 다중 값)에 따라 트래픽을 보낼 위치를 결정합니다. 활성-활성 설정에서는 Performance 라우팅 방법을 사용하여 사용자를 가장 가까운 정상 지역으로 보내십시오.
# Create a Traffic Manager profile:
az network traffic-manager profile create \
--resource-group myRG \
--name myTMProfile \
--routing-method Performance \
--unique-dns-name myapp-global
# Add endpoints for each region:
az network traffic-manager endpoint create \
--resource-group myRG \
--profile-name myTMProfile \
--name eastus-endpoint \
--type azureEndpoints \
--target-resource-id /subscriptions/.../publicIPAddresses/eastus-pipTraffic Manager 라우팅 방법
Traffic Manager는 다양한 시나리오에 맞는 여러 라우팅 방법을 지원합니다.
- Performance — 지연 시간이 가장 짧은 엔드포인트로 라우팅합니다(활성-활성에 적합).
- 가중치 — 백분율 가중치에 따라 트래픽을 분산합니다(점진적인 출시 작업에 유용).
- 우선 순위 — 모든 트래픽을 주 엔드포인트로 보내고 보조 엔드포인트로 대체합니다(활성-수동).
- 지리적 — 사용자의 지리적 위치를 기준으로 라우팅합니다(데이터 주권).
지역 간 데이터 복제
활성-활성 아키텍처에서는 두 지역의 사용자가 일관된 데이터를 읽을 수 있도록 데이터를 지역 간에 복제해야 합니다. 옵션은 다음과 같습니다.
- Azure SQL Database와 지역 복제 — 다른 지역에 읽기 가능한 보조 데이터베이스를 둡니다.
- Azure Cosmos DB와 다중 지역 쓰기 — 모든 지역이 동시에 쓰기 작업을 수락합니다.
- Azure Storage와 GRS — 보조 지역에 비동기 복제를 수행합니다.
선택은 일관성 및 쓰기 가용성 요구 사항에 따라 달라집니다.
다중 지역 쓰기를 위한 Cosmos DB
Azure Cosmos DB는 다중 지역 쓰기를 지원하므로 활성-활성 아키텍처에 특히 적합합니다. 구성된 모든 지역이 동시에 쓰기 작업을 수락할 수 있습니다. Cosmos DB는 구성 가능한 일관성 수준(강한 일관성부터 최종 일관성까지)을 사용하여 복제본의 동기화 방식을 관리합니다. 활성-활성 시나리오에서는 성능과 정확성의 균형을 맞출 수 있는 세션 일관성 또는 제한된 부실성을 일반적으로 선택합니다.
# Enable multi-region writes on a Cosmos DB account:
az cosmosdb update \
--resource-group myRG \
--name myCosmosAccount \
--enable-multiple-write-locations trueFront Door와 Traffic Manager 비교
Traffic Manager와 Azure 프런트 도어는 모두 전역 부하 분산을 제공하지만 작동 계층이 다릅니다.
- Traffic Manager는 DNS 기반입니다. 클라이언트를 올바른 지역 엔드포인트로 리디렉션하지만 연결은 해당 엔드포인트로 직접 이루어집니다. DNS 계층에서 작동합니다.
- Azure 프런트 도어는 애니캐스트 프록시입니다. 전역 PoP에서 클라이언트 연결을 종료하고 요청을 원본으로 전달합니다. 라우팅 외에도 WAF, SSL 오프로딩, 캐싱을 제공합니다.
지역 쌍 인식
Microsoft는 각 Azure 지역에 대해 지역 쌍을 지정합니다. 지역 쌍은 동일한 지리적 영역 내에 있으면서도 지역 재해를 견딜 수 있을 만큼 지리적으로 멀리 떨어진 보조 지역입니다. 다중 지역 아키텍처를 설계할 때 가능하면 쌍을 이루는 지역을 보조 지역으로 사용하십시오. 계획된 플랫폼 유지 관리 중에는 쌍을 이루는 두 지역 중 한 번에 한 지역만 업데이트되므로 동시에 발생하는 중단을 줄일 수 있습니다.
# View Azure region pairs:
az account list-locations --query '[].{Name:name,Pair:metadata.pairedRegion[0].name}' --output table활성-활성 환경의 세션 상태
활성-활성 배포에서는 서로 다른 요청이 서로 다른 지역에서 처리될 수 있습니다. 애플리케이션이 웹 서버의 메모리에 세션 상태를 저장하면 사용자가 지역을 전환할 때 문제가 발생합니다. 해결 방법은 분산 세션 저장소를 사용하는 것입니다. 예를 들어 Azure Cache for Redis를 지역 복제와 함께 사용하면 모든 지역에서 세션 데이터에 액세스할 수 있습니다.
활성-활성의 비용 고려 사항
활성-활성 아키텍처는 최소 두 지역에서 인프라 전체 복사본을 실행하므로 단일 지역 배포보다 비용이 많이 듭니다. 추가 비용으로는 지역 간 데이터 전송, 데이터베이스의 지역 복제, Traffic Manager 또는 프런트 도어 요금이 있습니다. 비용-편익 분석을 수행하십시오. 업무에 매우 중요한 워크로드의 경우 일반적으로 가동 중지 시간의 비용이 두 번째 지역의 비용을 훨씬 초과합니다.
다중 지역 장애 조치 테스트
활성-활성 아키텍처는 필요할 때 제대로 작동하는지 확인하기 위해 정기적으로 테스트해야 합니다. Azure Chaos Studio와 같은 카오스 엔지니어링 도구를 사용하면 한 지역의 모든 가상 머신을 중지하는 등의 장애를 주입하고 시스템의 응답을 관찰할 수 있습니다. 정기적인 테스트를 통해 Traffic Manager 상태 프로브가 장애를 감지하고, 장애 조치가 RTO 내에 발생하며, 지역 간 데이터가 일관되게 유지되는지 확인할 수 있습니다.
빠른 확인
이 레슨에서 다룬 Microsoft Azure Fundamentals (AZ-900) 개념을 얼마나 이해했는지 확인해 보십시오.
레슨 요약
이 레슨에서는 다음을 배웠습니다. 활성-활성 아키텍처는 가용성을 극대화하기 위해 여러 지역에 실제 리소스를 동시에 배포합니다. Azure Traffic Manager는 Performance, 우선 순위, 가중치 또는 지리적 방법을 사용하여 트래픽을 라우팅합니다. 또한 데이터 복제(Cosmos DB 다중 쓰기, SQL 지역 복제)는 지역 간 일관성을 유지하는 데 필수적입니다. 다음으로는 상태 프로브와 정상적인 기능 저하 패턴을 살펴보겠습니다.
자주 묻는 질문
“다중 지역 활성-활성 아키텍처” 강의는 무료인가요?
네 — “다중 지역 활성-활성 아키텍처” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
“다중 지역 활성-활성 아키텍처”에서 뭘 배우나요?
Azure Traffic Manager를 사용해 사용자를 가장 가까운 정상 엔드포인트로 라우팅하면서, 두 Azure 지역에 웹 애플리케이션을 활성-활성 구성으로 분산합니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“다중 지역 활성-활성 아키텍처” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- Azure SLA와 복합 SLA
- 가용성 집합과 가용성 영역
- 다중 지역 활성-활성 아키텍처
- 상태 프로브와 우아한 성능 저하