Notice
Recent Posts
Recent Comments
Link
04-27 08:24
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

<<개발일지>>

AWS에서 https 적용하기 본문

AWS

AWS에서 https 적용하기

개발하는지호 2024. 5. 23. 13:38

온프라미스 환경에서 https를 사용하려고 하면, 인증서 업체에서 SSL 인증서를 구매하여 톰캣이나 아파치에 SSL 인증서를 구매하여 톰캣이나 아파치에 SSL 설정을 해야한다.

 

AWS에서는 "SSL 인증서 업체" 에서 별도로 인증서를 구매하지 않아도 "Certificate Manager" 서비스에서 직접 생성해주고 관리할 수 있다.

 

1. Certificate Manager

 

 

위 사진 처럼 'Certificate Manager > Cerificates' 메뉴에서 인증서를 관리할 수 있다.

여기서 'Request' 버튼을 클릭하여 'Request certificate' 화면으로 이동한다.

*설정 전 현재 region을 파악할 필요가 있다. 본인은 예전에 미국 오하이오 하다가 팀원들이 만들어 놓은 EC2를 못 보는 문제가 있었다 ㅋㅋㅋ

 

Cetificate type은 SSL/TLS 인증서를 생성하기 위해 'Request a public certificate'를 선택하였다.

 

그 다음 'Next' 버튼을 클릭하여 다음화면으로 이동한다.

 

 

 

Fully qualified domain name 적용할 도메인명을 입력한다. 나는 우리 프로젝트 이름이었던 'universebenefits.com'으로 입력했다.

그리고 '*.universebenefits.com'이라고 밑에 추가로 작성해주면
'xxx.universebenefits.com' 즉, xxx관련하여 모두 인증서를 적용하기 위함이다.
Select validation method 도메인에 대한 소유권 확인 방법을 선택한다. 'DNS validation'을 선택했다.  route 53을 사용하고 있으므로 이 방법이 편리하다.

 

모든 항목을 입력했으면 'Request' 버튼을 클릭하여 인증서를 생성한다. 생성을 완료하게 되면 아래와 같이 목록화면에 추가된 것을 확인할 수 있다.

 

현재 인증서가 추가되었지만, Status가 "Pending validation" 상태이다. 이것은 도메인에 대한 소유권을 확인하고 있다는 의미인데, 위에서 설정한 것 처럼 나는 소유권 확인 방법을 dns(dns 검증)으로 선택했다. 소유권을 확인하기 위해서는 route 53에 사용 중인 도메인 rocord 한줄을 추가해야만 한다.

 

위 사진대로 상세화면으로 이동한다.

 

route 53에 도메인 rocord를 추가하기전, record에 어떤 정보를 추가해야하는 지 알아야 한다. 위 사진읜 생성한 인증서의 상세 화면이다.

위와 같이 Domains 항목에 CNAME name, CNAME value를 route53에 추가하면 된다.

 

위의 정보를 직접 Route 53 메뉴에서 해당 도메인 record를 추가해도 되지만, 'Create records in Route 53' 버튼을 클릭해서 조금 더 간단하게 등록할 수 있다. 버튼을 클릭하면 아래와 같은 화면을 볼 수 있다.

 


*여기서 잠깐 ~! create records in Route 53을 클릭해도 없는 위의 사진처럼 안 나오는 경우가 있다.

여러가지 원인이 있을 수도 있으나, 저는 Route 53에 호스팅된 존이 없는 경우였다.

 

해결방법 :

  1. AWS Management Console에서 Route 53으로 이동한다.
  2. "Hosted Zones"을 클릭한 후 "Create Hosted Zone"을 선택한다.
  3. 도메인 이름을 입력하고 "Create"를 클릭하여 호스팅된 존을 생성한다.

 

이렇게 하면 문제가 해결이 된다 !!  참고하세요!!

 


 

 

 

한 번 더 확인 한 후에 'Create records' 버튼을 클릭하여, universebenefits.com 도메인 레코드에 추가하도록 한다. 추가된 것을 확인하려면, route 53 해당 도메인 상세화면에서 확인할 수 있다.

 

route 53 자신의 도메인에 위와 같이 레코드가 추가(참고하는 사진에서는 Indra라는 도메인이지만 나는 universebenefits.com으로 나타났다.)되었음을 알 수 있다. 이제 도메인 소유권 확인이 끝날 때 까지 기다린다.(평균 30분 걸린다)

 

 

시간이 흐르면 Status가 'Issued'라고 확인되면 적용이 완료 되었다고 보면된다..

 

인증서를 생성했다고 바로 https가 적용되는 것은 아니다. 로드밸런서 리스너에 https를 추가해야 한다.

 

2. Load Balancer Listener 추가

https를 사용하가ㅣ 위해서 ALB리스너에 https:443 포트를  추가 해야 한다.

 

'Load Balancers' 메뉴로 이동!

 

 

위와 같이 현재는 80포트밖에 없다. 'Add listener' 버튼을 클릭하여 리스너 등록 화면으로 이동한다.

 

 

 

Protocol https:443을 입력했다.
Target group 타겟 그룹은 서비스 중인 타겟으로 선택했다.
Default SSL/TLS certificate 인증서를 선택하는 옵션인데, 위에서 생성한 인증서를 선택했다.

 

모든 항목을 입력했으면 'Add' 버튼을 클릭하여 리스너를 추가한다.

 

 

https 리스너가 추가된 것을 확인할 수 있다. 이제 접속해서 테스트를 진행해야 한다.

 

3. 브라우저에서 https 접속 확인

 

 

이렇게 작성했을 때 본인의 프로젝트가 나타나면 성공한 것이다.

 

참고:

https://m.blog.naver.com/indra494/222783768001


여기서 잠깐!! 

 

무사히 진행하고 나서 

 

AWS 로드밸런서 등록 후 나오는 503에러가 발생하는 경우 해결 방법 

 

V

 

그건 여기서 해결하겠다!!

https://jiholine10.tistory.com/506

 

AWS 로드밸런스 등록 후 503 에러 해결

참고https://samtao.tistory.com/56

jiholine10.tistory.com