개발/Infra

후이즈 네임서버 -> AWS 네임서버로 이전하기

hojak99 2021. 7. 29. 01:08

상황을 설명하자면 다음과 같다.

입사 후에 백엔드, 프론트 개발을 혼자 담당하고 있는 상황에서 비즈니스 일정으로 인해 기존에 누군가가 세팅해 놓은 인프라 환경을 많이 개선하지 못했었다. 해봤자 개발서버 도입, 서버 이중화, 테이블 정규화를 하여 마이그레이션 한 정도이다. 그러나 이번에 프론트, 백엔드 개발자가 채용이 되면서 나에게 몰려있던 일들이 조금 분산되기 시작했다. 그래서 이제 인프라 환경을 개선할 때가 왔다고 느꼈고 그 첫 시작은 SSL 인증서 교체로 시작되었다.

우선 담당하는 서비스는 AWS 에서 제공하는 S3, EC2, RDS, EB, CloudFront 등 매우 많이 이용하고 있다. 그런 상태에서 SSL 인증서의 만료기한이 얼마 남지 않은 것을 파악했고 SSL 인증서가 현재는 sslcert 라는 곳에서 관리되고 있다는 것을 알게 되었다. AWS Certificate Manager 기능이 있는데 여기서 AWS 를 발급기관으로 하여 SSL 인증서를 발급하면 자동으로 갱신까지 해주었다. 그래서 여러 관리 포인트를 줄이고자 ACM 을 통해 SSL 인증서를 발급하려고 했다. 우선 인증서 발급 시 해당 도메인에 등록된 이메일로 인증할 것인지, 네임서버로 인증할 것인지를 선택할 수 있다. 나는 이메일로 인증 받지 않고 네임서버로 인증 받는 것으로 하였다. 이 때 
인증 받으려는 도메인의 네임서버가 AWS 네임서버가 아니면 발급이 되지 않는 것으로 파악이 되어서 이왕 칼을 뽑은 김에 후이즈에서 관리되고 있는 도메인을 AWS 로 이관까지는 아니어도 네임서버까지는 옮겨보자라는 생각을 가졌고 행동으로 옮겼다. (현재 개발, 실서버 용으로 AWS 계정이 분리 돼 있는데 SSL 인증서를 다른 계정으로 옮길 수 없기에 각 계정마다 SSL 인증서를 등록시켜주어야 한다. 이 때 도메인 네임서버는 실서버 계정에 대한 네임서버로 설정 돼 있었기 때문에 개발용 계정에 대해서는 이메일로 인증을 시켜주었다. )

우선 후이즈에서 관리되고 있는 도메인에 대해 네임서버를 옮길 수 있는 기능이 있다. 참고로 네임서버는 캐싱되는데 TTL 설정을 최대 2일까지 설정할 수 있는 상태에서 네임서버를 바로 이전한다면 클라이언트는 CNAME, A record 에 해당하는 호스트들에 접근했을 때 캐싱 돼 있는 후이즈 네임서버를 통해 목적지를 찾아간다. 그러나 후이즈에서 도메인 네임서버를 변경했을 때 바로 후이즈 네임서버에서 해당 레코드들에 대한 목적지는 바로 삭제된다. 즉, 도메인에 대한 네임서버가 후이즈로 캐싱 돼 있는 클라이언트는 후이즈 네임서버를 통하게 될텐데 후이즈 네임서버에는 실제 레코드에 대한 목적지가 없으니 클라이언트는 접속을 할 수 없게 되버리니 꼭 참고하자. 그래서 특정 도메인에 대해 네임서버를 옮기겠다는 문의를 남겨야 후이즈 측에서 수동으로 네임서버 설정을 하여 최대 3일동안 목적지들이 후이즈 네임서버에 존재할 수 있게 해놓는다. 나도 장애를 겪을 뻔 했으나 미리 문의를 남긴 뒤에 옮겨 장애 없이 옮길 수 있었다.

그리고 route 53 에서 도메인을 등록한 뒤에 ACM 에서 SSL 인증서를 생성하니 바로 발급이 되었고, 인증서도 무사히 교체할 수 있었다. 그래서 관리포인트를 줄일 수 있었고 이제 남은 작업은 도메인 관리까지 옮기는 것인데 이 작업은 또 언제할 수 있을지 모르겠다. 짬내서 해야지..

어찌되었든 꼭 후이즈 네임서버를 다른 네임서버로 변경할 땐 수동 문의를 해서 장애 막도록 하자.

 

반응형