오늘의 복습은 백엔드(Spring API)와 프론트엔드(React App)를 AWS 클라우드 환경에 배포하고, 이를 도메인과 HTTPS로 안정적으로 서비스하며, 배포 과정을 자동화하는 전체 흐름을 종합적으로 이해하는 것입니다.
핵심 원칙:
사용자 → Route 53 (api.mydomain.com) → ALB (HTTPS 처리) → EC2 Auto Scaling Group → EC2 인스턴스 (Docker 컨테이너) ↔ RDS데이터 계층 (RDS):
애플리케이션 계층 (EC2 & Docker):
네트워크 및 보안 계층 (VPC, ALB, Route 53):
api.mydomain.com과 같은 API 도메인 요청을 ALB의 DNS 주소로 연결해주는 역할을 합니다.사용자 → Route 53 (mydomain.com) → CloudFront (CDN 캐시 & HTTPS) → S3 버킷스토리지 계층 (S3):
npm run build로 생성된 React의 정적 파일(HTML, CSS, JS)을 S3 (Simple Storage Service) 버킷에 저장합니다.콘텐츠 전송 및 네트워크 계층 (CloudFront, Route 53):
index.html로 리다이렉트하는 설정이 필수적입니다.mydomain.com과 같은 메인 도메인 요청을 CloudFront 배포의 도메인 주소로 연결해줍니다.CI/CD는 위에서 설명한 복잡한 배포 과정을 자동화하여, 개발자가 코드 작성에만 집중할 수 있도록 돕습니다.
백엔드 자동 배포 파이프라인 흐름:
main 브랜치에 코드를 푸시(Push)합니다.프론트엔드 자동 배포 파이프라인 흐름:
main 브랜치에 코드를 푸시(Push)합니다.npm run build를 실행하여 정적 파일을 빌드합니다.