개발/Azure

[Azure] Azure 가상 네트워크 구성 및 관리 - Azure DNS

웅이의 개발이야기 2025. 6. 8. 19:52
728x90
반응형

Azure DNS

  • Azure DNS : DNS 도메인을 위한 Azure 호스팅 서비스


  • DNS : 사람이 읽을 수 있는 도메인 이름(예: www.wideworldimports.com)을 알려진 IP 주소로 변환하는 데 필수적인 역할


  • DNS 특징

  1. DNS는 전 세계 서버에서 호스트되는 글로벌 디렉터리를 사용
  2. DNS서버는 최근에 액세스한 또는 사용된 도메인 이름과 해당 IP 주소에 대한 로컬 캐시를 유지
  3. DNS서버는 IP 주소와 DNS 서버가 권한이 있는 모든 호스트 또는 하위 도메인의 키-값 쌍 데이터베이스를 유지
  4. 온-프레미스의 경우 DNS 설정은 네트워크내 서버에서 제공
  5. 외부 위치에서 웹에 액세스하는 경우 DNS 설정은 ISP(인터넷 서비스 공급자)에서 제공


  • 도메인 이름 조회 프로세스
  1. 도메인 이름이 단기 캐시에 저장된 경우 DNS 서버는 도메인 요청을 확인
  2. 도메인이 캐시에 없으면 웹에서 하나 이상의 DNS 서버에 연결하여 일치하는 항목이 있는지 확인
  3. 일치하는 항목이 검색되면 DNS 서버가 로컬 캐시를 업데이트하고 요청을 확인
  4. 적절한 수의 DNS 검사를 했음에도 도메인을 찾을 수 없는 경우, DNS 서버는 도메인 찾을 수 없음 에러로 응답


DNS 레코드

  • DNS 서버 구성 정보는 DNS 서버의 영역에 파일로 저장. 각 파일을 레코드라고 함
  • 레코드 형식
  1. A : 호스트 레코드이며 가장 일반적인 유형의 DNS 레코드. 도메인 또는 호스트 이름을 IP 주소에 매핑
  2. CNAME : 한 도메인 이름에서 다른 도메인 이름으로 별칭을 만드는 데 사용되는 정식 이름 레코드 (서로 다른 도메인 이름이 모두 동일한 웹 사이트에 액세스하는 경우 사용)
  3. MX : 메일 교환 레코드 (메일 서버에 메일 요청을 매핑)
  4. TXT : 텍스트 레코드 (텍스트 문자열을 도메인 이름과 연결)


  • 레코드 집합 : 레코드 집합을 사용하여 단일 레코드에 여러 리소스를 정의
www.wideworldimports.com.     3600    IN    A    127.0.0.1
www.wideworldimports.com.     3600    IN    A    127.0.0.2



Azure DNS란?

  • 전 세계적으로 분산된 이름 서버 인프라를 사용하여 도메인을 호스트하고 관리
  • 기존 Azure 자격 증명을 사용하여 모든 도메인을 관리
  • 도메인 등록은 타사 도메인 등록 기관을 통해 등록
  • Azure DNS 사용이유 (Azure Resource Manager 서비스를 기반)
  1. 보안 강화
    • 역할 기반 액세스 제어
    • 활동 로그를 통한 리소스 변경 내용을 추적
    • 리소스 잠금 기능
  2. 사용 편의성
    • Azure 서비스와 동일한 Azure 자격 증명, 지원 계약 및 대금 청구를 사용
    • Azure portal 등을 통한 편리한 도메인 및 레코드를 관리
  3. 프라이빗 DNS 도메인
    • 외부 도메인 이름을 IP 주소로 변환하는 과정을 처리
    • 가상 네트워크 안에서, 그리고 가상 네트워크들 간에 VM(가상 머신) 이름 확인을 제공하여 사용자 지정 DNS 솔루션을 만들 필요가 없음
    • 프라이빗 영역을 사용하면 Azure에서 제공하는 이름 대신 사용자 지정 도메인 이름을 사용 (별도 솔루션이 필요 없음)
  4. 별칭 레코드 집합 : 별칭 레코드 집합은 Azure 리소스를 가리킬 수 있음


Azure DNS 구성 방식

방식1. 공용 DNS영역 구성

  • DNS 영역을 사용하여 wideworldimports.com 같은 도메인에 대한 DNS 레코드를 호스트


1단계, Azure에서 DNS영역 만들기

  • DNS영역을 만들 때 필요한 정보
  1. 구독
  2. 리소스 그룹
  3. 이름
  4. 리소스 그룹 위치


