본문 바로가기
Linux,Cloud

[AWS] AWS ELASTICBEANSTALK :: Flask 웹사이트 HTTPS로 배포하기

by 돈민찌 2021. 10. 14.
반응형

자동재배포 구성하기에 바로 이어서 씁니다. 일부 혹은 전체 기능이 사용자의 위치 정보를 필요로 하는 등 HTTPS 포트 제공이 필요한 경우에 이 내용 따라하시면 될 것 같습니다!!

앞의 글 내용대로 하니까 잘 배포가 되시던가요? 혹시 어떤 분들은 HTTP 프로토콜이라 특정 기능을 사용할 수가 없다며 배포 자체가 진행되지 않는 분들도 있으실 겁니다. 그런 경우에 맞춰서 HTTPS 배포 방법 알려드립니다.

일부분은 앞에 쓴 CloudFront 글과 좀 겹치는 부분이 있습니다. 처음 보시는 분들도 있다 생각하고 작성합니다.

1. DNS 관리 기능을 맡고 있는 AWS ROUTE 53에 접속합니다.

2. 왼쪽 네비게이션 탭에 따라 대시보드 아래의 호스팅영역에 들어가 주세요! 

3. 호스팅 영역 생성(주황색 버튼!)을 클릭하고, 가비아 혹은 네임칩 등에서 받은 도메인을 입력해줍니다.

4. 따로 건드릴 것 없이 호스팅 영역 생성을 마무리해줍니다. 클릭해서 들어가보면 다음과 같은 값이 보이실 것입니다.

5. 이 중 NS(네임서버)의 값을 가비아에서 바꿔줘야 합니다. 가비아는 길 헤매기 쉬운 구조라 링크 드립니다.

6. 설정할 도메인을 선택한 후 네임서버 변경을 클릭합니다.

7. 1차~4차 네임서버의 값을 모두 위의 Route53에서 복사해 하나씩 붙여줍니다. 이제 가비아에서 샀지만 AWS가 관리하는 도메인이 됩니다.

돌아가는 방법도 오른쪽 위에 클릭만 하면 끝이니까 과감하게 진행합니다.

8. 이번엔 AWS의 ACM(인증서 관리자)으로 갑니다. 검색창에 ACM 또는 Certificate Manager를 입력해 접속합니다.

9. 인증서 요청하기를 클릭합니다.

10. 공인 인증서 요청을 클릭합니다. (프로비저닝 등 다른 이름일 수도 있는데 사설만 아니면 됩니다.)

11. 도메인 이름에 만든 도메인 + *.을 넣은 도메인 두개를 입력해줍니다.

12. DNS 검증을 클릭하고 다음으로 갑니다. 태그는 입력하지 않아도 됩니다.

13. 검토를 클릭합니다. 확인 요청을 클릭합니다.

14. 검증 탭에서 각 도메인 왼쪽의 ▶ 을 클릭합니다.

15. ``Route 53에서 레코드 생성``을 클릭합니다.

16. Route 53에서 레코드를 관리해주고 있기 때문에 따로 CNAME을 복사해줄 필요없이 알아서 전달이 되고 잠시 후에 검토가 승인될 것입니다. 잠깐 쉽니다.

17. 다시 EB로 돌아옵니다. 왼쪽 네비게이션의 구성을 클릭합니다.

18. 로드밸런서 "편집"을 클릭합니다. 

19. 주황색 버튼 "리스너 추가"를 클릭합니다.

20. 이 부분 헷갈리시면 안됩니다 "리스너" 포트와 프로토콜은 443/HTTPS, "인스턴스" 포트와 프로토콜은 80/HTTP로 바꿔줍니다. 하나를 바꾸면 다른 것도 바뀌는 것이 있어서 실수하기 쉽습니다.

21. 인증서 선택을 클릭해서 등록하려던 도메인에 붙은 인증서를 클릭해 추가합니다. 저장합니다.

22. 다시 Route 53으로 갑니다. 호스팅영역에서 우리 도메인을 클릭합니다.

23. 주황색 버튼 "레코드 생성"을 클릭합니다.

24. 아무것도 입력하지 않은 상태 (A 레코드 유형 그대로) 에서 오른쪽의 별칭 토글을 켜줍니다. Elastic Beanstalk를 클릭합니다.

25. EB를 생성한 리전을 입력합니다.

26. 리전을 클릭하면 환경 선택에 등록한 EB 인스턴스가 나타납니다. 클릭하고, 대상 상태 평가를 꺼줍니다. (이 부분은 확실하지 않습니다. 큰 상관은 없는듯합니다.)

27. 주황색 버튼 "레코드 생성"을 클릭합니다.

28. 같은 방법으로 레코드 이름에 www를 입력한 레코드를 하나 더 만들어주면 끝입니다. 고생하셨습니다.

반응형

댓글