✅ 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 창에서 설치