Post

[AWS] Route53

πŸ“Œ λ“€μ–΄κ°€λ©°

이번 κΈ€μ—μ„œλŠ” AWS의 Route53을 μ •λ¦¬ν•œλ‹€. Route53은 도메인 이름을 IP둜 λ³€ν™˜ν•΄μ£ΌλŠ” κ΄€λ¦¬ν˜• DNS μ„œλΉ„μŠ€λ‘œ, λ‚΄κ°€ κ΅¬λ§€ν•œ 도메인을 EC2 μ›Ή μ„œλ²„λ‘œ μ—°κ²°ν•˜λŠ” μ‹€μŠ΅μ„ ν•œλ‹€.

Route53μ΄λž€? AWS의 DNS(Domain Name System) μ„œλΉ„μŠ€. www.example.com 같은 μ‚¬λžŒμ΄ μ½λŠ” 도메인을 컴퓨터가 μ“°λŠ” 192.0.2.1 같은 IP μ£Όμ†Œλ‘œ λ³€ν™˜ν•΄, 인터넷 νŠΈλž˜ν”½μ„ μ›Ήμ‚¬μ΄νŠΈλ‘œ λΌμš°νŒ…ν•œλ‹€.


1. DNS λ™μž‘ 흐름

μ‚¬μš©μžκ°€ 도메인을 μž…λ ₯ν•˜λ©΄, κ·Έ μ§ˆμ˜κ°€ Route53에 도달해 IP둜 μ‘λ‹΅λ˜κ³ , λΈŒλΌμš°μ €λŠ” κ·Έ IP의 μ„œλ²„μ— μ ‘μ†ν•œλ‹€.

flowchart LR
    User(("🌐 μ‚¬μš©μž")) -- "example.com?" --> R53["🧭 Route53<br/>(DNS)"]
    R53 -- "β†’ 192.0.2.1" --> User
    User -- 접속 --> EC2["πŸ’» EC2 μ›Ήμ„œλ²„"]

2. ν˜ΈμŠ€νŒ… μ˜μ—­ 생성 & λ„€μž„μ„œλ²„ μ—°κ²°

AWS μ½˜μ†”μ˜ Route53μ—μ„œ ν˜ΈμŠ€νŒ… μ˜μ—­μ„ μƒμ„±ν•œλ‹€. μ΄λ•Œ κ°€λΉ„μ•„ λ“±μ—μ„œ 도메인을 미리 ꡬ맀해 두어야 ν•œλ‹€.

Untitled

도메인 이름을 μž…λ ₯ν•˜κ³  λ‚˜λ¨Έμ§€λŠ” κΈ°λ³Έκ°’μœΌλ‘œ ν˜ΈμŠ€νŒ… μ˜μ—­μ„ μƒμ„±ν•œλ‹€.

Untitled

μƒμ„±ν•˜λ©΄ NS(λ„€μž„μ„œλ²„) λ ˆμ½”λ“œμ— 4개의 λ„€μž„μ„œλ²„ μ£Όμ†Œκ°€ 보인닀. 이λ₯Ό λͺ¨λ‘ 볡사해 도메인 ꡬ맀 μ‚¬μ΄νŠΈ(κ°€λΉ„μ•„)둜 κ°€μ Έκ°„λ‹€.

Untitled

κ°€λΉ„μ•„μ˜ 도메인 관리 β†’ λ„€μž„μ„œλ²„ 섀정에 λ³΅μ‚¬ν•œ μ£Όμ†Œλ₯Ό μ°¨λ‘€λŒ€λ‘œ μž…λ ₯ν•œλ‹€.

Untitled

⚠️ λ„€μž„μ„œλ²„ μ£Όμ†Œ 끝의 온점(.)을 λ°˜λ“œμ‹œ μ œκ±°ν•˜κ³  가비아에 μž…λ ₯ν•΄μ•Ό ν•œλ‹€. 예: ns-123.awsdns-12.com. β†’ ns-123.awsdns-12.com

λ˜ν•œ ν˜ΈμŠ€νŒ… μ˜μ—­ 생성은 프리 티어라도 μ†Œμ•‘ μš”κΈˆμ΄ λΆ€κ³Όλœλ‹€.


3. μ—°κ²°ν•  EC2 생성 (μ‚¬μš©μž 데이터)

