순서

새 도메인 영접하기

무스마에서는 기존 musma.net 도메인에 이어, 차세대 산업 안전 기술 플랫폼 제품을 위한 새 도메인 이름 mcas.ai 를 구입하였습니다.

박수~ (짝짝짝)

새 도메인 이름을 획득하게 되면 해야하는 작업이 몇가지 있는데요,

특히 무스마처럼 AWS를 사용하는 팀에서는 AWS에서 설정해야 하는 부분이 있습니다.

그동안 musma.net 도메인 하나를 가지고 서브 도메인을 만들어 돌려가며 써오다가, 막상 새 도메인 이름이 들어오니 지난 번에는 무엇을 어떻게 설정했었는지 기억나는 부분도 있고, 까먹은 부분도 있습니다.

그래서 이번에 다시 한 번 설정 절차를 진행해보겠습니다.

그러면 다음 번에는 당황하지 않고 금방 할 수 있겠지요? 다음 번에 할 때는 저 말고 다른 분이 좀 해주세요 ㅋ


[잡설] .ai 도메인에 대해서

mcas.ai의 상위 도메인 .ai앵귈라라는 나라의 국가코드(ISO-3166-1 alpha2)입니다.

우리나라 국가 도메인 .kr과 같은 것입니다.

그런데 왜 .ai 냐구요?

여러분 혹시 자주 쓰이는 최상위 도메인 .io는 무슨 뜻인지 알고 계셨나요? 여러 기업에서 많이 쓰고 있는데, 예를 들면 GitHub Pages의 도메인으로 쓰이는 github.io가 있지요. 이 .io는 사실 Indian Ocean을 가리키는 코드입니다.

그런데 저는 .io하면 Indian Ocean 보다는 InputOutput이 금방 떠오르네요. 뭔가 IT 느낌이 나지 않습니까?

마찬가지로 .ai도 딱히 특정 나라보다는 Artificial Intelligence가 먼저 떠오르는 것 같습니다.
물론 Adobe Illustrator를 떠올리실 분도 계시겠죠

앞으로 무스마 제품에는 AI가 들어간다는, 그런 의미심장한 도메인 이름이 아닐 수 없습니다.


[개념] DNS의 구조와 원리

DNS란?

왜 DNS 관련 설정을 해야 하는지, 개념 정리를 하고 넘어가겠습니다.

이제 무스마는 *.mcas.ai 도메인에 대한 소유권이 있습니다.

.ai 도메인은 앵귈라 정부 소유하고, 그 하위 도메인 중 mcas.ai 이하를 무스마에 판 것입니다.

우리가 브라우저에서 api.mcas.ai를 타이핑 하면, 브라우저는 먼저 .ai를 관리하는 DNS 서버에 가서 api.mcas.ai 도메인에 대한 IP 주소를 물어봅니다.

그러면 DNS 서버는 mcas.ai의 DNS 서버 주소를 알려줄테니 거기 가서 물어봐라”라는 답을 줍니다.

그러니까 이 설정을 어딘가에 해줘야됩니다. (이건 .ai 도메인 판매/관리하는 곳에서)

그러면 다시 mcas.ai를 관리하는 DNS 서버에 질문을 합니다. 그러면 여기서 비로소 api.mcas.ai 도메인에 대응하는 IP주소를 알려줍니다.

그래서 마찬가지로 이 또한 그렇게 동작하도록 설정을 해줘야합니다. (이건 AWS Route53에서 합니다.)

그리고 브라우저는 해당 IP 주소를 향해 요청을 전송합니다. 이때 다음 번부터는 더 빨리 요청을 보낼 수 있도록, 최종적으로 알아낸 api.mcas.ai 도메인에 대응하는 IP주소를 일정 시간 동안 캐시에 저장합니다.

다음 절에서 실제로 해보겠습니다.


AWS Route53: 호스팅 영영 생성하고 네임 서버 설정

새 도메인을 구입한 직후입니다.

AWS > Management Console > Route53 에 들어갑니다.

Route53은 네트워킹 및 콘텐츠 전송 카테고리에 속해 있습니다.

image


호스팅 영역을 클릭합니다.

image


호스팅 영역 생성을 클릭합니다.

image


새로 구입한 도메인 이름을 입력하고 생성을 클릭합니다.

image


아래에서 NS (네임 서버) 유형 레코드의 칼럼에 있는 4개의 주소를 복사합니다.

참고로 가린 내용은 별거 아니니(가릴 필요도 없지만) 자세히 보실 필요 없습니다.

image


도메인을 구입한 사이트의 관리 페이지에서 DNS 네임 서버를 순서대로 입력합니다.

대개 이런 UI 제공하면서 입력을 요구합니다.

