본문 바로가기

알토르

알토르 4주차 추가 과제 -1

알토르 4주차 추가 과제 -1

Mission

  1. 도메인을 하나 구매 해보기
    1. 구매한 도메인을 vercel 연동
    2. DNS가 무엇인지, 네임서버가 무엇인지, 레코드가 무엇인지(A레코드 ..)
  2. AWS 가입, AWS같은 클라우딩 서비스가 무엇인지
    1. AWS EC2 서비스 무료버전 설치
    2. ubuntu OS 사용
  3. NginX가 무엇인지 찾아보기
    1. ubuntu에 nginx 설치 하고
    2. aws ec2 ip를 브라우저에 입력 했을 때 welcome to nginx화면이 보이게 하기

1. DNS

  • 정의 : 컴퓨터가 이해할 수 있는 숫자로 된 IP 주소와 사람이 기억하기 쉬운 문자로 매핑한 도메인 이름을 변환시켜주는 인터넷의 전화번호부 시스템

2. Name Server

  • 정의 : DNS 정보를 가지고 있는 서버
  • 역할 : 도메인 이름과 IP 주소가 매핑된 정보를 관리
  • 종류 :
    1. 권한 있는 네임서버(Authoritative NS)
    1. 재귀적 네임서버(Recursive NS)

3. Record

  • 정의 : 도메인 관련 구체적인 정보 담고 있는 DNS 데이터 항목
레코드의미용도
A 레코드 IPv4 주소 도메인 → IPv4 매핑
AAAA 레코드 IPv6 주소 도메인 → IPv6 매핑
CNAME 별칭 도메인을 다른 도메인으로 연결 (ex: www.example.com → example.com)
MX 레코드 메일 교환 이메일 서버 지정
NS 레코드 네임서버 지정 어떤 NS가 도메인을 관리하는지 지정
TXT 레코드 텍스트 정보 SPF, DKIM 등 이메일 인증, 기타 설명
PTR 레코드 역방향 조회 IP → 도메인 매핑

EX)

example.com
  A      192.0.2.1
  AAAA   2001:db8::1
  MX     mail.example.com
  NS     ns1.example.com

- 기본 원칙

  • CNAME은 다른 레코드(A, AAAA 등)와 동시에 같은 이름에는 못 씀
    - www.example.com에 A 레코드와 CNAME을 동시에 쓰면 오류 발생
  • CNAME 레코드는 별칭 이름에만 적음
    - 실제 IP를 가진 루트 도메인(example.com)에는 쓰지 않는 것이 일반적
  • CNAME 값은 항상 “다른 도메인 이름”을 가리킴

예: www.example.com → example.com

www.example.com
  CNAME  example.com

- 서브도메인

1️⃣ 서브도메인(Subdomain)이란?

  • 정의: 루트 도메인(example.com) 아래에 위치한 하위 도메인
  • 형식: 서브도메인.루트도메인
  • 예시:
www.example.com → 웹사이트용 서브도메인

mail.example.com → 메일 서버용 서브도메인

blog.example.com → 블로그용 서브도메인

💡 핵심: 서브도메인은 루트 도메인의 일부 이름으로, 독립적인 A, CNAME, MX 레코드를 가질 수 있음.

2️⃣ 루트 도메인과 서브도메인 레코드

  • 루트 도메인(Apex Domain): example.com
    직접 A/AAAA 레코드를 가짐
  • 서브도메인: www.example.com, mail.example.com 등
    - 루트 도메인과 같은 파일에 적어도 됨 (보통 BIND zone 파일 하나에 포함)
    - 별도의 zone 파일로도 관리 가능 (규모가 크면 분리)
  • 예시 zone 파일(BIND 기준):
$TTL 3600
@       IN      SOA     ns1.example.com. admin.example.com. (
                                2025090901 ; Serial
                                3600       ; Refresh
                                1800       ; Retry
                                604800     ; Expire
                                86400 )    ; Minimum TTL

; 네임서버

        IN      NS      ns1.example.com.
        IN      NS      ns2.example.com.

; 루트 도메인 레코드

@       IN      A       192.0.2.1
@       IN      AAAA    2001:db8::1
@       IN      MX      10 mail.example.com.

; 서브도메인 레코드

www     IN      CNAME   @
mail    IN      A       192.0.2.2
blog    IN      CNAME   cms.example.com.
  • @ → 루트 도메인(example.com)을 의미
  • www → www.example.com
  • CNAME에서 @를 쓰면 “루트 도메인 가리킴”이라는 뜻

3️⃣ 파일 이름

  • BIND 등에서 zone 파일이라고 부름
  • 일반적으로 파일 이름: db.example.com, example.com.zone 등
  • OS나 DNS 서버 설정에 따라 경로가 달라짐:
  • 리눅스 BIND: /etc/bind/zones/db.example.com CentOS/Rocky Linux: /var/named/example.com.zone

- 루트도메인/서브도메인 구분

1️⃣ 통일된 도메인 아래 서비스 관리

  • 루트 도메인(example.com)을 중심으로
    여러 서비스(www, api, mail)를 같은 브랜드/도메인 이름 아래 묶음
  • 장점:
  1. 브랜드 통일성
    • example.com을 기반으로 여러 서비스를 쉽게 파악
    • URL 구조가 깔끔함: www.example.com, api.example.com
  2. 인증서 관리 용이
    • SSL/TLS 인증서에서 와일드카드(*.example.com) 적용 가능
  3. DNS/인프라 관리 효율
    • 한 루트 도메인 아래에서 레코드, 로드밸런서, 방화벽 등 관리 가능
  4. 서비스 분리와 유연성
    • 서버, 클라우드 계정, 기술 스택이 달라도 통일된 도메인으로 연결 가능

