[AWS] CDN과 로드밸런서 연결(분기처리)

Logun·2023년 8월 8일

Aws

목록 보기
4/5
post-thumbnail

만들어 놓은 CDN을 들어가보면 Origin과 Behaviors로 나누어 진다. s3스토리지와 로드밸런서가 Origin(원본)이 되고, 그 원본에 도달할 수 있게 조작을 해주는 것이 Behaviors로 설정해준다. 기존에 s3스토리지와는 연결을 해놓았기 때문에, 로드밸런서와 연결을 진행한 후 Behaviors를 설정하려고 한다.

  • 로드밸런서와 CDN의 연결을 위하여 Origin domain에서 로드밸런서를 선택해준다.

  • 로드밸런서의 리버스프록시 기능으로 설정한 http 80으로 유입이 되어야 하기때문에 http 80으로 값을 세팅해준다.

  • 이제 Behaviors를 설정할 차례인데, 기본 default설정으로 모든 접속값이 s3스토리지로 연결되어지는데, 우리는 이제 다이나믹라우팅이 필요한 페이지만 설정을 해주면 된다. pattern에 다이나믹라우팅을 세팅해주고, 로드밸런서가 http인지 https인지 선택해주고, Allowed HTTP methods는 모든 값을 선택하여 준다.

  • 캐시에 대한 정책을 선택해야하는데, 캐시를 적용하지 않는다. 테스트할때는 기존에 저장되어 있는 값이 잘 바뀌지 않으므로, 재배포시 문제가 생길 수 있다. 캐시는 속도를 빠르게하고 성능적으로 좋겠지만, 나중에 최종 배포환경에서만 사용해주는 것이 번거롭지 않다.

  • 위와 같은 이유로 우리는 모든 주소에 대해서 invalidation을 추가로 작업해준다. 이런식으로 처리를 하게 되면, Behaviors에서 설정하지 않은 곳에서 정적인 내용(html, css)을 가져오게되고, 동적인 내용은 로드밸런서를 통하여 가져오게 된다.

  • next.config.js세팅
    build ID는 build를 할 때마다 바뀌게 되는데, 두 곳의 ID가 다르게 되면 다운로드를 제대로 받을 수 없게 된다. 그래서 통일을 시켜주기 위해서는 next.config.js에 generateBuildId: () => "id입력"을 넣어준다. 스토리지에 올린 파일 ex2에 올린 파일을 같은 파일로 올릴 수 있게 된다.
    ServerSidePage는 out이란 폴더가 만들어지지 않는다. out이라는 것은 완성된 index.html을 다운받아 오는것이기 때문에 당연한 결과이다. 그래서 SerververSidePage는 out폴더로 만들어지지 않게 next.config.jsdp 설정을 해줘야 한다.

profile
로건의 개발이야기

0개의 댓글