Advertisement

More Related Content

Similar to SPA를 AWS Amplify에서 Hosting해 본 경험기(20)

Recently uploaded(20)

Advertisement

SPA를 AWS Amplify에서 Hosting해 본 경험기

  1. SPA를 AWS Amplify에서 Hosting해 본 경험기 박찬민 2023.02.01 (수)
  2. 발표자 소개 박찬민 - Web Front-end Developer - 화해 (버드뷰) - AWS Community Builders
  3. Amplify hosting을 사용하게 된 계기 2명의 개발자가 같은 제품을 담당 1명당 2개 이상의 과제를 동시에 진행 과제마다 개발 결과를 확인하는 사람이 다름 개발 서버 1개 배포 절차를 수동으로 진행
  4. Amplify hosting을 사용하게 된 계기 2명의 개발자가 같은 제품을 담당 1명당 2개 이상의 과제를 동시에 진행 과제마다 개발 결과를 확인하는 사람이 다름 개발 서버 1개 배포 절차를 수동으로 진행 개발 서버 점유 시간을 약속해야 함 과제 리뷰어들이 정해진 시간에만 확인 가능 배포 과정에 휴먼 리소스가 많이 들고 휴먼 에러 가능성이 높음 커뮤니케이션 비용이 무척 높음 실행 속도가 느림
  5. Amplify hosting의 매력 시작이 쉽습니다.
  6. Amplify hosting의 매력 Git repo 변경 만으로 배포 프로세스 실행
  7. Amplify hosting의 매력 배포 즉시 반영
  8. Amplify hosting의 매력 관리할 서버가 없고 가용성이 높음 - 서버와 서버에서 실행되는 어플리케이션에 대한 모니터링을 할 필요가 없다. - 내부적으로 S3를 이용하므로 99.99% 가용성을 제공한다. - DevOps 엔지니어가 좋아한다.
  9. Amplify hosting의 매력 https 적용과 Custom Domain 적용이 쉬움 - Amplify Console에서 SSL 설정과 Custom Domain 설정을 지원한다.
  10. Amplify hosting의 매력 Preview 기능으로 PR별 분리된 배포 환경 제공 - Github과 연동 가능 - Github에 PR이 올라가면 해당 코드를 기반으로 독립적인 호스팅 환경을 만들고 접근 가능한 URL 제공 - **발표자가 가장 추천하는 너무 만족스러운 기능**
  11. 주의 사항 SPA는 Rewrite Rule을 설정해줘야함 - S3, Cloudfront 기반이므로 없는 리소스를 요청하면 페이지가 표시되지 않음 - ‘Rewrites and redirects settings’ 메뉴에서 정적 파일 이외의 경로에 대한 Rewrite 설정을 해줘야함 - Rule을 변경하면 즉시 반영되지 않았음. 잘못 적용된 Rule로 인해서 오류가 났지만 Rule을 초기화 할 수가 없어서 호스팅 하는 파일 이름을 바꿔줬었음 - 정규표현식으로 Rule을 설정했으나 제대로 동작하지 않아서 파일 path 전체를 등록하기도 했음 - 참고: https://docs.aws.amazon.com/amplify/latest/userguide/redirects.html
  12. 주의 사항 HTTPS가 필수! 그래서 내부에서 HTTP 사용 못 함 - 보안 이슈로 인해서 서비스 내에서 HTTP 리소스를 사용하지 못 함. Amplify에서는 반드시 HTTPS 기반으로 호스팅 됨.
  13. 주의 사항 S3, Cloudfront 리스트에 안 나타남 - 내부적으로 S3, Cloudfront를 이용하지만 S3, Cloudfront 콘솔에서 리소스가 보이지 않음 - 각 리소스에 대한 상세 설정 불가 & 다른 서비스와 연계 불가
  14. 주의 사항 WAF 연결 못 함 - 일반적인 Cloudfront 배포에는 WAF를 연결할 수 있음 - Amplify에는 WAF를 붙일 수 없음 (매우 안타까움...) - 접근제한을 사이트 비밀번호 방식으로만 걸 수 있음 - IP 기반의 접근제어 불가...
  15. 주의 사항 nvm use 써주기 - 원래 build spec에서 node version을 명시하면 해당 버전의 머신에서 빌드를 수행했음 - 그러나, 얼마 전에 그 기능이 동작하지 않았음 - 그래서 빌드 커맨드에 nvm use를 추가해서 직접 노드 버전을 맞춰줬음 - 다행히 nvm은 기본 빌드 머신에 설치 되어 있음
  16. Amplify 호스팅이 적절한 케이스 - CSR 기반의 웹어플리케이션 - (Next.js를 지원하는데 전혀 이슈가 없는지 확인하지 못함) - 접근 제어가 필요 없는 Public 사이트 - 개발환경에서 Preview 기능만 쓰고 싶은 경우
  17. 감사합니다
Advertisement