Azure DNS 및 Load Balancer 기초
Azure DNS 프라이빗 영역으로 Azure 내부의 도메인 이름 확인을 관리하고, Azure Load Balancer를 사용해 백엔드 VM 풀로 들어오는 트래픽을 분산합니다.
Azure DNS 및 Load Balancer 기초은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
애저의 DNS 기본 사항
DNS (Domain Name System)는 사람이 읽을 수 있는 도메인 이름(예: api.mycompany.com)을 컴퓨터가 통신에 사용하는 IP 주소로 변환합니다. 애저는 두 가지 DNS 서비스를 제공합니다. 하나는 공용 DNS 영역(인터넷에서 액세스하는 도메인)을 호스팅하는 애저 DNS이고, 다른 하나는 가상 네트워크 내부에서 내부 이름 확인을 제공하는 애저 Private DNS입니다. DNS를 올바르게 구성하지 않으면 애저 리소스를 IP 주소로 참조해야 하므로 아키텍처가 취약해집니다. IP가 변경되면 이에 의존하는 모든 구성이 중단되기 때문입니다. 애저 DNS는 Microsoft의 애니캐스트 네트워크를 기반으로 하는 고가용성 전역 분산 서비스입니다.
애저 DNS 공용 영역
애저 DNS 공용 영역은 인터넷에서 액세스할 수 있는 도메인의 DNS 레코드를 호스팅합니다. GoDaddy와 같은 등록 기관에 등록한 도메인의 NS 레코드를 애저의 이름 서버를 가리키도록 업데이트하여 도메인을 애저 DNS에 위임합니다. 위임이 완료되면 별도의 DNS 공급자 대신 애저 포털 또는 CLI에서 모든 DNS 레코드(A, CNAME, MX, TXT 등)를 관리할 수 있습니다. 애저 DNS 공용 영역은 100% SLA 가동 시간, 1초 미만의 전역 전파 시간, 그리고 권한이 부여된 팀 구성원만 DNS 레코드를 수정할 수 있도록 RBAC로 제어되는 액세스를 제공합니다.
# Create a DNS zone and add an A record
az network dns zone create \
--resource-group myRG \
--name mycompany.com
az network dns record-set a add-record \
--resource-group myRG \
--zone-name mycompany.com \
--record-set-name www \
--ipv4-address 20.10.20.30애저 Private DNS 영역
애저 Private DNS 영역은 DNS 레코드를 공용으로 노출하지 않고 가상 네트워크 내부 리소스의 이름 확인을 제공합니다. 예를 들어 비공개 영역 myapp.internal을 만들고 VM을 등록하면 IP 대신 이름(db.myapp.internal)으로 확인할 수 있습니다. Private DNS 영역은 가상 네트워크에 연결되므로 연결된 가상 네트워크의 리소스만 비공개 레코드를 확인할 수 있습니다. 또한 자동 등록을 Enable하면 VM이 가상 네트워크에 참여할 때 DNS 레코드가 자동으로 생성되어 수동 관리 없이 DNS를 최신 상태로 유지할 수 있습니다.
# Create a private DNS zone and link it to a VNet
az network private-dns zone create \
--resource-group myRG \
--name myapp.internal
az network private-dns link vnet create \
--resource-group myRG \
--zone-name myapp.internal \
--name myVNetLink \
--virtual-network myVNet \
--registration-enabled true애저 서비스용 Private DNS
애저 SQL, Blob Storage, Key Vault와 같은 서비스의 Private Endpoint는 서비스의 공용 호스트 이름이 공용 IP가 아니라 비공개 IP로 확인되도록 DNS를 구성해야 합니다. 애저는 각 서비스에 대한 Private DNS 영역을 제공합니다(예: Blob Storage용 privatelink.blob.core.windows.net). Private Endpoint를 만들면 애저는 이 비공개 영역에 비공개 IP를 가리키는 DNS A 레코드를 생성합니다. 이 영역을 가상 네트워크에 연결하면 Storage 계정 URL에 대한 모든 DNS 조회가 자동으로 비공개 IP로 확인되어, 애플리케이션 코드를 변경하지 않고도 비공개 백본을 통해 트래픽을 라우팅할 수 있습니다.
애저 Load Balancer란 무엇인가요
애저 Load Balancer는 인바운드 네트워크 트래픽을 여러 백엔드 리소스(VM 또는 확장 집합의 인스턴스)에 분산하여 단일 리소스에 부하가 집중되지 않도록 합니다. OSI 모델의 Layer 4 (전송 계층)에서 작동하며, HTTP 콘텐츠를 검사하지 않고 소스/대상 IP와 포트를 기준으로 TCP 및 UDP 패킷을 라우팅합니다. 애저 Load Balancer는 영역 중복을 지원하는 고가용성 서비스로, 99.99% SLA(Standard SKU)를 제공하며 인바운드 Load Balancing(인터넷 또는 가상 네트워크에서 유입)과 VM의 인터넷 송신을 위한 아웃바운드 SNAT를 모두 지원합니다.
Load Balancer 구성 요소
애저 Load Balancer에는 네 가지 주요 구성 요소가 있습니다. 프런트엔드 IP 구성 — 클라이언트가 연결하는 공용 또는 비공개 IP입니다. 백엔드 풀 — 트래픽을 수신하는 VM 또는 확장 집합 인스턴스의 집합입니다. Load Balancing 규칙 — 프런트엔드 IP:포트를 백엔드 포트에 매핑하고 Load 분산 알고리즘을 지정합니다(기본값은 5-튜플 해시). 상태 프로브 — 각 백엔드 인스턴스를 주기적으로 test하며, 상태 확인에 실패한 인스턴스는 복구될 때까지 새 연결을 수신하지 않습니다. 이러한 구성 요소가 함께 트래픽의 수신, 확인 및 분산 방식을 정의합니다.
# Create a Standard Load Balancer with a public IP
az network lb create \
--resource-group myRG \
--name myLoadBalancer \
--sku Standard \
--public-ip-address myPublicIP \
--frontend-ip-name myFrontend \
--backend-pool-name myBackendPool상태 프로브
상태 프로브는 Load Balancer가 각 백엔드 인스턴스에 주기적으로 보내 해당 인스턴스가 정상이며 트래픽을 수신해야 하는지 확인하는 검사입니다. 프로브 프로토콜(HTTP, HTTPS 또는 TCP), 포트 및 간격을 구성합니다. HTTP/HTTPS 프로브의 경우 Load Balancer가 지정된 URL 경로로 GET 요청을 보내며, 인스턴스가 HTTP 200을 반환하면 정상으로 간주합니다. TCP 프로브에서는 TCP 연결에 성공하면 정상입니다. 백엔드가 구성 가능한 횟수만큼 연속으로 프로브에 실패하면 Load Balancer는 해당 백엔드가 다시 프로브를 통과할 때까지 새 연결을 보내지 않습니다. 이를 통해 수동 개입 없이 자동 내결함성을 제공합니다.
Basic와 Standard Load Balancer 비교
애저 Load Balancer에는 두 가지 SKU가 있습니다. Basic — 무료이며 최대 300개의 백엔드 인스턴스를 지원하지만 SLA, 가용성 영역 지원, 기본적으로 보안이 적용되는 NSG 요구 사항이 없습니다. Standard — 유료(기본 요금 약 월 20달러)이며 최대 1,000개의 백엔드 인스턴스, 99.99% SLA, 영역 중복 프런트엔드, 기본 보안(트래픽을 허용하려면 명시적인 NSG 규칙 필요)을 지원하고 여러 프런트엔드 IP를 사용할 수 있습니다. 모든 프로덕션 워크로드에는 Standard SKU를 강력히 권장합니다. Microsoft는 Basic SKU를 폐기하고 있으므로 새 배포에서는 항상 Standard를 사용해야 합니다.
내부 Load Balancer와 외부 Load Balancer
애저 Load Balancer는 두 가지 구성으로 배포할 수 있습니다. 공용(외부) Load Balancer — 프런트엔드에 공용 IP가 있으며 인터넷 트래픽을 백엔드 VM에 분산합니다. 웹 서버와 API Gateway처럼 인터넷에 연결되는 애플리케이션에 사용합니다. 내부(비공개) Load Balancer — 가상 네트워크 내부의 프런트엔드에 비공개 IP가 있으며 가상 네트워크 내부 트래픽을 분산합니다. 인터넷에서는 액세스할 수 없고 동일한 가상 네트워크의 웹 계층에서만 액세스해야 하는 다중 계층 애플리케이션에서 애플리케이션 계층 Load Balancer로 사용합니다. 두 가지를 동시에 배포할 수도 있습니다. 웹 계층에는 공용 LB를, 애플리케이션 계층에는 내부 LB를 배치하는 방식입니다.
Azure 부하 분산 장치와 애플리케이션 게이트웨이 비교
Azure는 서로 다른 시나리오를 위한 두 가지 주요 부하 분산 서비스를 제공합니다. Azure 부하 분산 장치 — 계층 4, TCP/UDP, 매우 짧은 지연 시간, 초당 수백만 개의 연결 처리. HTTP가 아닌 작업이나 최대 처리량과 최소 지연 시간이 중요한 경우에 적합합니다. Azure 애플리케이션 게이트웨이 — 계층 7, HTTP/HTTPS, URL 경로와 헤더를 인식하며 웹 애플리케이션 방화벽(WAF), SSL 종료, 쿠키 기반 세션 선호도, URL 기반 라우팅을 포함합니다. 콘텐츠를 인식하는 부하 분산, TLS 오프로딩, WAF 보호가 필요한 웹 애플리케이션에 적합합니다. 단순한 TCP 부하 분산에는 Load Balancer를 사용하십시오. 웹 애플리케이션에는 Application Gateway가 상당한 추가 가치를 제공합니다.
DNS와 부하 분산 장치 함께 사용하기
DNS와 부하 분산 장치는 함께 작동하여 복원력이 높고 사용하기 쉬운 엔드포인트를 만듭니다. 일반적인 패턴은 다음과 같습니다. 1) Standard 공용 IP와 웹 서버 VM의 백엔드 풀을 사용하여 Azure 부하 분산 장치를 만듭니다. 2) Azure DNS에서 www.mycompany.com을 부하 분산 장치의 공용 IP(또는 DNS 이름)로 가리키는 DNS CNAME 레코드를 만듭니다. 3) 사용자가 www.mycompany.com을 방문하면 DNS가 부하 분산 장치의 IP로 확인하고, 부하 분산 장치가 정상 상태인 VM 인스턴스 전체에 요청을 분산합니다. 이를 통해 사용하기 쉬운 URL과 함께 장애 허용 기능을 갖춘 자동 트래픽 분산을 제공할 수 있습니다.
빠른 확인
이 단원에서 다룬 Microsoft Azure 기본 사항(AZ-900) 개념을 제대로 이해했는지 확인해 보십시오.
단원 요약
이 단원에서는 다음을 배웠습니다. Azure DNS는 거의 100%의 가용성으로 공용 및 사설 DNS 영역을 호스팅하여 Azure 리소스에 사람이 읽을 수 있는 이름을 사용할 수 있게 합니다. 자동 등록 기능이 있는 사설 DNS 영역은 수동 관리 없이 VNet DNS 레코드를 최신 상태로 유지합니다. 또한 Azure 부하 분산 장치는 상태 프로브를 사용하여 장애가 발생한 인스턴스를 자동으로 감지하고 우회하면서 정상 상태인 백엔드 VM 인스턴스 전체에 계층 4 TCP/UDP 트래픽을 분산합니다. 다음에는 Azure 데이터베이스 과정으로 이동하여 Azure SQL Database부터 살펴봅니다.
자주 묻는 질문
“Azure DNS 및 Load Balancer 기초” 강의는 무료인가요?
네 — “Azure DNS 및 Load Balancer 기초” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
“Azure DNS 및 Load Balancer 기초”에서 뭘 배우나요?
Azure DNS 프라이빗 영역으로 Azure 내부의 도메인 이름 확인을 관리하고, Azure Load Balancer를 사용해 백엔드 VM 풀로 들어오는 트래픽을 분산합니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“Azure DNS 및 Load Balancer 기초” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 가상 네트워크 및 서브넷
- 네트워크 보안 그룹 및 애플리케이션 보안 그룹
- VNet 피어링 및 서비스 엔드포인트
- Azure DNS 및 Load Balancer 기초