[AWS] DNS서비스 (feat. Route53)

박하늘·2025년 4월 2일

AWS

목록 보기
3/4
post-thumbnail

▪️ 도메인 (DNS)

인터넷에서 웹사이트를 찾을 수 있도록 하는 사람이 읽을 수 있는 주소 ( EX. google.com )
도메인은 IP 주소를 기억하기 어렵기 때문에 사용되며, DNS가 이를 IP 주소로 변환해줘.

  • DNS : 도메인 이름(문자)을 IP 주소로 변환해주는 시스템(서버) - AWS 에서는 Route53 서비스
    ( EX. google.com을 브라우저에 입력하면 DNS 서버가 이를 142.250.190.78 같은 IP 주소로 변환 )

  • IP : 특정 컴퓨터의 주소

  • PORT : 한 컴퓨 내에서 실행되고 있는 특정 프로그램의 주소
    즉, IP 주소가 집 주소라면, 포트는 특정 방 번호 같은 개념

[ naver.com 도메인의 IP 주소를 알아내는 방법 ]
nslookup naver.com

EX. 13.250.15.132:3000

  • IP - 13.250.15.132
  • PORT - 3000
  • 13.250.15.132 이 IP 주소에 있는 3000번 PORT 이다.

[브라우저 창에 포트 번호를 입력하지 않는 이유]

도메인 주소를 통해서는 IP 주소만 확인이 가능하다 하지만 주소창에 도메인 주소를 입력해서 엔터를 누르면, 브라우저는 기본적으로 80번 포트로 통신을 보내게 설정되어 있다. 만약 다른 포트로 통신하고 싶다면 ...
naver.com:3000으로 입력 시 네이버 사이트3000번 포트로 이동

[잘 알려진 포트(well-known port) 란 ?]

포트 번호는 0 ~ 65,535번까지 사용할 수 있다. 그 중에서 0 ~ 1,023번 까지의 포트 전호는 주요 통신을 위한 규약에 따라 이미 정해져있다. 이렇게 규약을 통해 역할이 정해져 있는 포트 번호를 의미한다.

📍 잘 알려진 포트(well-known port) 중 자주 사용되는 PORT

  • 22번 (SSH, Secure Shell Protocol) : 원격 접속을 위한 포트번호
  • 80번 (HTTP) : HTTP 로 통신할 때 사용
  • 443번 (HTTPS) : HTTPS 로 통신할 때 사용

하지만 정해진 규약을 꼭 지키지 않아도 된다. 권장되는 포트번호일 뿐이다. 즉 규약으로 정해져 있는 포트번호와 다르게 사용 가능




▪️ [DNS] - Route 53 (유료)

확장 가능한 DNS 및 도메인 이름 등록
도메인을 발급하고 관리해주는 서비스 즉 DNS 서비스




▪️ [DNS] - 내 도메인 한국 사용법 ( 무료 도메인 사이트 )

1️⃣ 도메인 검색

일반 도메인 검색내가 원하는 도메인 이름으로 검색

2️⃣ 도메인 선택

등록 불가를 제외하고 마음에 드는 도메인 선정 후 등록하기 선택

3️⃣ 도메인 등록

보안코드 입력 후 등록하기 선택

4️⃣ 도메인 수정

