전공영역 공부 기록

단순한 온프레미스 리다이렉트 서버를, AWS로 옮기는 방법들은 뭐가 있을까?(ALB vs CloudFront)

악분 2026. 2. 17. 19:51
반응형

이 글은 온프레미스->클라우드 마이그레이션에서 겪을 수 있는 상황을 과제로 재밌게 표현해봤습니다. 이 글에서 나오는 도메인들은 저의 개인 도메인을 사용했고, 상황을 재현하기 위해 사용했습니다.

 

과제목표

온프레미스에 있는 서비스를 AWS로 이관하면서 도메인이 변경되었습니다. 하지만, 구 도메인을 사용하는 사용자가 있어 온프레미스에 nginx 리다이렉트 서버를 두고 있습니다. 리다이렉트 서버는 아래처럼 단순히 301 리다이렉트를 합니다.

 

저희는 이제 Nginx 리다이렉트 서버도 AWS로 옮겨야 합니다.

 

제약사항

  1. 온프레미스 루트도메인과 AWS 루트도메인은 다릅니다. 구 도메인 소유는 온프레미스 DNS 서버에 있습니다.
  2. 온프레미스 DNS 변경은 직접 할 수 없고 담당자에게 요청해야 합니다.
  3. 서비스 중단 허용 시간은 5분 미만입니다.
  4. 리다이렉트 응답은 100ms 안에 받아야 합니다.
  5. 한 달 운영비용은 약 $20 정도 사용할 수 있습니다.
  6. 리다이렉트 서버는 운영 환경만 있습니다. 개발 환경은 없습니다.

 

고민사항

제약사항을 보고 사람마다 고민이 다르겠지만, 저는 아래 내용을 고민했습니다.

 

기술적 고민
1. 온프레미스 DNS 설정을 변경하기 전에 테스트가 가능해야 합니다.
2. 온프레미스 DNS 설정 변경 후 추가 작업이 없어야 합니다. DNS 변경 이후에는 모니터링만 하면 되는 구조여야 합니다.
3. 롤백이 쉬워야 합니다.
4. 운영환경에서 작업할 때 다른 서비스에 영향이 없어야 합니다. 불확실성이 없어야 합니다.

 

운영 고민
1. 담당자가 바뀌거나 서비스가 다른 팀으로 이관되었을 때 운영하기 쉬워야 합니다.

 

방법들

1안. ALB redirect

첫번째 방법은 ALB의 리스너 규칙에서 static redirect를 설정하는 방법입니다. 구현 난이도가 낮고 다른 사람이 봐도 이해하기 쉽습니다.

 

단점은 ALB 사용료가 월 약 $18~22 정도 발생합니다(트래픽/리전에 따라 변동).

 

2안. CloudFront redirect

2번째 방법은 CloudFront에서 리다이렉트하는 방법입니다. Custom Origin을 사용하거나 CloudFront Function을 사용하여 리다이렉트를 구현할 수 있습니다. 비용은 ALB에 비해 저렴합니다.

 

1. Custom Origin을 사용한 방법

 

2. CloudFront Function을 사용한 방법

 

단점은 ALB에 비해 리다이렉트를 위해 설정이 조금 더 많다는 점이 있습니다.

 

의사결정 포인트

이 목표 달성을 위해 핵심 의사결정 포인트는 세 개입니다.

1. 온프레미스 DNS 서버에 계속 설정을 할 것인가? 아니면 Route53으로 NS 레코드를 받을 것인가?
온프레미스 DNS 서버에 설정을 한다면 작업 시마다 요청해야 하고, 문제 발생 시 요청밖에 할 수 없습니다. 반면, Route53으로 NS 레코드를 이관받으면 설정도 원할 때 바로 할 수 있고, 문제도 빠르게 확인할 수 있습니다.

2. 서비스 중단이 5분을 넘는 것을 허용할 것인가?
NS 레코드를 이관받는다면, CloudFront 방법은 서비스 중단이 발생할 수밖에 없습니다. CloudFront를 생성하려면 ACM이 필요하고, ACM을 생성하는 데 시간이 몇 분 소요됩니다. 그래서 NS 레코드를 이관받으면 NS 레코드 DNS 전파 시간, ACM 생성 시간, CloudFront 생성 시간, CloudFront 설정 시간이 필요합니다.

 

3. 비용은 얼마나 사용가능한가?
비용만 보면 CloudFront가 압도적으로 유리합니다. ALB는 유지비용이 있는데 CloudFront는 “Pay-as-you-go”비용을 사용했다면 유지비용이 없고 요청/전송량 기반 비용만 있습니다.

 

의사결정은 사람마다 어떤 관점을 보냐에 따라다릅니다. DNS 제어권을 직접 하기 위해 NS레코드를 이관받는다면 서비스 중단이 없는 ALB방법를 선택할 수 있습니다. 또한 구현난이도를 쉽게하고 싶다면 ALB방법을 선택할 수 있습니다. 다른 관점에서는 DNS제어권을 직접 안하고 CloudFront를 선택할 수 있습니다.

 

저는 비용 압박이 없다면 ALB 방법으로 구현하고 NS 레코드를 이관받을 것 같습니다.

 

반응형