목차
본문으로 바로가기

[정리(Network)] DNS Public/Private DNS 구성법 - 기초

category Cloud 2025. 6. 3. 07:10

📘 DNS 설계 및 운영 통합 가이드 (CSP별 포함)

✅ 핵심 구성 순서 및 중요도 우선순위

  1. 도메인 명명 정책 수립 (네이밍 룰)

    • 서비스 목적/환경(dev, stg, prod) 명확 구분
    • 예: api.dev.example.com, erp.internal.example.com
  2. Public vs Private DNS 역할 구분

    • 외부 서비스용: Public DNS
    • 내부 통신용: Private DNS (보안, 비용 최적화)
  3. DNS 존 설계 (Public/Private)

    • 존 이름 구조 (example.com, internal.example.com)
    • 하위 존 분리 필요 여부 판단
  4. VPC/VNet 연동 구성 (Private DNS)

    • Azure: VNet 연결 필요
    • AWS: VPC 연결
    • OCI: Resolver, View, Rule 구성 필요
  5. 주요 레코드 등록 (우선순위)

    • A / AAAA: IP 매핑
    • CNAME: 별칭 설정
    • MX: 메일 수신용 서버 지정
    • TXT: 인증, SPF, DKIM, 기타 SaaS 용
  6. TTL 설정 및 레코드 테스트

    • 테스트: TTL 짧게 설정 후 점검
    • 운영: TTL을 300~3600초 수준으로 유지
  7. 접근 제어 및 IAM 권한 설정

    • DNS 수정은 최소 권한 사용자만 가능하게 제한
    • 콘솔 접근 MFA 설정 권장
  8. 로깅 및 감사 기록 설정

    • Azure Monitor / AWS CloudTrail / GCP Audit / OCI Audit
  9. 정기 점검 및 도메인 만료 관리

    • 도메인 갱신 자동화, 모니터링 설정 필요

1. DNS 주요 레코드 요약

레코드 설명 예시
A 도메인을 IPv4로 매핑 web.example.com → 192.0.2.1
AAAA 도메인을 IPv6로 매핑 web.example.com → 2001:db8::1
CNAME 별칭 설정 blog.example.com → blog.hosting.com
MX 메일 수신 서버 지정 example.com → mail.example.com
TXT 인증 및 정보 텍스트 저장 SPF, DKIM, site verification 등
NS 네임서버 지정 example.com → ns1.provider.net
PTR IP → 도메인 역방향 매핑 192.0.2.1 → example.com
SRV 특정 서비스 지정 _sip._tcp.example.com
SOA DNS 존 정보 마스터 정보 등 포함

2. Public DNS vs Private DNS 정리

항목 Public DNS Private DNS
정의 인터넷 전체에서 접근 가능 내부 네트워크에서만 접근 가능
도메인 예 example.com db.internal.local
사용 구분 웹사이트, 이메일 사내 시스템, Dev/Test 환경
접근 방식 Public IP 기반 Private IP, VPC 기반
보안 외부 노출 위험 있음 내부 한정으로 상대적으로 안전

3. CSP별 DNS 구성 예제

☁️ Azure DNS

  • Public DNS Zone: example.com
  • Private DNS Zone: internal.example.com
  • 연결: Virtual Network
  • 콘솔 위치: Azure Portal > Networking > DNS zones / Private DNS zones
az network private-dns zone create -g myRG -n internal.example.com
az network private-dns record-set a add-record -g myRG -z internal.example.com -n app --ipv4-address 10.0.0.4

☁️ AWS Route 53

  • Public Hosted Zone: example.com
  • Private Hosted Zone: internal.example.com (VPC 연결)
  • 콘솔 위치: AWS Console > Route 53 > Hosted zones
aws route53 create-hosted-zone \
  --name internal.example.com \
  --vpc VPCRegion=ap-northeast-2,VPCId=vpc-abc123 \
  --hosted-zone-config Comment="Private DNS"

☁️ Google Cloud DNS

  • Public Zone: example.com
  • Private Zone: internal.example.com (VPC 연결)
  • 콘솔 위치: GCP Console > Network services > Cloud DNS
gcloud dns managed-zones create internal-zone \
  --description="Private zone" \
  --dns-name="internal.example.com." \
  --visibility="private" \
  --networks="default"

☁️ Oracle Cloud (OCI) DNS

  • Public DNS Zone: example.com (OCI DNS Zone)
  • Private DNS Zone: internal.example.com (VCN 내 설정)
  • 콘솔 위치: OCI Console > Networking > DNS Management

OCI DNS 설정 절차 요약:

  1. VCN 설정: Private Subnet 포함
  2. Private DNS Zone 생성: internal.example.com
  3. Resolver 생성: DNS 검색 목적
  4. Resolver Rule 설정: 서브넷 또는 인스턴스에 적용
# Terraform 예시
resource "oci_dns_zone" "private_zone" {
  name        = "internal.example.com"
  zone_type   = "PRIMARY"
  compartment_id = var.compartment_id
  scope       = "PRIVATE"
  view_id     = oci_dns_view.private_view.id
}

4. 실무 사용 시나리오

환경 구성 DNS 유형 적용 예시
회사 홈페이지 www.example.com → Web Public DNS + A/CNAME AWS Route 53
사내 ERP erp.internal.example.com → Private IP Private DNS + A Azure Private DNS
API 서버 api.dev.example.com Public DNS (서브도메인) GCP DNS
메일 서비스 example.com → mail Public DNS + MX/TXT Cloud DNS, Route 53
DB 서버 접근 internal.example.com → DB IP Private DNS OCI Private DNS View

5. 참고 링크

CSP 공식 문서
Azure DNS https://learn.microsoft.com/en-us/azure/dns/dns-overview
AWS Route 53 https://docs.aws.amazon.com/route53/latest/DeveloperGuide/Welcome.html
GCP DNS https://cloud.google.com/dns/docs
OCI DNS https://docs.oracle.com/en-us/iaas/Content/DNS/home.htm

⚠️ 실무 구성 시 주의 사항 및 가이드

  1. Public과 Private DNS 혼재 시 충돌 방지

    • 동일한 서브도메인이 Public/Private 양쪽에 존재하지 않도록 Split-horizon DNS나 명확한 네이밍 정책 필요
  2. 레코드 TTL 값 관리

    • TTL(Time to Live)이 너무 길 경우 변경이 반영되기까지 오랜 시간이 소요될 수 있음. 테스트 시에는 짧게 설정.
  3. MX/TXT 레코드 누락 주의

    • 메일 서비스 운영 시, MX/SPF/DKIM/DMARC 등의 TXT 레코드가 누락되면 스팸 처리 가능성 있음
  4. Private DNS 연결 누락

    • Azure, AWS, OCI에서 Private DNS를 사용할 때 VPC(VNet) 연결을 반드시 설정해야 리졸빙 가능
  5. 클라우드 DNS는 지역성/가용성 고려 필요

    • 일부 CSP는 리전별 DNS 가용성 제한이 존재할 수 있음. SLA 및 레코드 복제 정책 확인 필요
  6. 이중 인증 및 접근 제어 적용

    • DNS 설정은 보안상 핵심 요소. 콘솔 접근은 IAM 제어 및 MFA 필수 적용 권장
  7. 감사 로그 및 변경 이력 기록 활성화

    • DNS 레코드 변경 시 추적 가능하도록 각 CSP의 로그 기능(Azure Monitor, AWS CloudTrail, GCP Logging, OCI Audit)을 활성화
  8. 도메인 만료 및 등록 상태 확인 루틴 필요

    • 외부 등록 도메인은 만료 알림, 자동 연장 설정 필요