AWS의 DNS 서비스
DNS는 뭔데,,,!!!
- Domain Name Server
- IP 주소 및 기타 데이터를 저장하고 이름별로 쿼리할 수 있게 해주는 계층형 분산 데이터베이스
- 즉, 도메인 주소(예. www.naver.com)를 보내면 IP주소(153.34.0.0)로 변환해줌
출처는 사진 속
출처 - ASC 이화 1기 핸즈온 자료
위 그림을 보면!
클라이언트가 Route53에게 도메인 주소를 보내고,
Route53는 그에 해당하는 IP 주소를 반환함.
즉 DNS service provider 역할을 한거임.
‼️ 하나 짚고 넘어가자면
DNS는 그 어떤 트래픽도 라우팅하지 않고,
오직 DNS 쿼리에 응답만함!
== 도메인 주소에 해당하는 IP 주소만 리턴하고 끝!
아 근데 여기 이해안가서 민주랑 나히찡한테 엄청 물어봄
전통적인 DNS는 라우팅만 해주고 로드밸런싱은 안해주는게 맞음
하지만 DNS에서도 트래픽 분산 가능 == 로드밸런싱 가능
how~?
- 우선, 도메인과 아이피주소는 1:1이 아님
하나의 도메인에 여러 아이피주소일수도 있고
여러 도메인이 하나의 아이피 주소를 가질 수도 있음.
- DNS에서 로드밸런싱을 할 때는 그 도메인 주소에 대해 여러 아이피 주소를 반환해서 트래픽을 여러 서버로 분산시킴
(라운드로빈 DNS가 이제 여러 IP주소를 순환하면서 제공)
- 근데 나 두두는 여기서 한가지 의문
어떻게 여러 도메인이 하나의 아이피 주소를 가짐?
- 공유호스팅 == 단일 서버에서 여러 웹사이트를 호스팅할 때, 각각은 고유한 도메인 이름을 가지지만 모든 사이트가 서버의 단일 IP 주소를 공유하는 것
이걸 가능하게 하는게 가상 호스팅
- 가상 호스팅은 뭐냐 : 웹 서버 소프트웨어(Apache, Nginx 등)는 HTTP 헤더에 있는 'Host' 필드를 사용하여 동일 IP 주소에 대한 요청을 올바른 웹사이트로 라우팅하는 것
어쨋든 정리하자면,
➡️ Route53에도 DNS 레벨에서 ip 분산시켜서 나름의 로드밸런싱을 할 수 있는 기능은 있음!
BUT❗️
그게 전형적인 로드밸런서처럼 동적이 조정이나 세밀한 트래픽 관리는 못하니까 주로 로드밸런싱이 필요할 땐 ELB를 사용함!
❓Route53은 서비스인데 그러면 이 서비스는 리소스가 없나?
AWS Route 53 자체는 서비스가 맞으나,
여기서 생성하는 리소스가 기능으로 있었다.
1️⃣ DNS 레코드 (Record Sets)
2️⃣ 호스팅 영역 (Hosted Zones)
3️⃣ 헬스 체크 (Health Checks)
A
: hostname을 IPv4에 매핑AAAA
: IPv6에 매핑CNAME
: Hostname을 다른 Hostname에 매핑NS
: 호스팅영역의 네임 서버를 지정하는 레코드Alias
: Route53에서만 제공되는 특별한 유형의 레코드.도메인 이름을 AWS 리소스 (e.g. S3 버킷, CloudFront 배포, ELB 로드밸런서 등) 에 연결하는 레코드!
Public Hosted Zones
Private Hosted Zonea
이 3가지 대역은 전 세계 어디에도 공인 IP가 없는 약속된 사설로만 사용하는 IP 대역
(사설 IP 대역이 표준으로 정해져있음)
AWS에서 사용하는 IP 주소 표현 방식
요기서 /24는
IP 주소 총 32비트 중에서 Mask == 가릴 비트 수가 24개라는 뜻 (왼쪽부터 가림)
AWS에서 가장 큰 지역의 단위
ex. 서울, 버지니아 북부, 오하이오 등등
사실 우리는 AZ에 대한 정보(어디에 있는지~ 어떻게 구성됐는지~)를 알 수 없음!!
왜냐고? 공개안해주니까ㅋㅋ
클라우드 서비스 프로바이더 업계는 보안을 위해 관행적으로 비밀로 다루고 있음
AWS의 가상 네트워크임ㅋㅋ
== 나만의 개인 네트워크망 데이터센터!
→ AWS 계정 생성하면 자동으로 생성됨.
본인 계정이 있다면 확인할 수 있슴~~
✅ 자동으로 생성해줄만큼 당연한 서비스
AWS는 VPC를 강력하게 권장하고 있다.
사실 이전에는
EC2 Classic Platform
을 사용했음.
그결과
→ AWS의 수많은 사용자의 네트워크가 격리되지 않은 채로 관리됨
→ 기업들은 IP 주소 범위를 커스터마이징, 강력하게 제어할 수 있기를 원했음
➡️ 2013년 이후 가입자는 classic platform 사용 불가,
2022년 모든 EC2-classic 리소스 삭제
VPC의 작은 네트워크
라고~ 할 수 있겠다~
Subneting?
IP 주소 공간을 나누는 것
즉, Subnet이란,
✅ VPC의 IP주소를 나누어 리소스가 배치되는 물리적인 주소 범위
🍿 예시를 들어볼까함.
영화관에 갔어.
그러면 좌석을 배정받아야 함.
따라서 우리는 좌석을 구매하죠. 당연함~ 좌석은 한정적이니까여~
극장은 VPC.
우리는 리소스
각 좌석은 IP가 되는거임
극장은 구역이 나눠져 있죠, 아래처럼!
[출처는 이미지 속.]
즉 VPC도 서브넷을 나눌 수 있담니다~
즉즉, 💡VPC에 할당된 IP 대역을 다시 쪼갤 수 있다는 것이죠!!!!!💡
다시 본론으로 돌아와서.