SPA 공개 시의 S3+CloudFront와 S3의 차이
introduction
React로 만든 싱글 페이지 애플리케이션(SPA)을 공개할 때는 CloudFront+S3이 많다. 이 구성은 React의 거동에 얼마나 Critical인지 궁금했기 때문에 실제로 SPA를 호스팅해 보았다. 그 조사 · 작업 Log.
CloudFront+S3의 경우에 신경이 쓰인 결과는 없었기 때문에, S3만으로의 호스팅을 중심으로 정리한다.
AWS 서비스
S3: 스토리지 서비스. HTML을 업로드하여 호스팅을 할 수 있습니다.
CloudFront: 콘텐츠 전송 서비스. 여기를 통해 S3에 액세스 할 수 있습니다.
준비
AWS 설정은 참고 문헌을 처음으로 다양한 기사가 있으므로 생략.
S3에서 라우팅 설정
SPA의 호스팅 문제로 라우팅에서 path가 변경된 후 다시 로드하면 그대로 404가 되어 버리는 문제가 있는 것 같다.
CloudFront에서는, 에러시의 리디렉션으로 해결하고 있었지만, S3에서도 같은 설정을 실시할 수 있다.
이것으로 해결할 수 있을지 어떨지를 검증.
결과
S3만으로도 SPA의 거동에 문제는 없었다고 생각한다.
궁금한 점은, 에러의 리디렉션시에 404가 돌아 버리기 때문에, statusCode를 사용해 제어하고 있는 경우는, 의도하지 않은 거동이 될지도 모른다.
할 수있는 일
할 수 없었던 것
이용한 S3의 리디렉션 규칙은 다음과 같습니다.
[
{
"Condition": {
"HttpErrorCodeReturnedEquals": "404"
},
"Redirect": {
"HostName": "HOST_NAME",
"Protocol": "http",
"ReplaceKeyWith": "index.html"
}
}
]
도전
미확인
지식 부족
감상
스스로 만든 SPA를 공개한다면, S3에서도 할 것 같다.
한편, Amprify를 사용하는 것이 간단한 느낌도하고 있기 때문에, 어떻게 할까라고 하는 기분.
참고문헌
S3 전용입니다. 생각했던 작업 방침으로 할 수 있다는 것은 아래의 기사에서 알았습니다.
또한 SPA의 호스팅에서 리로드 이외에 문제가 되는 점이 다른 일이 될 것 같은 것을 파악할 수 있었습니다.
CloudFront 사용의 경우. 클래식 구성을 위해 여러 가지가 있지만, CloudFront의 설정은 아래의 기사를 참고로 했습니다.
Reference
이 문제에 관하여(SPA 공개 시의 S3+CloudFront와 S3의 차이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Shunya-Otsuki/items/2f37917e251e7f89cf6d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)