프로젝트 인프라 #03 HTTPS AWS로 설정

2022. 11. 28. 19:43항해99/인프라 설정 일지

2022/11/28

  • 설정내용

기존의 ec2에 생성한 인스턴스의 퍼블릭 ip 주소를 가비아에서 도메인을 구매해 적용해줬다.

도메인의 HTTP -> HTTPS로 변경하기 위해  AWS Certificate Manager(ACM) 를 이용하기로 했다.

 

AWS에 있는 해킹에 조금이라도 이용될 수 있는 계정이나 값들은 모두 안 보이게 작성했다.

AWS 해킹 사례를 경험해보고 해킹은 엄청 빠르게 진행되므로 계정이나 값들을 보여주는 사진은 최대한 안 보이게 했다.

 

1.인증서 요청

HTTPS를 적용하기 위해 SSL 인증서를 받아야하는데  ACM에서 인증서 적용을 받기 위해 인증서 요청을 한다.

 

 

퍼블릭 인증서를 요청해 가비아에서 구매한 도메인 이름을 작성해준다.

검증 방법, 키 알고리즘은 따로 바꿔줄 사항이 없으므로 초기에 설정되어 있는 부분으로 요청해줬다.

 

요청한 인증서를 확인해보면 초반에 검증 대기 중 상태로 보인다.

www.이 붙은 도메인과 안 붙은 도메인 둘다 접속을 위해 www가 안 붙은 도메인도 똑같이 설정해준다.

검증 성공 후 인증서 id를 클릭 후 내용 확인 페이지로 들어간다.

 

레코드 생성 후 검증 대기 후 발급 확인

2. 로드 밸런서 적용

로드 밸런서 적용하기 위해  -> ec2 로 들어간다.

로드 밸런서 -> 로드밸런서 생성

 

지금 환경에는 Application Load Balancer이므로 Application Load Balancer를 create한다.

create 후 Load Balancer 해당 사항 작성한다.

따로 설정할 사항이 없으면 기본 구성으로 설정한다.

로드 밸런서 이름은 각자에 맞게 작성하고 네트워크 매핑을 설정한다.

서브넷은 최소 2개 이상을 가용해야 하므로 서브넷을 적용해준다.

보안 그룹은 기존에 aws 내에 만들어 놓은 보안 그룹이 있다면 선택하고 없다면 default로 정해져 있는것으로 넘어가도 된다.

리스너 및 라우팅 HTTP를 설정해준다.

리스너 HTTPS 사항도 적용해준다.

security policy는 우선 ELB 최신이 2016-08이어서 최선 setting을 적용했다.

 

3.대상 그룹 만들기

지금 IP를 인스턴스로 생성한 것이기 때문에 대상 유형을 인스턴스로 선택해준다.

대상 그룹 이름은 각자에 맞게 작성하고 기본 설정으로 적용해준다.

상태 확인도 따로 설정할 부분이 없으므로 기본 설정으로 적용해준다.

적용 완료를 하면 다음과 같이 로드 밸런서 라우팅 대상 상태를 확인할 수 있다.

다음과 같이 보이면 생성 확인을 할 수 있다.

다시 EC2에서 대상그룹 생성을 확인해 본다.

 

 

4.리스너 및 라우팅 설정

다시 리스너 및 라우팅에 오면 생성한 대상그룹을 선택할 수 있다.

HTTPS도 위에 HTTP처럼 똑같이 대상그룹을 만들어준다.

생성한 대상그룹을 적용해 준다.

대상그룹까지 적용 후 로드 밸런서 생성한다.

로드 밸런서 생성 확인 -> 프로비저닝 중

 

 

로드 밸선서 상태 활성 확인을 하고 다음 단계로 넘어간다.

 

 

5.리다이렌션 설정

http로 브라우저에 입력하고 접속해도 https로 리다이렉션하게 설정해준다.

HTTP 클릭 후 편집

기본 설정은 forward로 되어있다. 

리다이렉션을 해야 하기 때문에 삭제 후 redirect로 변경한다.

HTTPS port인 443 설정한다.

저장 후 리스너 규칙에 리다이렉션  HTTPS 확인한다.

 

HTTPS도 똑같이 편집한다.

 

forward 설정에서 HTTPS를 HTTP로 변경한다.

6.Route53 로드 밸런서 적용

적용 확인 후 Route 53에서 생성한 로드 밸런서 적용한다.

 

레코드에 해당하는 url들에 유형을 적용해준다.

해당 레코드 편집에 들어간다.

이 별칭 부분을 변경해줘야 한다.

적용했던 환경과 같이 Application 환경을 적용한다.

region 서울 선택한다.

생성한 로드 밸런서를 선택하고 저장해준다.

다른 www.mountainz.net도  같은 방법으로 별칭을 적용해준다.

 

해당 인스턴스의 보안그룹에서 인바운드 규칙에 443을 추가해준다.

 

 

7. HTTPS 적용 확인

https로 잘 적용된 것을 확인해보면~~~ 잘 적용된다.

리다이렉션을 해줬기 때문에 http로 접속해도 https로 접속된다.