AWS -Route 53

이희찬·2023년 8월 3일
0

AWS

목록 보기
6/7

도메인이 뭘까?

웹에서 서비스를 공개하려면 도메인이 필요하다고 한다.
도메인이 뭔데? 라는 생각이 들 것인데,

  • naver.com
  • daum.net
  • velog.io

우리가 자주 본 이런 인터넷 주소가 바로 도메인이다.

네트워크 통신은 IP(인터넷 프로토콜)을 이용해 이루어지기 때문에 흔히들 말하는 192.168.0.1 같은 ip 주소를 통해 목적지를 찾는다. 하지만, 숫자로 이루어져 있기 때문에 직관성이 떨어지고, 사람이 기억하기에 어려운 문제가 있다.

그래서 사람이 이해하기 쉬운 주소로 표현하는 것이 도메인이다.

도메인 이름 규칙

도메인의 이름을 정하는 규칙은 아래와 같은데

  1. 도메인이름의 구성요소는 레이블(label)과 '.' 이다.
  2. 레이블에 쓸 수 있는 글자
    • 영어 알파벳 ([A-Z], [a-z])
    • 숫자 ([0-9])
    • 하이픈 ([-])
    • 한글 ([한글 글자마디 11,172 자])
  3. 레이블은 하이픈으로 시작하거나 끝날 수 없으며,
    • 영어 알파벳의 대소문자 구별은 없다.
  4. 레이블의 길이
    • 레이블의 길이는 2자 이상, 63자 이하이며,
    • 한글이 포함된 레이블은 17자 이하이어야 한다.

...대충 공개하려는 서비스의 이름을 적으면 된다고 생각한다.

DNS

우리의 서비스 주소의 이름만 정했다고 해서, 바로 네이버나 다음과 같이 주소로 서비스에 접근할 수 없다. DNS라는 서비스에 등록을 해야 한다.

그럼 DNS는 또 뭔데? 라는 생각이 들 것인데, 사춘기

DNS라는 서비스는 주어진 도메인을 정해진 IP로 변환해주는 시스템이다. 따라서 주소의 이름을 정하고 DNS에 등록을 해야지만 비로소 도메인으로 서비스에 접근할 수 있는 것이다.

TLS/SSL

DNS에 도메인을 등록했다면 이제 도메인으로 우리 서비스에 접근할 수 있다!

단, http로만.

http로 통신하게 되면, 중간에 패킷을 탈취 당하여 위변조의 위험이 있기 때문에 권장되지 않는다.

그렇다면, https로 통신을 해야하는데 어떻게 해야 할까?

우리가 등록한 도메인의 TLS 인증서를 발급하고, 이를 통해 통신을 해야한다.

Route 53

이제 도메인 관련 이야기는 대부분 끝난 것 같다. 그렇다면 AWS에서 제공하는 DNS 서비스를 소개할 시간인 것 같다!

AWS는 Route 53이라는 서비스를 통해 도메인 이름 등록과 DNS를 제공한다.

DNS는 두가지 유형으로 나뉘는데,

  • 퍼블릭 DNS : 외부 공개 DNS
  • 프라이빗 DNS : 내부용 DNS

보통은 퍼블릭 DNS만 유용하게 사용할 것이라 생각한다.

프라이빗 DNS는 VPC 내부의 리소스에게 이름을 붙여 관리할 때 사용하게 될 것인데, 내부의 리소스에 이름을 붙여 사용할 정도면, MSA 환경일 것이고, 그렇다면 대부분 MSA 구축하는 EKS를 사용한다면 k8s의 기능으로 대체할 수 있기 때문이다.

Certificate Manager

AWS에서 도메인을 발급 받았다면, 앞서 설명한 TLS 인증서를 발급받아야 한다.
AWS에서는 Certificate Manager라는 서비스로 TLS 인증서를 무료로 발급 받을 수 있다.

TLS의 인증서는

  • 도메인 검증 완료 인증서
  • 조직 검증 완료 인증서
  • 확장 인증 인증서

세가지 유형으로 나뉘는데, AWS는 도메인 검증 완료 인증서만 취급한다.

와일드 카드 인증서

인증서를 발급받을 때는 인증받을 도메인의 이름을 등록해야하는데, 하나의 인증서에 여러 도메인을 인증 받을 수 있는 방법이 있다.

그게 바로 와일드 카드 인증서인데, 도메인 맨 앞쪽에 *.domain.com 이런 식으로 *을 붙이게 된다면, sub.domain.com, random.domain.com 처럼 여러 도메인 주소도 같이 인증받을 수 있다.

레코드 설정

도메인 발급받고! 인증서까지 받았어요! 이제 나 접속할 수 있죠?!

안타깝게도 아직 해당 도메인에 할당된 IP 주소가 없다.

DNS는 도메인은 알고 있지만, 우리의 서비스에 접근할 IP 주소를 모른다. 따라서 Route 53에서 발급받은 도메인에 우리가 접속하고 싶은 리소스를 연결시켜야만 한다. 그게 레코드 설정이다.

profile
1717177

0개의 댓글

관련 채용 정보