Route53의 호스팅 영역에 NS 레코드의 값을 적어주세요. (한 칸에 하나씩)

image


여기까지 한 것: 호스팅 영영 생성과 DNS 서버 등록

방금 한 것은 상위 도메인 .ai를 관리하는 DNS서버에 mcas.ai 도메인을 관리하는 DNS서버가 어디인지를 가르쳐 준 것입니다.

이제 *.mcas.ai으로 주소를 물어보면 AWS Route53이 mcas.ai에 대한 DNS 서버가 되어서, 그 물어본 도메인 이름에 대한 실제 IP 주소를 가르쳐주는 역할을 하게 됩니다.

다음은 도메인을 https(TLS) 프로토콜을 통해 보안이 유지된 연결을 할 수 있도록 AWS Certificate Manager에서 도메인 인증서를 등록하는 방법을 설명하겠습니다.




AWS Certificate Manager: SSL/TLS 인증서 발급

다음으로 인증서 등록을 해보겠습니다.

도메인을 판매하는 곳에서 흔히 함께 파는 것이 SSL 인증서입니다.

SSL 인증서란?

SSL은 요즘엔 TLS라고 부릅니다. HTTPS 프로토콜에 사용되는 보안 연결 프로토콜입니다.

이 인증서를 통해, 내가 받은 데이터가 실제로 이 도메인을 소유한 기관의 서버로부터 온 정상적인 응답인지, 아니면 악성 공격자에 의해 요청이 가로채어 날조된 응답을 받은 것인지를 알려줍니다.

AWS에서는 인증서가 무료

다른 데서라면 인증서를 비싼 값에 구입해야 하지만, AWS를 이용한다면 AWS Certificate Manager를 통해 무료로 인증서를 발급할 수 있습니다.

그리고 인증서는 도메인 하나 짜리 인증서와 서브 도메인을 아우르는 인증서(와일드카드 인증서)가 있습니다.

다른 데서는 개별 구매하든지, 아니면 비싼 값을 주고 와일드카드 인증서를 발급받아야 하지만, AWS에서는 무료입니다. (인증서 값은 받지 않는 대신 트래픽에 대해서만 과금합니다.)

그리고 일반적인 인증서는 기한이 만료되면 때에 맞춰 갱신을 해야하지만, AWS를 사용하는 동안은 AWS 인증서는 자동으로 갱신되어서 관리상 편리합니다.

그럼 인증서를 발급받아 보겠습니다.


AWS > Management Console > Certificate Manager 에 들어갑니다.

Certificate Manager보안, 자격 증명 및 규정 준수 카테고리에 있습니다.

image


주의: 리전을 미국 동부 (버지니아 북부)로 해야 합니다.

AWS Certificate Manager에서 인증서를 발급받을 때는 반드시 미국 동부(us-east-1) 리전에서 신청을 해야합니다.

그래야 나중에 CloudFront와 같은 글로벌 CDN 서비스를 이용할 때, 여기서 등록한 인증서를 사용할 수 있습니다.

지원하는 리전

image


인증서 요청을 클릭합니다.

image


공인 인증서 요청을 선택하고 다음으로 넘어갑니다.

image


도메인 이름 mcas.ai 을 입력합니다. 다른 이름을 추가하여 *.mcas.ai도 등록합니다.

image


검증 방법 선택: 내가 등록한 도메인이 내것이 맞는지 확인하는 절차입니다.

바로 앞 절에서 Route53에서 라우팅 영역을 만들었고, .ai DNS 서버에서 mcas.ai DNS 서버로 연결하는 작업도 마쳤습니다.

그래서 우리는 도메인 DNS 구성을 수정할 권한을 가지고 있거나 얻을 수 있는 경우에 해당합니다.

DNS 검증을 선택하고 검토를 클립합니다.

image


맞게 했는지 검토하고 확인 및 요청을 클릭합니다.

image


DNS 검증 방법을 선택하면 검증 방법은 이렇습니다.

  1. AWS Certificate Manager(ACM)에서 정해주는 토큰을 DNS서버에 가서 CNAME 레코드로 등록해줍니다.
  2. ACM은 해당 DNS서버(여기서 우리는 Route53에 해당)로 요청을 보내서, 검증 토큰과 일치하는 응답이 오는지를 검사합니다.

만약 외부 DNS를 사용하면 레코드를 복사해서 해당 DNS 설정에 가서 붙여넣기를 해야하지만,

우리는 AWS 울타리 안에 있으므로 이 부분은 편리하게 자동으로 처리해줍니다. 다음으로 가보겠습니다.

image


그냥 간단하게 Route53에서 레코드 생성을 클릭합니다.

image