μ—°κ²°ν•  μ›Ή μ„œλ²„ web01을 Amazon Linux 2둜 λ§Œλ“ λ‹€. VPCΒ·μ„œλΈŒλ„·μ€ μ•žμ„œ λ§Œλ“  my-vpcλ₯Ό μ“°κ³ , λ³΄μ•ˆ 그룹에 ν•„μš”ν•œ κ·œμΉ™μ„ μΆ”κ°€ν•œ λ’€ μ‚¬μš©μž λ°μ΄ν„°λ‘œ httpdλ₯Ό μžλ™ μ„€μΉ˜ν•œλ‹€.

1
2
3
4
#!/bin/bash
yum install -y httpd
systemctl enable --now httpd
echo "<h1>WEB01</h1>" > /var/www/html/index.html

Untitled

Untitled

두 번째 μ„œλ²„ web02λŠ” Ubuntu둜 λ§Œλ“ λ‹€. OSκ°€ 달라 νŒ¨ν‚€μ§€ λͺ…령이 λ‹€λ₯΄λ―€λ‘œ μ‚¬μš©μž 데이터도 λ‹€λ₯΄κ²Œ λ„£λŠ”λ‹€.

1
2
3
4
#!/bin/bash
apt update
apt install -y apache2
echo "<h1>TOKYO</h1>" > /var/www/html/index.html

Untitled

πŸ’‘ Amazon LinuxλŠ” yum + httpd, UbuntuλŠ” apt + apache2둜 μ›Ή μ„œλ²„ νŒ¨ν‚€μ§€ 이름과 μ„€μΉ˜ λͺ…령이 λ‹€λ₯΄λ‹€. μ‚¬μš©μž 데이터λ₯Ό OS에 맞게 μž‘μ„±ν•΄μ•Ό λΆ€νŒ… μ‹œ μžλ™ μ„€μΉ˜κ°€ 정상 λ™μž‘ν•œλ‹€.


4. A λ ˆμ½”λ“œ 생성

λ‹€μ‹œ Route53μ—μ„œ 두 μΈμŠ€ν„΄μŠ€ μ΄λ¦„μœΌλ‘œ λ ˆμ½”λ“œλ₯Ό μƒμ„±ν•œλ‹€. μœ ν˜•μ€ A, κ°’μ—λŠ” 각 μΈμŠ€ν„΄μŠ€μ˜ 퍼블릭 IPλ₯Ό λ„£λŠ”λ‹€. 이제 λ„λ©”μΈμœΌλ‘œ 각 μ›Ή μ„œλ²„μ— 접속할 수 μžˆλ‹€.

Untitled

λ ˆμ½”λ“œ μœ ν˜•μ˜λ―Έ
A도메인 β†’ IPv4 μ£Όμ†Œ
CNAME도메인 β†’ λ‹€λ₯Έ 도메인(별칭)
NS이 도메인을 κ΄€λ¦¬ν•˜λŠ” λ„€μž„μ„œλ²„

πŸ“ 정리

1
2
3
4
5
Route53
β”œβ”€ κ°œλ…      도메인 ↔ IP λ³€ν™˜ κ΄€λ¦¬ν˜• DNS
β”œβ”€ ν˜ΈμŠ€νŒ…μ˜μ—­ 생성 β†’ NS 4개λ₯Ό 도메인 업체에 등둝(온점 제거)
β”œβ”€ λŒ€μƒ      EC2 μ›Ήμ„œλ²„(μ‚¬μš©μž λ°μ΄ν„°λ‘œ μžλ™ μ„€μΉ˜)
└─ λ ˆμ½”λ“œ    A λ ˆμ½”λ“œ = 도메인 β†’ 퍼블릭 IP
κ°œλ…ν•œ 쀄 μ •μ˜
Route53AWS κ΄€λ¦¬ν˜• DNS
ν˜ΈμŠ€νŒ… μ˜μ—­ν•œ λ„λ©”μΈμ˜ λ ˆμ½”λ“œ λͺ¨μŒ
A λ ˆμ½”λ“œλ„λ©”μΈμ„ IP둜 μ—°κ²°

Route53의 핡심은 ν˜ΈμŠ€νŒ… μ˜μ—­μ„ λ§Œλ“€κ³  β†’ λ„€μž„μ„œλ²„λ₯Ό 도메인 업체에 등둝 β†’ A λ ˆμ½”λ“œλ‘œ IP μ—°κ²°ν•˜λŠ” 3단계닀. 특히 λ„€μž„μ„œλ²„ μ£Όμ†Œ 끝의 온점 μ œκ±°κ°€ μ‹€μŠ΅μ˜ ν”ν•œ 함정이닀.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.