티스토리 뷰
최근 로딩성능 개선을위해 https://developers.google.com/speed/pagespeed/insights/?hl=ko 을 통해 개발중인 서비스의 개선점을 자주 모니터링하고있습니다.
개선 과정중에 http => https 로 리다이렉트 시키는 js파일이 랜더링 차단요소에 나타난걸 보고 제거하기로 했습니다:)
AWS Elastic Beanstalk를 사용중이고 적용할 수 있는 방법이 있나 찾아보니 로드벨런서를 이용한 리다이렉션이 가능했다.
현재 사용하고있는 로드밸런서는 Classic Load Balancer였고 Redirection을 지원하지않아 Application Load Balancer로 변경하기로 하였다. 지원 가능등은 아래 링크를 통해 비교가능하다.
https://aws.amazon.com/ko/elasticloadbalancing/features/?nc=sn&loc=2
Classic Load Balancer 보다 많은기능을 지원하고 있다. Application Load Balancer는 HTTP, HTTPS 수준에서만 로드벨런싱을 지월하지만 웹칼리언트 서버에서는 충분하다.
*프로토콜이나 사용자 지정 보안 정책 등에 차이가 있으니 관련 있는 서비스는 참고해야 할 듯싶다.
현시점에선 로드밸런서는 변경은 불가능하고 신규로 생성 시에만 지정 가능한 것 같다.
새로운 환경울 구형한 후 아래처럼 433포트로 HTTPS를 등록해주고 인증서를 선택해주면 된다.
리다이렉션은 설정파일을 통해서 가능하다.
.ebextentions라는 폴더안에 config파일을 정의하여 리다이렉션 가능하다. 파일이름은 *.config로 정의하면 되고 해당 설정파일은 aws github에 있는 내용을 사용하였다.
설정파일 생성 후 배포를하고나면 http 접속시 로드밸런서 수준에서 https로 리다이렉션되는걸 확인할 수 있다.
스크립트에대한 리다이렉션은 https접속시에는 지연이 무시할 수준이나 http로 접근시 http로 접근을 체크하는 스크립트가 로딩되고 https로 다시 리다이렉션되어 처음부터 다시 로딩을 시작하니 매우 비효율적이다.
추가로 http를 https로 리다이렉션 사이트 신뢰성이나 검색 순위에서 이점이 있으므로 사용하는 것을 권장한다.
'Setting > AWS' 카테고리의 다른 글
Amplify를 이용한 E2E테스트 (Cypress) (0) | 2021.06.30 |
---|---|
Amplify를 이용한 프론트엔드 배포 (0) | 2021.03.28 |
Github Actions를 통한 Elastic Beanstalk 배포 세팅 (0) | 2020.06.05 |