2️⃣ 실제 사례

도메인역할서버/클라우드
example.com 루트 웹 EC2 or S3
www.example.com 웹사이트 동일 서버 or LB 뒤
api.example.com API EKS, Lambda 등
mail.example.com 메일 서비스 전용 메일 서버
blog.example.com 블로그 WordPress 서버

결과: 사용자 관점에서는 모두 “example.com 브랜드” 안의 서비스처럼 보이지만, 내부적으로는 서로 다른 서버/서비스 운영 가능

3️⃣ 정리

  • 서브도메인은 서비스 단위 분리 + 통일된 브랜드/도메인 목적
  • 단일 도메인(Apex)만 쓰면 서비스 구분 어려움
  • DNS, SSL, 로드밸런서 등 인프라 관리도 훨씬 유연해짐

- 와일드카드

1️⃣ 와일드카드 개념

  • 정의: 특정 문자나 이름 대신 모든 하위 도메인을 대표하는 특별한 기호(*)
  • 표현: *.example.com
  • 의미: example.com의 모든 서브도메인(예: www.example.com, api.example.com, blog.example.com)을 동시 지정 가능
  • SSL/TLS 인증서에서 많이 사용

2️⃣ DNS에서 와일드카드 사용 예시

*.example.com   IN   A   192.0.2.1
  • 의미: example.com의 모든 서브도메인이 192.0.2.1로 연결
  • 장점:
    서브도메인별로 A 레코드 작성 필요 없음
    신규 서브도메인을 추가해도 자동 적용
  • 단점:
    특정 서브도메인을 다른 서버로 연결하려면 개별 레코드 우선
api.example.com만 다른 서버 → api.example.com A 192.0.2.2

- 와일드카드 레코드보다 우선 적용됨

3️⃣ SSL/TLS 와일드카드 인증서

예: *.example.com 인증서

www.example.com ✅

api.example.com ✅

blog.example.com ✅
example.com ❌ (루트 도메인은 포함 안 됨 → 별도 인증서 필요)
  • 장점: 모든 서브도메인 SSL 인증서 한 번에 적용 가능 → 관리 편리

💡 정리

  • 와일드카드(*) = 모든 서브도메인을 대표
  • DNS 레코드나 SSL 인증서에서 많이 활용
  • 개별 레코드가 와일드카드보다 우선

동일 IP / 다른 서비스

1️⃣ 1 IP → 여러 서비스 연결 문제

상황:

192.0.2.1 IP
www.example.com → 웹사이트
blog.example.com → 블로그
api.example.com → API

모든 서브도메인이 동일 IP를 지정
서버 입장 - 어떤 서비스 요청인지 구분 필요

2️⃣ 해결 방법

(1) 웹서버 가상호스팅(Virtual Hosting)

  • 정의: 하나의 서버(IP)에서 도메인 이름 기반으로 요청 분기
  • 방법: 웹서버에서 호스트 이름(Host Header) 확인 후 서비스 분기
server {
    listen 80;
    server_name www.example.com;
    root /var/www/html;
}

server {
    listen 80;
    server_name blog.example.com;
    root /var/www/blog;
}

server {
    listen 80;
    server_name api.example.com;
    root /var/www/api;
}
  • 클라이언트 요청:

www.example.com → /var/www/html

blog.example.com → /var/www/blog

api.example.com → /var/www/api

  • 💡 장점: IP 하나로 여러 웹 서비스 제공 가능
  • 💡 단점: 웹서버 기반 서비스에만 적용 가능 (HTTP/HTTPS)

(2) 포트 기반 분리

  • 방법: 동일 서버/동일 IP라도 포트 번호로 서비스 구분
www.example.com:80 → 웹사이트

api.example.com:8080 → API

blog.example.com:8000 → 블로그
  • 장점: 단순하고 웹 아닌 서비스에도 사용 가능
  • 단점: URL에 포트번호가 노출됨 → 사용성 떨어짐

(3) 로드밸런서/리버스 프록시

  • 클라우드 환경에서 자주 사용
  • IP는 로드밸런서/프록시 1개
  • 서비스 요청에 따라 백엔드 서버로 분기
EX) AWS ALB(Application Load Balancer)
www.example.com/* → EC2 웹 서버

api.example.com/* → EKS API 서버

3️⃣ 정리

방법장점단점
도메인 기반 가상호스팅 IP 1개로 여러 웹 서비스 웹서버 기반 서비스에 한정
포트 기반 분리 단순, 웹 아닌 서비스 가능 포트번호 URL 노출
로드밸런서/리버스 프록시 클라우드/대규모 서비스에 적합, SSL 통합 가능 추가 인프라 필요

Vercel DNS -> Domain 연동

'알토르' 카테고리의 다른 글

알토르 4주차 과제 - 2  (0) 2026.05.16
알토르 4주차 추가  (0) 2026.05.16
Assistant + Retrieval 기반으로 바꾸기 - code  (0) 2026.05.14
알토르 3주차 - Browser Storage  (0) 2026.05.13
OpenAI Assistant  (0) 2026.05.12