코딩뚠뚠

[기타] 메일서버 및 웹호스팅 위한 네임서버 설정 본문

공부/기타

[기타] 메일서버 및 웹호스팅 위한 네임서버 설정

로디네로 2023. 5. 22. 01:13
반응형


개요
 


각 회사에서는 당연히도 하나의 도메인으로 홈페이지와 메일 두가지 서비스를 모두 이용한다.
 
ex)
www.samsung.com  < 홈페이지 주소
myid@samsung.com < 메일 주소
 
나 또한 도메인을 가지고 홈페이지를 서비스 할 수 있고, 메일서버 또한 서비스할 수 있다.
(물론 각각)
 
이를 통합 운영하려니 에러가 생겼고, 이에 대한 나름의 해결방법을 담은 포스팅이다.
 


 

상황 및 문제 정리 :

- ufo.io 도메인을 소유하고 있음 (Google Domains)
- 다음 스마트워크를 이용해 회사 이메일 서비스를 구축함
- 해당 도메인이용해 홈페이지 호스팅 하려 함 (AWS이용)
- Google Domains 에서 커스텀 NS를 사용하는 것은 정책상 허용되지 않음
    > Google Domains 에서 DNS 탭에 "기본 네임서버" 와 "맞춤 네임서버" 탭이 있다.
    > "기본 네임서버" 탭에서는 맞춤 레코드 관리 를 눌러 MX(메일서버) 유형을 추가할 수 있었다.

 
    > 반면 웹호스팅을 위한 NS 설정은 AWS가 지정해준 값을 Google Domains의 "맞춤 네임서버" 탭에 설정해야한다.

    > 그러나 기본 네임서버와 맞춤 네임서버를 동시에 사용할수는 없다.
 


 

해결방안 : 

 
시도 1. 
기본 네임서버에 AWS 의 NS를 입력해서 저장해보기
> 아래와 같은 에러가 떴고, 기본 네임서버에 AWS에서 제공한 NS값을 입력할 수는 없었다.

시도 2. 
AWS는 어렵다. CDN부터 배포까지 firebase deploy 한번에 해결해주는 firebase를 이용해보자.
firebase 가입 및 프로젝트 생성 후 프로젝트에서 아래를 수행해준다.

npm install -g firebase-tools
firebase login
firebase init
firebase serve // 배포전 확인해보기
firebase deploy
firebase deploy --only hosting // deploy에서 오류가 나고 호스팅만 이용할경우

firebase init 과정에서 필요한 내용만 잘 선택이 필요하다. (알아서 잘)
 
이후 앱 추가를 통해 앱을 추가해준다.

<> 모양의 웹 앱을 추가해주고 아래와 같이 식별을 위한 key 값을 프로젝트 내에 붙여넣어준다.

// 프로젝트 마다 넣는 방식이 달라 기입하지는 않겠다.

 
이후 deploy를 눌러 배포해주면 배포가 완료되며, 내 도메인을 이용하기 위해 커스텀 도메인 추가가 필요하다.

 
아래 팝업을 따라 진행하다보면 A 유형, ip주소가 주어진다.

 
 
 
이를 Google Domains 의 기본 네임서버에 추가해주면 된다.

(호스트이름 작성 필요X 기본 도메인임)

 
커스텀 도메인이 정상적으로 추가되면 도메인 변경사항을 적용하는 중이라는 상세문구가 나타난다.
확실히 AWS보다 쉽게 배포가 가능한 반면 상세 설정이 불가능하여 시간이 좀 걸린다는 단점이 존재한다.

위 상태에서 링크를 눌러 접속시, 프로비저닝이 완료되지 않아 보안연결은 되지 않았고, www 접속또한 되지 않았다

> 약 1시간 후 프로비저닝이 완료되어 정상 접근이 가능해졌다.
 
https://uf5.io 

 

UF5

기능 ▶ 사용자의 카카오톡 데이터를 이용해 개인/단체 톡방에서 어떤 유형의 사람인지 분석 및 선물을 추천해줄 수 있다. 주안점 ▶ 카카오톡 분석은 대부분 앱으로 개발되어있으니 공유가 편

uf5.io

 
www 를 이용해 리디렉션을 하려면 Google Domain 에 다음과 같이 추가해주면 된다.
호스트 이름에 www만 추가해주고 동일하게 등록.

 


 

궁금한것 : 

나는 애초에 MX 와 NS 레코드만을 이용해 문제를 해결하려 했었다.
하지만 firebase를 이용해 문제를 해결하는 중 MX와 A 레코드를 이용해 해결할수 있었는데
AWS를 이용하는 방법으로도 A 레코드를 이용하면 가능할 것 같다는 생각이 들었다.
 
방법 : 
1. S3에 호스팅하고자 하는 내용을 업로드
2. ACM 에 접근해 해당 도메인에 대한 인증서를 발급
3. CloudFront 에 접근해 S3를 배포
4. 해당 도메인으로 Route53호스팅을 생성후 A 레코드를 생성
5. 값/트래픽 라우팅 대상을 동일하게 Google Domains 에 등록

 
생각만하고 실행해보진 않아서 동작할지는 모르겠지만.. 확실히 firebase에 비해서 번거로운 과정이다.
인증서 발급부터 업로드, 배포까지 수작업이 필요하다.
 
같은 문제를 겪고있는 분들께 도움이 되셨으면 좋겠다.
 
 

 
 
 

반응형