📘 DNS 설계 및 운영 통합 가이드 (CSP별 포함)
✅ 핵심 구성 순서 및 중요도 우선순위
도메인 명명 정책 수립 (네이밍 룰)
- 서비스 목적/환경(dev, stg, prod) 명확 구분
- 예:
api.dev.example.com
,erp.internal.example.com
Public vs Private DNS 역할 구분
- 외부 서비스용: Public DNS
- 내부 통신용: Private DNS (보안, 비용 최적화)
DNS 존 설계 (Public/Private)
- 존 이름 구조 (
example.com
,internal.example.com
) - 하위 존 분리 필요 여부 판단
- 존 이름 구조 (
VPC/VNet 연동 구성 (Private DNS)
- Azure: VNet 연결 필요
- AWS: VPC 연결
- OCI: Resolver, View, Rule 구성 필요
주요 레코드 등록 (우선순위)
- A / AAAA: IP 매핑
- CNAME: 별칭 설정
- MX: 메일 수신용 서버 지정
- TXT: 인증, SPF, DKIM, 기타 SaaS 용
TTL 설정 및 레코드 테스트
- 테스트: TTL 짧게 설정 후 점검
- 운영: TTL을 300~3600초 수준으로 유지
접근 제어 및 IAM 권한 설정
- DNS 수정은 최소 권한 사용자만 가능하게 제한
- 콘솔 접근 MFA 설정 권장
로깅 및 감사 기록 설정
- Azure Monitor / AWS CloudTrail / GCP Audit / OCI Audit
정기 점검 및 도메인 만료 관리
- 도메인 갱신 자동화, 모니터링 설정 필요
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 설정 절차 요약:
- VCN 설정: Private Subnet 포함
- Private DNS Zone 생성:
internal.example.com
- Resolver 생성: DNS 검색 목적
- 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. 참고 링크
⚠️ 실무 구성 시 주의 사항 및 가이드
Public과 Private DNS 혼재 시 충돌 방지
- 동일한 서브도메인이 Public/Private 양쪽에 존재하지 않도록 Split-horizon DNS나 명확한 네이밍 정책 필요
레코드 TTL 값 관리
- TTL(Time to Live)이 너무 길 경우 변경이 반영되기까지 오랜 시간이 소요될 수 있음. 테스트 시에는 짧게 설정.
MX/TXT 레코드 누락 주의
- 메일 서비스 운영 시, MX/SPF/DKIM/DMARC 등의 TXT 레코드가 누락되면 스팸 처리 가능성 있음
Private DNS 연결 누락
- Azure, AWS, OCI에서 Private DNS를 사용할 때 VPC(VNet) 연결을 반드시 설정해야 리졸빙 가능
클라우드 DNS는 지역성/가용성 고려 필요
- 일부 CSP는 리전별 DNS 가용성 제한이 존재할 수 있음. SLA 및 레코드 복제 정책 확인 필요
이중 인증 및 접근 제어 적용
- DNS 설정은 보안상 핵심 요소. 콘솔 접근은 IAM 제어 및 MFA 필수 적용 권장
감사 로그 및 변경 이력 기록 활성화
- DNS 레코드 변경 시 추적 가능하도록 각 CSP의 로그 기능(Azure Monitor, AWS CloudTrail, GCP Logging, OCI Audit)을 활성화
도메인 만료 및 등록 상태 확인 루틴 필요
- 외부 등록 도메인은 만료 알림, 자동 연장 설정 필요
'Cloud' 카테고리의 다른 글
[보안참고] 2024 클라우드 보안가이드 발간 (AWS, AZURE, GCP) - SK쉴더스 (1) | 2025.06.18 |
---|---|
[보안] 금융보안원 - 금융분야 상용 클라우드서비스 보안 관리 참고서 (1) | 2025.06.12 |
Azure, AWS, OCI 가격 할인 정책 비교 (1) | 2025.05.30 |
WebtoB + JEUS + Windows Server + DB (JDK/JDBC) 호환성 & EOS (1) | 2025.05.29 |
CSP Object Storage CLI 병렬 업로드 최적화 계산기-멀티파트 자동 설정 (0) | 2025.05.24 |