[AWS] Route 53 - 가비아 도메인 연결

진예·2024년 8월 6일
0

Infra

목록 보기
6/7
post-thumbnail
post-custom-banner

2차 때 정신 없어서 도메인 연결 관련해서 정리 못했던 것도 있고,, 마침 과제 하면서 개인 프로젝트? 배포용 도메인 하나 산 기념으로 다시 연결해보면서 정리해보는 글,,


💡 Route 53

Route 53 : 클라우드 기반의 DNS 웹 서비스 ➡️ EC2, ELB, S3 등의 다양한 인프라와 연결 가능

DNS (Domain Name System) : 도메인 이름 ➡️ IP 주소 변환


✅ 도메인 연결

도메인 구매하기 : 가비아


1. Route 53 : 호스팅 영역

  • 호스팅 영역 생성 : 구매한 도메인 주소 입력

2. 네임서버 설정

  • 호스팅 영역 시 NS, SOA 레코드가 자동 생성되는데, 이 중 NS 레코드가 제공하는 4개의 트래픽 값가비아의 네임서버로 등록해줘야 함. xxx.xxx.xxx. 형태로 제공하는데, 여기서 마지막 .을 지우고 입력해야 함.

  • 가비아에서 사용할 도메인의 네임서버에 4개의 트래픽 값1~4차에 순서대로 입력!

3. ACM : 인증서 요청

  • ACM(Amazon Certificate Manager)에서 인증서 요청 : 도메인 주소 입력 ➡️ 검증까지 10분정도 걸린듯?

  • 검증 기다리는 동안 생성된 인증서를 통해 Route 53에서 레코드 생성 해주기. 다시 Route 53으로 돌아가서 해당 도메인 호스팅 영역을 확인해보면 CNAME 레코드가 생성된 것을 확인할 수 있음! (늦게 캡쳐해서 A 레코드까지 있는데 얘는 밑에서 생성할 예정..)

  • 이것저것 하다보면 어느샌가 인증서가 발급되어 있다,, 다음 단계 ㄱㄱ

4. 대상 그룹

EC2 → 로드 밸런싱 → 대상 그룹

  • 대상 유형 : EC2 인스턴스에 배포했으므로 인스턴스 선택
  • 프로토콜 : 포트 : nestjs 프로젝트를 3000번 포트로 배포했으므로 HTTP:3000으로 설정
  • 대상 등록 : 도메인 연결할 인스턴스 선택 후 아래에 보류 중인 것으로 포함 꼭 클릭하기,, 안했다가 로드밸런서까지 다 연결했는데 계속 503 떠서 한참 삽질함 ^-^,,

5. 로드밸런서

EC2 → 로드 밸런싱 → 로드밸런서

  • 가용 영역 : 최소 2개 이상 선택해야 함. 각 영역을 체크하면 서브넷 ID가 나오는데, 해당 영역의 서브넷 ID연결할 인스턴스의 서브넷 ID와 일치하는 걸 포함해줘야 함! 나는 2a가 같길래 그냥 위에서 2개 설정해줌..

  • 리스너 : HTTPHTTPS에 연결해줌. HTTP의 경우 프로젝트를 3000번으로 배포했으므로 해당 포트와 연결하고, HTTPS는 기본 포트인 443 + 위에서 만든 인증서까지 연결. 해준 후에 둘 다 위에서 생성한 대상 그룹과 연결해주기!

  • 로드밸런서를 생성했으면 Route 53으로 돌아가서 해당 호스팅 영역에 레코드 생성 후에 만든 로드밸런서 연결해주기! (별칭 선택) 그러면 A 레코드까지 생성 완료.

  • 로드밸런서 생성 시 만들어준 HTTP/HTTPS 리스너에 새로운 규칙 생성

    • HTTPS : https://도메인 접속 시 대상 그룹으로 바로 연결

    • HTTP : http://도메인 접속 시 https://도메인으로 리다이렉션하도록 설정!


로드밸런서까지 설정한 후에 도메인 접속 시 배포된 프로젝트가 정상적으로 보이는 것을 확인할 수 있음!

현재는 과제로 제출한 nestjs 프로젝트를 연결해놨는데, 앞으로 개인 프로젝트나 개인적으로 뭐 배포할 일 있으면 해당 도메인을 애용할 예정,,

profile
백엔드 개발자👩🏻‍💻가 되고 싶다
post-custom-banner

0개의 댓글