Google Domain 구입기 및 설정하기

Last updated on 2024. 02. 13.

라즈베리파이를 이용해서 집에 서버를 구축하고 워드프레스로 홈페이지를 만들었습니다. 그런데 홈페이지 주소를 아직 정하지 못했고 시간은 흘러가고 있었습니다. 빨리 마이티를 홍보해야 하는데…

■ 무료 도메인 서비스 : No-IP

무료 도메인 서비스하는 곳을 찾다가 No-IP 라는 사이트를 찾았습니다. 공짜로 잘 사용했었으니깐 아래에 간단히 소개해 봅니다.

https://no-ip.com

간단하게 가입하고 나서 로그인하면 미리 정해진 도메인 네임에 서브 도메인을 3개까지 만들고 사용할 수 있습니다. IP 주소와 도메인 네임을 직접 연결시키거나 동적 DNS 설정을 해서 연결시킬수 있습니다.

아쉬운 점이 있다면 첫 번째로 도메인 네임에 선택 자유도는 높지 않아서 ddns.net 같은 몇 가지 정해져 있는 도메인의 서브도메인만 사용이 가능합니다. 서브 도메인을 최대 3개까지 무료로 제공해 주긴 하는데 많이 필요는 없을 거 같습니다. 여러 가지 테스트 정도로 활용하긴 괜찮을 거 같습니다. 두 번째 아쉬운 점은 30일마다 자동으로 DNS 서비스가 만료되어서 갱신해야 하는데 생각보다 이게 너무 이게 귀찮습니다. 그래서 도메인을 하나 구입하기로 했습니다.

■ 도메인 서비스 업체 정하기 : 구글 도메인으로 결정

(혹시나 해서 미리 말씀드리면 구글 도메인은 무료 서비스가 아닙니다. 특별한 도메인이 아닌 이상 비용은 $12불/1년 정도 됩니다.)

국내는 호스팅 업체로 cafe24를 많이 사용하는 거 같습니다. 한참 검색하던 중 어떤 댓글에 구글 도메인을 사용한다는 이야기가 있어서 바로 알아보았습니다. 왠지 구글은 IT 관련 서버는 그 어느 업체보다도 안정적이고 믿음이 가니깐요. 그리고 몇 년 써본 결과 역시… 구글에서 제공하는 여러 가지 서비스도 많고 설정도 비교적 쉬워서 전 구글 도메인 선택을 정말 너무 잘했다고 생각합니다.

https://domains.google.com/

접속해서 구글 계정으로 로그인을 합니다. 그런데 거주 국가(한국)에서는 사용할 수 없다는 문구가 나오는데… 이런 사용할 수 없는 것인가? 결론을 이야기하면 왼쪽 메뉴에 표시되는 국가를 미국으로 변경하면 정상적으로 사용할 수 있습니다. 하지만 여전히 주의사항이 있는데 최상위 도메인을 .kr / .co.kr / .pe.kr 등의 국가 도메인으로 하길 원한다면 구글 도메인으로는 구매가 불가능합니다. 앞서 경고 표시가 이것을 의미하는 것으로 생각됩니다. 최상위 국가 도메인을 사용하려면 어쩔 수 없이 cafe24 와 같은 국내 호스팅 서비스 업체로 알아봐야 합니다.

맨밑에 국가를 미국으로 변경 해줘야한다

■ 구글 도메인 구입하기

나에게 맞는 도메인 네임을 검색했으면 이제 결제를 하면 됩니다. 특별하지 않은 평범한 도메인 네임은 $12불/1년이 최소 가격입니다. 프리미엄이 붙은 도메인 네임은 1회 성으로 한번 고가의 비용을 지불하고 이후 소유권이 넘어오면 유지 비용은 저렴합니다. 결제할 때는 주소를 한국으로 바꿔도 관계없습니다. 카드번호 입력 후에 zip code 입력하는 부분이 있는데 그냥 아무 번호를 입력해도 된다는 인터넷 검색으로 그냥 임의의 번호를 넣고 결제를 완료하였습니다.

