✅ Route 53
DNS
을 발급하고 관리해주는 서비스DNS
(Domain Name System) -> 문자를 IP주소로 변환해주는 시스템(서버)Route53
말고도, 가비아
후이즈
등에서도 도메인을 구매할 수 있다도메인이 없던 시절에는 특정 컴퓨터와 통신하기 위해서 IP 주소(ex. 12.134.122.11
) 를 사용했다
하지만 IP주소는 많은 숫자들로 이루어져 있어서 일일이 외우기 불편했고, 사람들이 기억하기 쉬운 문자로 컴퓨터의 주소를 나타낼 수 없을까라는 고민을 통해 DNS
가 만들어졌다
!! 컴퓨터는 숫자를 처리하기 쉽기 때문에 IP 주소를 문자로 구성하기에는 어려움
IP 주소는 HTTPS를 적용할 수 없기 때문에, 특정 서비스를 운영할 때 DNS
는 필수적으로 사용해야 한다
✅ 도메인을 연결하는 방법
EC2
를 생성하고 연결하여 서버 실행하기ROUTE 53
검색해서 도메인 구매내도메인한국
에서 무료로 구매해서 EC2 IP 등록✅ ELB (Elastic Load Balancer)
EC2
인스턴스 한테 골로루 나눠서 요청을 보내줌Https
도 ELB
에 적용
ELB
를 사용하기전에는 사용자들이EC2
의 IP 주소 또는 도메인 주소에 직접 요청을 보내는 구조였다
하지만 ELB를 도입하면EC2
에 직접적으로 요청을 보내지 않고,ELB
를 향해 요청을 보내는 구조가 된다
ELB의 부가 기능인 SSL/TLS(HTTPS)
개념 정리
✅ SSL/TLS
인증서
✅ HTTPS 적용시키는 이유
✅ ELB
세팅 방법
EC2 인스턴스
로 전달할지 설정하는 부분으로10 : 상태검사
✅ 상태검사란? : 특정 EC2 인스턴스에 있는 서버가 에러가 있는지 대상 그룹에 속해있는 각각의 EC2 인스턴스에 요청을 보내는것 (ELB 입장에서는 고장난 서버한테 요청(트래픽) 전달하는게 비효율적임)
그 요청에 대한 200번 대의 응답이 날라오지 않는다면 서버가 고장났다고 판단하고
그 EC2 인스턴스한테는 요청(트래픽)을 보내지 않음
그래서 상태검사를 하는 이유는 효율적인 요청(트래픽)
의 분배가 가능하기 때문이다
상태검사프로토콜 : HTTP , 상태검사 경로 : /health 로 설정하고 다음 클릭
✅ ELB에 도메인 연결하기
1. ROUTE 53
들어가기 -> 호스팅영역 -> 구매한 도메인 선택 -> 레코드 생성 ->
레코드이름 설정 : api로 적기 + 레코드 유형 : A-IPv4 주소 및 일부 AWS 리소스로 트래픽 라우팅 선택
-> 별칭 체크 -> 엔드포인트 : Application/Classic Load Balancer에 대한 요청 선택 -> 리전 : 서울 선택
-> 로드 밸런서 : 만든것 선택 -> 레코드 생성
✅ Https 적용을 위해 인증서 발급하기
1. Certificate Manager
검색해서 클릭 -> 인증서 요청 클릭 -> 퍼블리 인증서 요청 클릭 후 다음
-> 위에서 ELB에 도메인 연결한 정규화된 도메인의 이름을 넣기 -> 검증방법 : DNS 검증 - 권장
-> 키 알고리즘 : RSA 2048 선택 후 요청 -> 시간이 지난 후 새로고침 하기 (검증 대기해야함= 확인절차)
-> 생성된 것 들어가서 ROUTE 53에서 레코드 생성 클릭 -> 선택 후 레코드 생성 클릭
-> DNS 레코드 생성됨 -> 조금 기다리면 검증 시켜줌
✅ ELB에 HTTPS 설정하기
1. EC2 검색 후 클릭 -> 왼쪽에 내려서 로드밸런서 클릭 -> 생성한 로드밸런서 클릭 -> 리스너 및 규칙에서 리스너 추가 클릭 -> 리스너 구성부분에 기존 HTTP를 -> HTTPS로 바꿔주기
-> 대상그룹에는 만들었던 대상그룹 선택 -> 인증서부분에 만든 인증서로 바꿔주기 -> 추가 클릭
이렇게 하면 HTTPS 로 접속이 된다 하지만 HTTP로 접속해도 주의 문구가 나오면서 접속이된다
그래서 HTTP로 접속하면 자동으로 HTTPS로 자동으로 전환되게 만들어주는 설정을 추가하겠다
✅ HTTP로 접속하면 자동으로 HTTPS로 자동으로 전환 설정
기존의 리스너 및 규칙의 HTTP 를 삭제 -> 리스너추가 클릭 -> 프로토콜은 그대로 HTTP로 나두고
라우팅 액션을 URL로 리다이렉션으로 선택 -> 프로토콜 HTTPS 부분의 포트를 443으로 바꾸기
-> 추가
결론은 일반 IP주소에 HTTPS
를 적용시키려면 도메인부터 구매해서 붙인다음
EBL
도 추가줘야한다
✅ 비용이 안나가려면?
만든 로드밸런서 (ELB)
를 삭제하기
인스턴스
를 삭제하기
탄력적 IP
삭제하기
HTTPS
를 적용하기 위해서 ELB
말고도 Nginx
, Cerbot
도 있다
하지만 현업에서는 ELB
를 많이 사용한다 -> 설정하기 쉽고 HTTPS 인증서 만료 기간 갱신도 자동해줌
그러면 Nginx
(엔진엑스) 는 왜사용할까? -> HTTPS
를 적용하는데 비용이 들지 않음
Nginx
는 cmd 창에서 설치