C# 프로그래밍 기초 실습 전자책

웹사이트 구축 2

웹사이트 구축 - 도메인

웹사이트 도메인 설정

웹서버에 웹사이트를 구축한 후 도메인을 해당 웹서버 IP와 매핑해주는 작업을 해주게 된다. 이를 위해 먼저 도메인 등록 업체로부터 자신의 공식 도메인명을 구매하고, 등록 업체의 웹사이트에서 DNS 설정을 해주게 된다.

도메인 등록

도메인은 흔히 Registrar라고 불리우는 도메인 등록 업체에서 구입하게 된다. 국내에는 가비아, 카페24 등의 도메인 등록 업체가 있으며, 해외에는 NameCheap, GoDaddy, Name.com 등이 있다. 일반적으로 해외 Registrar 업체가 국내보다 싼 편인데, 한국 도메인(co.kr)은 국내 업체를 이용해야 한다. 개인적인 경험으로는 NameCheap 이 가장 싸고 PayPal로 결제할 수 있어 편리했으며, C# 스터디 웹사이트도 NameCheap에 등록되어 있다. GoDaddy는 가끔 큰 폭의 할인행사를 진행하는데, Private Protection (등록자 주소 전화번호를 숨기는 것)와 같은 부가서비스가 비싸다는 단점이 있다.

Namecheap.com

DNS 셋팅

도메인을 구매한 후에 해당 등록업체의 도메인 제어 패널에서 DNS (Domain Name Server)를 설정하는 메뉴를 선택한다. DNS는 도메인명과 매핑되는 IP 주소를 등록하는 곳인데, 통상 DNS의 A 레코드를 등록하고 자신의 도메인명과 웹서버 IP를 등록해 주면된다. 아래는 NameCheap에서 windbg.xyz 라는 도메인을 특정 IP에 매핑한 예이다. 여기서 @ 은 루트 도메인(windbg.xyz)을 의미하며, www는 서브도메인(www.windbg.xyz)를 의미한다. 일반적으로 이렇게 DNS를 셋팅한 후 몇 시간이 지난 후에 브라우저에서 도메인 URL을 사용할 수 있다.
NameCheap DNS setting

Azure에서의 DNS 셋팅

Azure Website를 사용하는 경우 디폴트로 azurewebsites.net 서브도메인을 생성하는데, 예를 들어, myapp 이라는 웹 프로그램이 있다면, myapp.azurewebsites.net 라는 서브도메인이 생성되고 여기에 가상 IP 주소가 매핑된다. 하지만, 테스트용이 아니라면 일반적으로 자신의 도메인으로 웹사이트를 만들게 되므로 도메인을 구입해 이를 Azure에 매핑해 주게 된다. Azure에서는 이런 자신의 도메인을 Custom Domain 이라고 부르는데, Azure Portal 에서도 도메인을 구매할 수 있게 해 놨다.

일단 도메인을 구매한 후에 Azure에서 도메인과 IP 주소를 매핑하는 스텝은 약각 복잡하다. 먼저, 위에서 사용한 바와 같이 DNS에 A 레코드를 사용하는 방법이 있고, 또한 CNAME 레코드를 사용하는 방법이 있다. DNS에서 A 레코드는 도메인과 IP 주소를 매핑하는 타입이고, CNAME은 도메인과 다른 호스트명을 매핑하는 타입이다. 개인적으로 A 레코드를 더 선호하지만 CNAME도 잘 동작한다.

먼저 A 레코드를 사용한다면, Azure의 IP 주소를 구해야 하는데, Azure Website의 IP 주소는 Azure Portal 에서 App Services -> 웹사이트 선택 -> Custom Domains -> External IP Address 에서 구하면 된다.
Azure IP
DNS 관리화면에서 A 레코드로 도메인과 IP 주소를 지정한 후, Azure에서는 하나 더 추가해서 TXT 레코드를 추가해 준다. DNS에서 TXT 레코드는 도메인과 연관된 추가적인 정보를 넣을 때 사용하는 것인데, Azure 시스템이 이 TXT 레코드를 필요로 하기 때문에 지정해 주어야 한다. DNS 관리화면에서 TXT 라는 타입을 선택하고 루트도메인 @ 에 mywebapp20170423074414.azurewebsites.net 와 같은 Azure 서브도메인을 적어주고, www 서브도메인을 사용한다면 역시 www 에 대해서도 동일한 TXT mywebapp20170423074414.azurewebsites.net 레코드를 추가해 주면 된다.

만약 CNAME 레코드 방법을 사용한다면, 자신의 도메인과 Azure의 서브도메인을 매핑하면 된다. 즉, CNAME은 Alias 기능으로서 자신의 도메인을 Azure의 mywebapp20170423074414.azurewebsites.net 와 매핑해 주는 것이다. 브라우저에서 자신의 도메인이 호출되면 DNS 서버가 Alais인 mywebapp20170423074414.azurewebsites.net 으로 가서 다시 IP을 얻어와 해당 IP의 서버로 가게 된다.

위와 같이 A 레코드 혹은 CNAME 레코드로 DNS 셋팅을 마쳤으면, 마지막으로 Azure Portal의 Custom Domain 에 가서 사용할 호스트명을 추가해 준다. 위 그림의 Azure External IP 밑에 Hostname 을 추가하는 옵션이 있는데, 이를 눌러 사용할 호스트명을 추가해 준다. 예를 들어, myweb.com 혹은 www.myweb.com 과 같은 자신의 도메인 URL을 넣어 주면 된다.

본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.

Previous Next Print



C# 스터디 소셜미디어