컴퓨터를 공부하고자 마음먹은지 N일차
[137일차]aws ec2환경에 https적용하기 본문
이전: s3(정적호스팅)에적용하는법
ec2 서버에 https적용하는법
인증매니저를 통해 인증서만 제대로 발급받아줬다면,
이전 s3에 적용하는것 처럼 간단하다.
우선 도메인과 인증서를 발급받았다고 가정한다.
로드밸런서 설정
ec2 로 가서 좌측 탭의 로드밸런서를 눌러준다.
처음 생성한다면, 나처럼 텅텅 비어있을것이다.
위에 로드밸런서 생성을 눌러주자.
어플리케이션 로드밸런서생성을 선택해준다.
1단계에서 수정할 것은 리스너와 가용영역이다.
HTTP는 기본적으로 설정이 돼있으나, HTTPS를 따로 추가해줘야한다.
여기서 가용영역부분이 헷갈릴거다. 아무거나 선택해도 좋지만 반드시 선택해야할것은,
적용할 인스턴스가 사용중인 가용영역은 반드시 포함해야한다.
2단계로 넘어가서 ACM에서 인증서 선택을 선택해준다. 자동설정 되어있을거다.
인증서를 발급받았다면 말이다.
3단계 보안정책은 나중에 적용할 인스턴스의 보안그룹에 https포트만 열어주면된다.
4단계 라우팅 구성에서는 이름엔 아무거나 적어넣고,
대상유형에 인스턴스를 선택한다. (ec2의 인스턴스에 적용하기 때문)
프로토콜은 로드밸런서와 EC2가 통신할 프로토콜인데, http 포트는 80을 그대로놔둔다.
5단계에선 등록할 인스턴스를 등록된항목에 추가하면 된다.
그리고 6단계에서 생성하면된다.
route 53 설정
Route53으로 가주자.
그리고 호스팅영역으로 가서 내 도메인의 레코드를 조회한다.
그리고 레코드를 또하나 생성하자.
어떤짓을 하려는지 짐작이 갈거다. 내 로드밸런서와 레코드를 연결시켜줄거다.
이렇게까지 설정을 해주면, 밑에 만든 로드밸런서가 자동으로 뜬다.
그리고 레코드 생성을 누르면 끝.
http -> https 리디렉션
다시 로드밸런서로 가서 아까만든 로드밸런서를 선택한 후,
하단의 리스너탭을 클릭한다.
요렇게만 넣어주고 업데이트 해주면된다.
그리고 ec2환경에서 80포트와 443포트 둘다 노드로 열어준 포트로향하게 포워딩 해주자.
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 당신의서버포트
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 당신의서버포트
포스트맨같은걸로 한번 요청을잘받는지도 확인하면 좋다.
이 방법은 ec2환경 내에서 서버앱으로 인증서를 만들어서 https를 생성하는게 아니다
유효한 인증서를 만들어내는 인증툴을 설치해서 만들어주는 방법도 있지만, 이 방법은 우리가 만든 도메인에다가
로드밸런싱한 서버에 향하게 해주고, 서버앱이 열어준포트를 향하게 만들어 줬다.
ec2환경 내에서 직접 인증서를 발급받고 다운받아서 앱에 적용시키는 방법은 훗날 다시 알아보자.
'🗃AWS' 카테고리의 다른 글
[135일차]AWS s3(정적웹호스팅)에서 https적용하는법 (1) | 2021.01.27 |
---|