도메인 관리 탭 들어가서 해당 도메인 수정

  • IP연결(A) : IP를 연결시킬 때

  • 별칭(CNAME) : IP 주소를 모르고, 다른 도메인 주소를 연결시킬 때 ( https:// 제외 후 입력 )

    기존 도메인을 관리하는 DNS 에 IP 주소를 미리 요청해두고 저장한 뒤에 변경된 CNAME (도메인)주소로 요청 시 기존 도메인 주소에 대하여 저장해둔 IP 주소를 반환하여 요청해준다

  • 선택한 도메인 주소 앞에 빈 칸은 서브 도메인 으로 한 도메인에서 앞에 서브 도메인만 다르게 해서 여러개 사용 가능하다 ( EX. map.insta-neul.p-e.kr / food.insta-neul.p-e.kr )

✨ 무료 도메인의 한계

불안정하여 장애가 자주 발생하며 서버가 끊길 수 있음. 실제 서비스에서는 사용 자제




▪️ 도메인 생성

1️⃣ AWS 의 CloudFront 접속 후 해당 배포 아이디 클릭 후 설정 수정 (Edit)

2️⃣ Custom SSL certificate - optional

HTTPS 를 적용시키기 위한 인증서 발급받기

  • Request certificate : 인증서 발급받기
    US East (N. Virginia) Region (us-east-1) 해당 지역에서 발급받은 인증서만 사용 가능
  • Request certificate 클릭 후 위에 지역 꼭 다시 한 번 확인 해주기 US East (N. Virginia) Region (us-east-1)

3️⃣ 도메인 이름 설정

  • DNS 서비스에서 받은 변환된 도메인 주소 (insta-neul.p-e.kr) 넣은 후 요청(Request)

4️⃣ 인증서 상태 확인

인증서 목록(List certificates) → Certificates

  • 검증 대기 중 ...

  • 해당 검증 대기 중인 인증서 클릭 후 CNAME name, CNAME value 확인

    • 검증 대기 중인 것은 CNAME 이라는 유형CNAME name 이라는 키 값CNAME value 이런 값이 들어있는 지 확인 해본다는 의미
      " CNAME name 이 값에 요청을 보냈을 때 CNAME value 이 값이 반환이 되는 지 체크 할 것이니 이 옵션을 설정해 그럼 인증서 발급 해줄게 "

5️⃣ CNAME 옵션 수정

다시 DNS 서비스인 내도메인 한국 접속 하여 수정

+ 버튼 클릭 후 ...

  • CNAME name _4aae14221c50692332b0e68c91875bb6 - 서브도메인 자리
  • CNAME value _2b1d4ce094a307f0060065f2e3d216da.xlfgrmvvlj.acm-validations.aws - 뒤에 도메인주소 자리

6️⃣ 인증서 상태 재확인

5️⃣ 처럼 수정 후 다시 AWS 의 ClousFront 인증서 상태 새로고침 시 검증 완료

7️⃣ 다시 CloudFront 서비스에서 배포 아이디 클릭 후 설정 수정

  • Alternate domain name (CNAME) - optional : DNS 서비스에서 변환한 도메인 주소
  • Custom SSL certificate - optional : 인증 완료 된 인증서 선택 후 저장



▪️ 파일 수정 시 적용 방법

1️⃣ 파일수정

파일 수정 및 npm run build 재빌드 후 S3 접속하여 파일 전체 삭제 및 재업로드

  • 수정사항 - Facebook 자리에는 원래 Vite + React 였음
  • S3 링크로 들어가면 수정 되어 있음 하지만 CloudFront 또는 DNS 서비스에서 발급받은 도메인 주소로는 접근 불가

    [S3 링크로만 접속이 가능한 이유]
    S3의 파일이 변경될 때 마다 CloudFront(임시저장소)로 동기화 되지 않는다는 단점 존재

✨ [ 캐싱 오류 ]

  • 크롬, 운영체제, 공유기 등에서 이전의 잘못된 DNS 정보를 캐싱하고 있을 수 있음
  • 시크릿 모드 로 전환 후 다시 접속 시 수정되기 전 화면으로 확인 가능

2️⃣ 무효화 설정

다시 CloudFront에서 해당 배포 아이디 → Invalidations(무효화) → Create invalidation 순서대로 클릭 및 접속

  • 모든 경로에 동기화가 될 수 있도록 /* 작성 후 저장
    → 이는 OriginServer(S3)에 있는 변경 사항을 임시 저장소 (CloudFront)에 강제 업데이트

3️⃣ 적용 확인

  • 이렇게 적용 완료 시 DNS 서비스에서 발급받은 도메인 주소(insta-neul.p-e.kr) 접속 시 정상 적용
    ✨ 시크릿 모드로 접속 권장



▪️ 아키텍쳐 흐름

Route53 대신 내도메인 한국 사용

  • URL 창에 도메인주소 넣고 엔터 쳐서 해당 주소에 접근
  • DNS 서버에 사용자가 입력한 도메인 주소에 대한 IP 주소 받기
  • 해당 IP 주소로 임시 저장소 (CloudFront) 접근
  • CloudFront에 없는 정보들은 S3 에서 직접 받아와서 사용

0개의 댓글