2단계, Azure DNS 이름 서버 가져오기

  • NS(이름 서버) 레코드에서 이름 서버 세부 정보를 가져와야 합니다. 이러한 세부 정보를 사용하여 도메인 등록 기관의 정보를 업데이트하고 Azure DNS 영역을 가리킴


3단계, 도메인 등록 기관 설정 업데이트

  • 도메인 소유자는 도메인 등록 기관에서 제공하는 도메인 관리 애플리케이션에 로그인 -> 관리 애플리케이션에서 NS 레코드를 편집하고 NS 세부 정보를 Azure DNS 이름 서버 세부 정보와 일치하도록 변경 -> 도메인 위임


4단계, 도메인 이름 서비스 위임 확인

  • 위임된 도메인이 도메인에 대해 만든 Azure DNS 영역을 가리키는지 확인


  • 확인 커맨드
    : Azure DNS 영역이 설정되면 SOA 레코드가 자동 생성 -> SOA 레코드는 도메인을 나타내며 다른 DNS 서버가 인터넷에서 도메인을 검색할 때 참조 지점이 됨

nslookup -type=SOA wideworldimports.com


5단계, 사용자 지정 DNS 설정 구성

  • 리소스에는 DNS 영역에 A 레코드 또는 CNAME으로 고유한 사용자 지정 설정 필요


방식2. 프라이빗 DNS 영역 구성

  • 프라이빗 DNS 영역은 인터넷에서 볼 수 없으므로 도메인 등록 기관을 사용할 필요가 없음


1단계, 프라이빗 DNS 영역 만들기

  • Azure Portal에서 프라이빗 DNS 영역을 검색 -> 영역 이름 및 리소스 그룹을 입력


2단계, 가상 네트워크 식별

  • 이름 확인이 지원되어야 하는 VM에 연결된 가상 네트워크를 식별


3단계, 가상 네트워크를 프라이빗 DNS 영역에 연결

  • 가상 네트워크에 프라이빗 DNS 영역을 연결하려면 가상 네트워크 링크를 생성


별칭 레코드를 사용하여 동적으로 리소스 이름 확인

  • A 레코드 및 CNAME 레코드가 부하 분산 장치와 같은 Azure 리소스에 대한 직접 연결 지원 불가 -> 별칭레코드 활용

  • 부하분산 관련 리소스인 Azure Traffic Manager 프로필 또는 Azure Content Delivery Network 엔드포인트는 Apex 수준에서 지원 불가 -> 별칭 레코드 활용


  • apex 도메인 : 도메인의 최고 수준 (NS 및 SOA. NS 및 SOA 레코드, DNS영역 만들 때 자동 생성)


  • 별칭레코드 : 영역 Apex 도메인이 DNS 영역에서 다른 Azure 리소스를 참조 가능


  • 별칭레코드가 가리킬 수 있는 Azure 리소스

  1. Traffic Manager 프로필
  2. Azure Content Delivery Network 엔드포인트
  3. 공용 IP 리소스
  4. Front Door 프로필


  • 특징
  1. 대상 리소스의 수명을 주기적으로 추적해 대상 리소스 변경 내용이 DNS 영역에 자동으로 적용
  2. 영역 Apex에서 부하 분산 애플리케이션을 지원
  3. 다음 DNS 영역 레코드 형식 지원
    • A: IPv4 도메인 이름 매핑 레코드.
    • AAAA: IPv6 도메인 이름 매핑 레코드.
    • CNAME: 도메인의 별칭, A 레코드에 대한 링크.


  • 용도
  1. 매달린 DNS 레코드(dangling DNS records) 방지 : DNS 영역 레코드가 IP 주소 변경 내용으로 업데이트되지 않는 경우에 발생 -> 별칭 레코드는 DNS 레코드의 수명 주기를 Azure 리소스와 긴밀하게 연결하여 dangling 참조를 방지.
  2. IP 주소 변경 시 DNS 레코드 집합 자동 업데이트 : 리소스, 서비스 또는 애플리케이션의 기본 IP 주소가 변경되면 별칭 레코드는 연결된 모든 DNS 레코드를 자동으로 새로 고치도록 함.
  3. 영역 Apex에서 부하 분산 애플리케이션 호스트 : 별칭 레코드는 Traffic Manager에 대한 영역 Apex 리소스 라우팅을 허용.
  4. 영역 Apex가 Azure Content Delivery Network 엔드포인트를 가리키도록 지정 : 이제 별칭 레코드를 사용하여 Azure Content Delivery Network 인스턴스를 직접 참조 가능.
반응형