사실 도메인을 구매하기 전까지 최상위 도메인, 서브 도메인 이런 것의 개념을 잘 몰랐는데 도메인을 구입하고 이것저것 해 보니깐 뭔 이야기 인지 바로 감이 오더라고요. 자 이제 도메인 네임을 구입했으면 내 IP 주소를 방금 구입 한 도메인과 연결시켜 줘야 합니다.

■ 구글 도메인 서비스 : IP 주소와 도메인 연결하기 – 맞춤 레코드 설정

왼쪽에 DNS 라는 항목이 있습니다. 클릭하면 리소스 레코드 라는 것이 나옵니다. 복잡하게 생각하기 싫고 내가 구입한 도메인 주소와 내 서버의 IP 주소를 단순히 연결시키려면 맞춤 레코드 항목에 정보를 입력하는 것으로 설정이 끝납니다.

만약 구입한 도메인 네임이 example.com 이고 서버 IP 주소는 123.123.234.234 라고 가정해 보겠습니다. 이 경우 맞춤 레코드 항목에서 호스트 이름은 비워두면 자동으로 example.com 을 의미합니다. 유형은 A로 선택합니다. TTL 은 그대로 두고 데이터는 내 서버 IP 주소 123.123.234.234 입력해 주면 그것으로 설정이 완료됩니다. 이제 구입한 도메인 주소 example.com 을 인터넷 창에 입력하면 내 홈페이지로 이동하게 됩니다.

노파심에 이야기하면 IP 주소를 입력할 때는 내 공유기에 접속해서 외부 IP 주소를 확인 후 입력해야 합니다. 만약 192.168.xxx.xxx 나 172.30.xxx.xxx 같은 공유기가 할당하는 내부 네트워크 IP 주소를 입력하면 집안에서만 연결이 될 수 있으니 주의해야 합니다.

만약 클라우드 서버에 고정 IP 설정이 되어 있으면 이렇게 맞춤 레코드 방식으로 간단히 설정이 완료됩니다. 그런데 만약 가정용 인터넷인 경우 집에 들어오는 인터넷의 주소가 바뀌면 그때마다 레코드 정보를 업데이트해줘야 하는 불편함이 발생합니다. 공유기를 리부팅하지 않으면 잘 안 바뀌긴 할 텐데요, 그래도 아파트 정전이라든지 이런 게 있으면 좀 귀찮아질 수 있습니다.

■ 구글 도메인 서비스 : Dynamic DNS  – 동적 DNS 설정하기

구글 도메인이 다른 곳에 인수되면서 해당 서비스는 더 이상 지원하지 않는다고 합니다. 과거 작성했던 글은 숨겨놓기 처리하였습니다.

동적 DNS 설정하기

집에서 서버를 운영하고 있다면 이 방법으로 설정하는 것을 추천합니다. 반면 클라우드 머신으로 운영하고 있어서 고정 IP 설정이 가능하다면 굳이 복잡하게 이 방법을 사용할 필요는 없습니다. 집에 들어오는 인터넷 회선이 고정 IP가 아니기에 IP 주소가 바뀔 소지가 있어서 동적 DNS를 설정합니다. 대신 서버에서 약간의 설정이 필요합니다. 구글 도메인 화면 맨 아래로 내리면 고급 설정이 있는데 그것을 누르면 아래와 같이 동적 DNS 항목이 나옵니다.

오른쪽에 동적 DNS 관리를 하여 설정을 해줘야 하는데 만약 맞춤 레코드 방법으로 이미 내 도메인이 IP 주소와 연결되어 있다면 먼저 맞춤 레코드를 삭제해야 합니다. 그래야 중복 오류가 발생되지 않습니다. 그다음은 오른쪽 상단에 동적 DNS 관리를 눌러서 레코드를 추가하는데 호스트 이름은 @를 입력하고 바로 밑에 새 레코드 만들기를 눌러 줍니다. @는 현재 도메인 주소를 의미합니다.

그러면 리소스 레코드 밑에 동적 DNS 라는 항목이 생기고 example.com/A로 생길 겁니다. (제가 다른 리소스 레코드 설정이 많아서 캡처해서 설명하기가 어렵네요) 이제 관리를 클릭하면 ID 와 비밀번호를 볼 수 있는데 그것을 어디다가 잘 복사해 둡니다. 간단히 이야기하면 구글 도메인의 정보를 자동으로 바뀌어야 하니깐 구글계정 로그인 정보가 필요하고 이걸 암호화했다고 보시면 됩니다. 통상적인 아이디와 비밀번호를 적어놓으면 다 노출이 되니깐 ID와 비밀번호을 이렇게 일종의 암호화하여 입력합니다.

