서론
Https를 선택한 이유
- 프로젝트에서 jwt를 보내기 위하여 쿠키를 사용을 한다. 이때 브라우저 크롬의 80버전 이후부터 쿠키를 보내기 위해서 sameSite, Secure설정이 필수이다. 이때 http를 통하여 보내면 크롬에서 정상적으로 쿠키를 받지 못하여 도업을 하게되었습니다.
본론
1. EC2 탄력적 IP 연결
2. 가비아 도메인 구입
- 도메인을 aws에서 구입을 할 수 있지만 가격이 비싸기 때문에 가비아에서 구매를 하겠습니다.
- 회원가입을 하고 도메인을 누르면 추천 도메인이 나옵니다. 이후 결제를 하고 다음과 같은 설정을 하면 됩니다.
- 이후 마이페이지 -> 도메인 -> 관리를 통하여 관리를 할 수 있습니다. 지금은 여기까지 하고 route53를 할때 추가적으로 관리를 하겠습니다.
3. Route53
-
AWS에서 Route53 서비스로 들어가 호스팅 영역 -> 호스팅 영역 생성 -> 도메인 이름 입력 후, 생성 버튼을 누릅니다. 만들어진 호스팅 영역 인스턴스를 클릭해 상세 페이지로 이동합니다. 레코드 생성 버튼을 누른 후, 아래의 내용을 입력하고 레코드 생성 버튼을 누릅니다.
-
이후 레코드 생성을 눌러 레코드를 설정을 하고 값에 public ip를 입력을 합니다.
- 이제 값/트래픽 라우팅 대상을 살펴보면 4개의 주소가 나온다. 이걸 가비아에 도메인 관리에 들어가서 선택을 합니다.
- 네임서버에 1~4차에 넣습니다. 이때 뒤에 .은 제거를 해야됩니다.
4. Certificate Manager
- AWS Certificate Manager > 인증서 > 인증서 요청을 선택하고 도메인 이름을 입력하고 DNS 검증을 선택을 합니다.
- 생성을 하고 Route53에서 레코드 생성을 누르면 정상적으로 발급 완료가 된다. 이때 Route53에서 확인을 해보면 새로운 컬럼이 추가가 되었을 것이다.
5. Target Group
-
대상 그룹에서 특별하게 설정은 필요가 없지만 health 부분만 신경을 쓰면 된다. 처음에 ec2에 들어가서 대상 그룹 > 대상 그룹 생성을 누르고 인스턴스 , 이름 , http 80 , vpc를 설정을 하면된다.
-
생성을 하고 health를 보면 404로 오류가 노올텐데 이걸 편집에서 404로 변경하면 정상으로 변경이 됩니다.
여기서 삽질을 많이 했습니다. 404에러 처리는 이 사이트를 참고
https://may9noy.tistory.com/762
6. ELB 등록 (http -> https)
- EC2에 로드벨런서를 선택하고 생성을 합니다. 이름을 입력하고 HTTP : 80 , HTTPS :443의 리스너를 선택을 합니다. 이후 가용영역을 2개 선택 이후 기본 인증서 선택에 ACM에서 인증서 선택 (권장)을 누르고 인증서 이름을 선택을 합니다.
가용 영역은 EC2 페이지에 영역을 확인할 수 있습니다.
- 이후 HTTPS에서 라우팅 액션에 대상 그룹으로 전달 -> 이전에 대상 그룹을 선택하고
기본 SSL/TLS 서버 인증서 > ACM에서 > 이전에 만든 인증서를 선택을 하겠습니다.
- 여기까지 완료가 되었으면 Route53에서 새로운 레코드 생성 레코드 유형 , 대상 , 정책을 선택을 하면 끝
참고
https://may9noy.tistory.com/762
https://velog.io/@u-nij/Spring-Boot-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-AWS-EC2%EC%97%90-Route53-%EB%8F%84%EB%A9%94%EC%9D%B8-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0
https://devlog-wjdrbs96.tistory.com/293