오늘의 복습은 백엔드(Spring API)와 프론트엔드(React App)를 AWS에 배포하고, 구매한 도메인과 HTTPS를 적용하는 전체 흐름을 종합적으로 이해하는 것입니다.
핵심 원칙: 백엔드와 프론트엔드는 독립적으로 배포되고 확장될 수 있도록 아키텍처를 분리합니다.
Route 53 (DNS 서비스):
mydomain.com이나 api.mydomain.com과 같은 도메인 요청을 적절한 AWS 리소스(ALB, CloudFront)로 연결해주는 교통경찰 역할을 합니다.ACM (AWS Certificate Manager):
us-east-1) 리전에서 발급받아야 합니다.api.mydomain.com과 같은 서브도메인에 대한 A 레코드를 생성하고, 대상을 ALB의 DNS 이름으로 지정합니다.S3 (Simple Storage Service):
npm run build로 생성된 React의 정적 파일(HTML, CSS, JS)을 저장하는 원본(Origin) 저장소 역할을 합니다.CloudFront (CDN 서비스):
https://mydomain.com 접속을 지원합니다./about과 같은 경로로 직접 접근 시 발생하는 404 에러를 방지하기 위해, 모든 에러 요청을 index.html로 리다이렉트하는 커스텀 에러 설정을 추가해야 합니다.Route 53 설정: mydomain.com과 같은 루트 도메인에 대한 A 레코드를 생성하고, 대상을 CloudFront 배포의 도메인 이름으로 지정합니다.