Route53
- 고가용성, 확장성을 갖춘 완전히 관리되며 권한있는 DNS이다.
- 권한이 있다. = 고객인 우리가 DNS 레코드를 업데이트 할 수 있다는 것이다.
(즉, DNS에 대한 완전히 제어할 수 있다.) - Route 53는 도메인 이름 레지스트라로 도메인 이름을 등록한다.
- Route 53의 리소스 관련 상태 확인을 확인 할 수있다.
- 100% SLA 가용성을 제공하는 유일한 AWS 서비스이다.
- 왜 Route 53 일까?!
- 53은 DNS 서비스, 이름에서 사용되는 전통적인 DNS 포트이다.
- 클라이언트가 있고, 그들이 우리의 EC2 인스턴스 example.com에 접근하고자 한다.
그러나 지금 EC2 인스턴스에는 오직 퍼블릭 IP만 있다.
이때 DNS 레코드를 아마존 Route 53의 호스팅 존에 쓰려고 한다. - Route 53 서비스가 IP 54.22.33.44를 응답한다.
그러면 클라이언트는 바로 EC2 인스턴스에 접근한다.
Route53 - Records
- Route 53에서 여러 DNS 레코드를 정의하고, 레코드를 통해 특정 도메인으로 라우팅하는 방법을 정의한다.
- 각 레코드는 밑의 내용과 같은 정보를 포함한다.
- 도메인이나 example.com과 같은 서브 도메인 이름과 같은 정보를 포함한다.
- 레코드 종류는 예를 들어 A나 AAAA가 있다.
- 레코드의 값은 예를 들어 123.456.789.123이다.
- 라우팅 정책은 Route 53이 쿼리에 응답하는 방식이다.
- TTL(Time To Live)은 DNS 리졸버(resolver)에서 레코드가 캐싱 되는 시간이다. - Route 53에서 지원하는 DNS 레코드 종류
- 반드시 알아야 하는 것은 "A, AAAA, CNAME, NS"
- 설정할 수 있는 고급 레코드는 "CAA, DS, MX, NAPTR, PTR, SOA, TXT, SPF, SRV"
Route53 - Record Types
- A
- 호스트 이름과 IPv4 IP를 매핑한다.
: 예를 들어, example.com은 1.2.3.4.로 바로 연결된다. - AAAA
- A와 비슷한 아이디어이고, 호스트 이름을 IPv6 주소에 매핑한다. - CNAME
- 호스트 이름을 다른 호스트 이름과 매핑한다.
- 대상 호스트 이름은 A나 AAAA 레코드가 될 수 있다.
- Route 53에서 DNS 이름 공간 또는 Zone Apex의 상위 노드에 대한 CNAMES를 생성할 수 없다.
: 예를 들어, example.com에 CNAME을 만들 수 없지만, www.example.com에 대한 CNAME 레코드는 만들 수 있다. - NS
- 호스팅 존의 이름 서버이다.
- 서버의 DNS 이름 또는 IP 주소로 호스팅 존에 대한 DNS 쿼리에 응답을 할 수 있다.
- 트래픽이 도메인으로 라우팅 되는 방식을 제어한다.
Route53 - Hosted Zones
- 호스팅 존은 레코드의 컨테이너이다.
- 도메인과 서브도메인으로 가는 트래픽의 라우팅 방식을 정의한다. - 종류
- Public Hosted Zones
: 퍼블릭 도메인 이름을 살 때마다, mypublicdomain.com이 퍼블릭 도메인 이름이라면 퍼블릭 호스팅 존을 만들 수 있다.
: 퍼블릭 존은 쿼리에 도메인 이름 application1.mypubilcdomainname.com의 IP가 무엇인지 알 수 있다.
- Private Hosted Zones
: 공개되지 않는 도메인 이름을 지원한다.
: VPC(가상 프라이빗 클라우드)만이 URL을 리졸브 할 수 있다.
: 사기업에는 때때로 회사 네트워크 내에서만 접근 할 수 있는 URL이 있다. 비공개 URL이기 때문에 비공개로 되어 있다. - AWS에서 만드는 어떤 호스팅 존이든 월에 50센트를 지불해야한다.
- 즉, Route 53 사용은 무료가 아니다!
- 도메인 이름을 등록하면 일 년에 최소 12달러를 지불해야 한다.
- Public Hosted Zones
- 공개된 클라이언트로부터 온 쿼리에 응답할 수 있다.
- 웹 브라우저에서 example.com을 요청하면 IP를 반환한다.
- Private Hosted Zones
- 해당 VPC에서만 동작한다.
- 비공개 도메인 이름의 프라이빗 리소스를 식별할 수 있게 한다.
- 예를 들어, 위의 이미지처럼 EC2 인스턴스 1개가 있고 webapp.example.internal을 식별하고자 한다.
또 다른 EC2 인스턴스에서는 api.example.internal을 식별하기 원하고 데이터베이스에서는 db.example.internal을 식별하고자 한다.
프라이빗 호스팅 존에 등록하려고 하는데 첫 번째 EC2 인스턴스가 api.example.internal을 요청하는 경우, 프라이빗 호스팅 존은 프라이빗 IP 10.0.0.10이라는 답을 가지고 있다. EC2 인스턴스는 데이터베이스에 연결이 필요할 수도 있는 두 번째 EC2 인스턴스에 연결한다.
database.example.internal가 무엇인지 물어보면 프라이빗 호스팅 존은 프라이빗 IP를 알려준다.
퍼블릭 호스팅 존은 프라이빗 호스팅 존과 똑같이 작동하지만, 퍼블릭 호스팅 존은 누구든 우리의 레코드를 쿼리 할 수 있다.
프라이빗 호스팅 존은 오직 프라이빗 리소스, VPC에서만 쿼리 할 수 있다.
'AWS(Amazon Web Service)' 카테고리의 다른 글
[AWS] Route 53 - Alias (1) | 2024.10.16 |
---|---|
[AWS] Route 53 - Records TTL (1) | 2024.10.15 |
[AWS] DNS(Domain Name System) (2) | 2024.10.13 |
[AWS] 알아두면 좋은 포트 목록 (0) | 2024.10.12 |
[AWS] ElastiCache (1) | 2024.10.12 |