생성을 클릭합니다.

image


아래와 같이 뜨면 된 것입니다. 계속 넘어갑니다.

image


다시 이 화면입니다. 아직 검증 보류 상태입니다.

image


다시 Route53에 가보면, 아까 Route53에서 레코드 생성했던 것이 잘 등록되어 있으니까 걱정마세요.

image


잠시 후에 이렇게 발급 완료 상태로 변경됩니다.

image

끝.


여기까지 한 것: AWS Certificate Manager에서 HTTPS를 위한 SSL/TLS 인증서 발급

앞서 Route53에서 호스팅 영역을 생성하고 네임 서버 연결 설정을 하고, 두번째로 ACM에서 인증서를 발급받았습니다.

다음은 Amazon SES에서 mcas.ai 도메인으로 이메일을 발송할 수 있도록 도메인 인증을 하는 방법을 알아보겠습니다.




Amazon SES: 이메일 발송을 위해 도메인 인증하기

Amazon SES는 Simple Email Service, 즉 이메일 발송 서비스입니다. (수신은 옵션)

이메일을 발송하는데, 아무나 우리 도메인을 사칭해서 고객에게 메일을 보낸다든지 하면 큰일입니다.

그래서 특정 도메인을 사용한 발신자 이메일 주소로 메일을 Amazon SES를 통해 발송하기 위해서는 먼저 도메인 인증을 받아야합니다.

우리가 그 도메인을 소유한 것이 맞다는 것을 검사를 받아야합니다.

그럼 이제 도메인 인증을 받아보겠습니다.


AWS > Management Console > Simple Email Service 에 들어갑니다.

Simple Email Service고객 참여 카테고리에 있습니다.

주의: 리전을 미국 동부 (버지니아 북부)로 해야 합니다.

image


Domains에 들어갑니다.

image


Verify a New Domain을 클릭합니다.

image


도메인 이름을 입력하고, Generate DKIM Settings에 체크하고 Verify This Domain을 클릭합니다.

참고로 mcas.ai만 인증하면 하위 도메인 *.mcas.ai에 대한 인증은 자동으로 이루어집니다.

image


이런 다이얼로그가 뜹니다.

외부 DNS서버를 사용한다면 이걸 다 복사해서 퍼 날라야합니다.

하지만…

image


우리는 Route53을 사용하는 AWS 고객이기 때문에 설정을 자동으로 이루어집니다.

Use Route53을 클릭합니다.

image


같은 다이얼로그에서 아래 항목이 나타납니다.

MX 레코드는 상관없으니 Email Receiving Record는 그냥 놔둬도 됩니다만, 손해볼 거 없으니 다 찍고 가겠습니다.

다 체크해주고 Create Record Sets를 클릭합니다.

image


Pending Verification 상태로 생성중입니다. 이건 조금 기다리면 됩니다.

image


Route53 호스팅 영역 레코드 목록에 가보면 뭔가 많이 추가된 것을 볼 수 있습니다.

image


이제 검증이 완료되었습니다.

(좀 오래 걸릴 수도 있습니다.)

image

끝.


Amazon SES: 이메일 발송 테스트

그러면 이메일 검증이 잘 되었는지 확인을 해보겠습니다.

mcas.ai 도메인을 선택하고 Send a Test Email을 클릭합니다.

image


이렇게 한 번 보내보겠습니다. Send Test Email을 클릭합니다.

image


주의: 받는 사람 이메일의 인증이 필요합니다.

현재 Amazon SES는 샌드박스 환경에서만 작동하도록 되어있습니다.

샌드박스 환경에서 수신자 제한 사항

샌드박스 환경은 아직 프로덕션 환경에 서비스를 하기 전에 테스트하는 환경입니다.

이렇게 미리 인증을 받아놨습니다.

image


메일함을 열어보면 정상적으로 발송 되는 것을 확인할 수 있습니다.

image

끝.


여기까지 한 것: 이메일 발송 위해 도메인 검증

이제 mcas.ai 도메인으로 Amazon SES에서 메일을 발송할 수 있습니다.



결론 및 평가

AWS 서비스가 EC2를 기반으로 연결되어 다양한 서비스를 제공하듯이, 그중 DNS와 연관된 서비스들도 Route53을 중심으로 서로 긴밀하게 연결되어 있습니다.

이번 내용을 통해 AWS에서 서비스를 제공하는 회사에서, 새 도메인 이름을 취득했을 때 어떤 절차로 무슨 설정을 해야하는지를 살펴보았습니다.

어려운 내용은 아니었고, 한 번 해보면 다음 번에는 더 자신있게 할 수 있을 것 같습니다.

도움이 되었길 바랍니다.

감사합니다.


References