이제 라즈베리파이에 접속해서 ddclient 라는 프로그램을 설치해 줍니다.

sudo apt-get install ddclient

설치한 뒤에는 다음과 같이 입력하여 설정 파일을 편집해 줍니다.

sudo vim /etc/ddclient.conf

이제 어떻게 편집해야 하는지는 구글 도메인 페이지에 상세히 나와 있습니다. 아래 링크 설명을 토대로 내용을 요약해 보았습니다.

https://support.google.com/domains/answer/6147083

아래로 내리면 ‘게이트웨이, 호스트 또는 서버에 클라이언트 프로그램 설치’ 라는 내용이 있는데 클릭해서 일반적인 클라이언트 구성 예시의 DDclient 항목을 확인합니다.

#ddclient.conf 항목:

protocol=dyndns2
use=web
server=domains.google.com
ssl=yes
login=generated_username (위에서 생성 암호화 된 id로 변경)
password=generated_password (위에서 생성 암호화 된 비밀번호로 변경)
example.com (내 도메인주소로 변경)

이 내용을 아까 ddclient.conf 에다가 내용을 업데이트 해 줍니다. 위에서 푸른색 글씨 부분은 각자 상황에 맞게 업데이트해 주셔야 됩니다. 맨 아래는 내 도메인 주소를 적으면 됩니다.

내용을 다 업데이트 했으면 다음과 같이 실행해 줍니다.

sudo ddclient -daemon=0 -debug -verbose -noquiet

그리고 다시 구글 도메인에 접속해서 동적 DNS 항목을 확인합니다.

동적 DNS 부분을 클릭하면 IP 주소를 볼 수 있는데, 이 IP 주소가 공유기에서 확인 한 외부 IP 주소와 일치하는지 반드시 확인합니다. 일치하면 잘 설정이 된 것입니다.

한 가지 주의사항이 있는데, 검색하다가 다른 사이트의 내용을 확인해 보면 google domain을 지원하는 DDclient 방식의 내용을 ddclient.conf 에 적어놓은 경우가 있습니다. 저도 처음에 그 방법으로 했는데 이 방식이 라즈베리파이 서버를 구축하고 거기다가 동적 DNS를 설정하는 과는 맞지 않아서 이렇게 하면 잘 안되더라고요. 동적 DNS IP 주소가 공유기 내부 IP 주소와 계속 연결이 되었습니다.

만약 이렇게 했는데 동적 DNS IP 주소가 외부 IP 주소가 아닌 공유기 내부 IP 주소로 나타나는 경우 내부 IP 주소가 나의 도메인과 연결이 됩니다. 그럼 내부 IP 주소를 인식할 수 있는 곳은 어디일까요? 그건 우리 집안 네트워크밖에 없습니다. 이렇게 설정되면 집안에서는 잘 접속이 되는 것처럼 보이는데 집 밖의 네트워크로 내 홈페이지를 접속하면 접속이 안되거나 다 깨져서 텍스트만 남는 홈페이지를 보게 될 수 있습니다. 꼭 설정이 마무리된 후 동적 DNS 부분을 클릭하여 어떤 IP 주소와 내 도메인이 연결되었는지 확인하도록 합시다.

■ 도메인 설정 작은 팁 : 서브 도메인 www 를 내 도메인에 맞춤 설정하기

홈페이지 주소 앞에 www 를 입력하는 경우에도 내 도메인으로 연결시켜 두는 걸 추천합니다. 보통 사람들이 www 입력하기도 하고 안 하기도 하고 헷갈리는 사람들도 있어서… 이럴 땐 CNAME 레코드를 추가하면 됩니다.

유형을 먼저 선택해서 CNAME 으로 하고 호스트 이름엔 www 만 입력합니다. 데이터는 example.com 을 입력하면 됩니다. 데이터에 자동으로 .이 하나 찍히는데 정규화된 도메인 이름을 제공하는데 필요한 것으로 정상입니다.

