※ 기존에 기록해둔 노션 글을 옮겨적은 것으로, 노션 템플릿에 맞게 적게된 글이라 보기 불편하실 수 있습니다.
프론트 배포하면서 딸려오는 서비스들을 배포해보겠습니다.
1. 가비아에서 산 DNS를 Route53에 연결하기





+)
- NS (Name Server) 레코드 : 해당 도메인의 DNS 요청을 처리하는 네입서버 주소를 지정하는 역할
- ⇒ 즉, 특정 도메인(reciping.kr)에 대한 트래픽을 어떤 네임서버가 처리할 것인지 결정하는 것
- SOA (Start of Authority) 레코드 : 특정 DNS 존(zone)의 시작 지점이며, 해당 존을 관리하는 정보와 존의 버전 관리 정보를 제공
- ⇒ 각 존에 단 하나만 존재


2. Route 53에서 www.reciping.kr → CloudFront로 연결하는 방법
1. 호스팅 영역 > "reciping.kr" > 레코드 생성
- 레코드 이름: www
- 레코드 유형: A - IPv4 address + AWS 리소스로 트래픽 라우팅
- 별칭(Alias): ✅ 켜기
2. 트래픽 라우팅 대상 → 엔드포인트 선택: CloudFront 배포
- 드롭다운에서 너가 생성한 CloudFront 배포 선택
- 리전 선택은 자동으로 설정됨 (CloudFront는 글로벌 서비스라 리전 설정 없음)
3. 라우팅 정책: 단순 라우팅
Route53의 라우팅 정책 선정 기준 정리
- 정책 설명 사용 사례
| 정책 | 설명 | 사용 사례 |
| ✅ Simple | 가장 기본, 1개 대상 IP/DNS만 설정 | 단일 ALB, 단일 서비스 |
| Weighted | 여러 대상에 트래픽 분산 (비율 설정) | A/B 테스트, Blue-Green 배포 |
| Latency-based | 리전별 응답속도 기준 분기 | 다중 리전 운영 시 |
| Failover | Active-Standby 구성 | 장애 복구용 |
| Geolocation | 국가/지역별 라우팅 | 지역 맞춤 서비스 |
| Multivalue answer | 여러 IP 중 무작위 응답 | 간단한 부하분산 (잘 안 씀) |
[ 언제 다른 라우팅 정책을 쓸 수 있을까? ]
| 정책 | 향후 활용 가능 시나리오 |
| Weighted | 실험적으로 신기능을 일부 사용자에게 제공할 때 (A/B 테스트) |
| Latency-based | 다중 리전 서비스로 확장할 경우 (예: 글로벌 유저 확보) |
| Failover | 장애 대비용 백업 게이트웨이 또는 ALB 구성 시 |
3. 프론트 이미지 빌드 후, ECR에 푸쉬하기
프론트엔드 프로젝트 루트폴더에 아래의 dockerfile과 nginx.conf 추가해두기
# 1단계: Vite로 빌드
FROM node:20-alpine AS builder
WORKDIR /app
COPY . .
RUN npm install && npm run build
# 2단계: Nginx로 정적 파일 서빙
FROM nginx:1.25-alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri /index.html;
}
}
}
# 이 단계 먼저 오기 전에 node.js 설치 안 되어있으면 설치 후 작업하기
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 설치 확인
node -v
npm -v
# 1. 프론트 디렉토리로 이동
cd ~/Desktop/dev_sini/reciping-fe
# 2. 빌드 (최초 1회)
npm install
npm run build
# 3. Docker 이미지 빌드
docker build --no-cache --platform linux/amd64 -t reciping-FE:v1.0.0 .
# 4. ECR 태그 설정 (리포지토리명이 reciping-FE인 경우)
docker tag reciping-FE:v1.0.0 \
892117097999.dkr.ecr.ap-northeast-2.amazonaws.com/reciping-FE:v1.0.0
# 5. 이미지 푸시
docker push 892117097999.dkr.ecr.ap-northeast-2.amazonaws.com/reciping-FE:v1.0.0'Project > reciping' 카테고리의 다른 글
| [reciping 3차]Terraform으로 EKS 기반 인프라 구축하기 (1) (0) | 2025.11.05 |
|---|---|
| [reciping 2차] minikube로 로컬 쿠버네티스 테스트하기 (0) | 2025.11.05 |
| [reciping] ECS(EC2, Fargate)로 백엔드 애플리케이션 배포하기 + 기본 EC2배포까지 (2) (0) | 2025.11.05 |
| [reciping] ECS(EC2, Fargate)로 백엔드 애플리케이션 배포하기 + 기본 EC2배포까지 (1) (0) | 2025.11.05 |
| [reciping] 베스천 서버 세팅하기 (0) | 2025.11.05 |