google.com과 같이 사람이 읽기 쉬운 도메인 이름을, 컴퓨터가 이해하는 IP 주소(172.217.175.110)로 변환해주는 시스템입니다. AWS에서는 Route 53이라는 관리형 DNS 서비스를 통해 이 작업을 수행합니다.mydomain.com)을 구매합니다.mydomain.com에 대한 모든 질문은 이제 AWS Route 53에게 물어보세요"라고 알려주는 효과가 발생합니다.SSL/TLS 인증서 발급 (ACM - AWS Certificate Manager):
us-east-1) 리전에서 발급받아야 합니다.EC2에 애플리케이션 배포:
로드 밸런서(ALB - Application Load Balancer) 생성:
Route 53에서 도메인과 ALB 연결:
api.mydomain.com과 같은 서브도메인에 대한 A 레코드를 생성합니다.api.mydomain.com으로 접속하면, Route 53은 요청을 ALB로 보내고, ALB는 다시 EC2로 트래픽을 전달하는 흐름이 완성됩니다.OAuth 리다이렉트 URI 수정: 카카오, 구글 등 소셜 로그인 설정에서, 개발 중에 사용했던 localhost 주소를 실제 배포된 백엔드 API 도메인(https://api.mydomain.com/login/oauth2/code/kakao)으로 반드시 변경해야 정상적으로 동작합니다.
React 앱 빌드: 로컬 PC에서 npm run build 명령어를 실행하여, 배포용 정적 파일(HTML, CSS, JS)들을 build 폴더에 생성합니다.
S3 버킷 생성 및 파일 업로드:
build 폴더 안의 모든 파일과 폴더를 S3 버킷에 업로드합니다.CloudFront 배포 생성:
index.html 외의 경로로 직접 접근 시 404 에러가 발생할 수 있습니다. 이를 해결하기 위해, 에러 발생 시 모든 요청을 index.html로 돌려주는 커스텀 에러 응답 설정을 추가해야 합니다.Route 53에서 도메인과 CloudFront 연결:
mydomain.com 또는 www.mydomain.com에 대한 A 레코드를 생성합니다.api.mydomain.com을 ALB에 연결합니다.mydomain.com을 CloudFront에 연결합니다.