■ 구글 도메인 서비스 : 메일 서버 운영을 위한 레코드 설정하기

(참고로 본 게시글에서는 메일 서버 셋업 과정은 적지 않으니 참고하시기 바랍니다.)

내 도메인 네임으로 메일 서버를 구축할 때 필요한 맞춤 레코드 설정을 정리하였습니다. 구글 도메인에 접속해서 기본적으로 다음과 같이 3개의 레코드를 추가합니다. ※ 참고로 메일 서버는 홈페이지 운영서버와 완전히 독립적으로 별도로 분리되어 있습니다.

1) 먼저 나의 도메인 주소에다가 MX 레코드를 설정합니다. MX 레코드(Mail eXchanger)는 해당 도메인의 메일 서버를 지정하는 것입니다. 보통 ‘mail.example.com’ 로 설정해 두면 됩니다. 앞에 숫자는 메일 서버의 우선순위인데 10으로 입력해 줍니다. 메일 서버가 여럿 있을 경우 우선순위를 참조합니다. 데이터에 자동으로 .이 하나 찍히는데 정규화된 도메인 이름을 제공하는데 필요합니다.
이렇게 하면 @example.com 의 메일 주소는 MX 레코드에 의해 mail.example.com 이라는 서버를 찾게 됩니다.

2) 순서가 바뀌긴 했는데 위에서 설정한 ‘mail.example.com’ 에 해당하는 서버에 A 레코드를 추가하고 IP 주소를 연결합니다. 본 게시글 맨 처음에 설명한 맞춤 도메인 설정으로 A 레코드는 도메인 주소를 IP 주소와 연결시킨다는 뜻입니다. ‘mail.example.com’ 를 라즈베리파이의 IP 주소에 연결시키는 것입니다. 필요시 공유기에 접속해서 외부 IP 주소를 확인해야 합니다.
여기까지 하면 @example.com 의 메일 주소는 MX 레코드에 의해 mail.example.com 이라는 서버를 찾게 되고, A레코드에 의해 mail.example.com은 IP 주소 서버로 연결됩니다.

3) 이메일 스푸핑(Email spoofing) 방지를 위한 SPF 레코드를 설정합니다. 이메일 스푸핑은 보낸 이 주소를 위조한다는 뜻으로 이것을 방지하기 위해 지정된 서버에서만 이메일을 보낼 수 있도록 지정하는 것입니다. 지정 서버는 mail 서버의 IP 주소와 동일하게 해주면 됩니다. 레코드 유형에 SPF 가 있어서 편하네! 하고 사용했는데 그렇게 레코드를 추가하면 안 되고 구글 도메인에서는 레코드 유형을 TXT 로 해서 아래와 같이 입력해 줍니다.

"v=spf1 ip4:123.456.12.34 -all"

IP 주소는 예시입니다. 마지막에 -all 또는 ~all 로 입력할 수 있는데 -all 은 승인되지 않은 보낸 사람의 메시지를 거부 및 삭제를 하고 ~all 은 승인되지 않은 보낸 사람의 메시지를 허용하지만 의심스러운 것으로 표기합니다. -all 로 입력합니다.

이 도메인 레코드를 잘 이해하는 것으로도 이후 서버에서 메일 서버를 구축할 때 실수를 줄일 수 있을 겁니다. 호스트 이름 설정할 때 도움이 될 듯싶습니다.

※ 참고로 리버스 도메인 설정은 구글 도메인에서 설정할 수 없습니다. 인터넷 서비스 업체에 별도로 신청해야 한다는데… 번거로울 거 같네요.

■ 구글 도메인 서비스 : 이메일 전달 기능

필자는 직접 라즈베리파이에 메일 서버를 구축했었는데 제 서버가 메일 발송 중계 역할을 했는지 수만 통 이상의 스팸메일 발송에 시달려서 얼마 못 가서 메일 서버를 날려버렸습니다. 하… 다수에게 피해를 준다고 생각하니 못하겠네요. 대신 구글 도메인에서는 내 도메인 주소로 메일을 주고받을 수 있는 기능을 제공합니다. 이 기능을 사용하려면 구글 계정 로그인 2단계 보안 설정이 필수적으로 요구됩니다.

왼쪽 메뉴에서 이메일을 클릭하면 아래와 같은 내용을 확인할 수 있습니다. 먼저 이것을 설정해 줘야 합니다.

만약 abc@example.com 이라는 이메일 주소로 메일을 주고받고 싶다고 합시다. 먼저 메일을 받는 방법을 설정하는 것으로 밑에 이메일 별칭 추가를 누르고 별칭 이메일은 abc@example.com 을 입력합니다. 그러면 그 메일을 받아줄 다른 계정의 내 메일 주소를 입력해 줘야 하는데 Gmail 계정으로 설정하는 게 간편합니다.

이제 메일을 보내는 방법을 설정해야 하는데 내 구글 계정으로 돌아가서 보안 항목을 클릭하고 아래로 내려 Google에 로그인 항목을 확인합니다. 보안상 제가 내용을 지워서 좀 다를 수 있는데 앱 비밀번호를 눌러줍니다. 그러면 몇 가지 설정을 통해서 암호화된 비밀번호를 생성할 수 있습니다.

암호를 생성했으면 이제 Gmail 에 접속합니다. Gmail 모든 설정 보기에서 계정 및 가져오기를 클릭합니다.

다른 주소에서 메일 보내기 항목이 있는데 다른 이메일 주소 추가를 누르면 팝업창이 뜨게 됩니다. 팝업창에 위에서 별칭 설정한 abc@example.com 이메일 주소를 입력하고 다음 단계로 넘어가서 위에서 생성한 비밀번호를 입력해서 설정을 완료합니다. 메일 발송 중계 서버 smtp.gmail.com 가 추가되면 완료된 것입니다. 이제 어떤 메일 주소를 기본 설정으로 발송할 것인지 설정하면 됩니다.

여담으로 다시 DNS 레코드 항목을 보면 MX 레코드가 추가된 것을 확인할 수 있습니다. @example.com 의 메일 주소가 오면 MX 레코드에 의해 구글서버를 찾게 됩니다. 그리고 좀 복잡하지만 인증 과정을 통해 Gmail smtp를 통해 메일이 발송되는 거 같습니다.

■ 구글 도메인 서비스 : 웹사이트 만들기 – Google Sites

뒤늦게 알게 된 기능인데 정말 너무 마음에 드는 기능입니다. 내 홈페이지를 간단히 구축할 수 있는 기능을 제공합니다. 구글 도메인 하나 구입해서 이 기능 사용하면 복잡한 서버 같은 거 하나 필요 없이 내 홈페이지를 만들고 게시할 수 있습니다. 너무 간단하지 않나요?

왼쪽에 웹사이트를 클릭하면 오른쪽 상단에 웹사이트 구축 / 전달 주소 추가가 있습니다. 웹사이트 구축을 눌러보면 여러 가지 항목이 있는데 간단한 사이트라고 나와있는 Google Sites 를 선택해 줍니다.

Google Sites 는 간단하면서도 강력합니다.

대신 한 가지 고려 사항은 게시형 홈페이지 형태의 간단한 사이트 구축만 가능하고 블로그 형태 또는 쇼핑몰 같은 복잡한 홈페이지 운영은 안됩니다. 페이지 개수를 많이 늘리기는 좀 어려운 형태입니다. 대신 페이지 수가 비교적 적고 공지 형태의 홈페이지를 운영한다면 정말 이만한 게 없습니다. 홈페이지 만드는 게 처음이라면 연습 삼아 만들어 보는 것도 재미있습니다.

대략적인 Google Sites의 모습은 다음과 같습니다. Google Sites를 이용해서 사이트 구축해 봤는데 정말로 프로그래밍과 디자인 기술이 전혀 필요 없는 사이트 구축이 가능합니다. 파워포인트 자료 만드는 정도의 노력으로 홈페이지를 만들 수 있을 정도입니다.

Google Sites로 홈페이지를 꾸며서 게시하면 알아서 DNS 레코드 항목에 홈페이지 주소가 Google Sites 홈페이지 주소로 CNAME 레코드가 생성됩니다.

구글 도메인 사용하면 할수록 너무 마음에 듭니다.