본문 바로가기

컴퓨터와 친해지기/DNS

#12 GitHub에 도메인 연결

GitHub에 도메인 연결

서비스 대행업체에 도메인 연결과 문제점




내가 운영하는 홈페이지의 웹서버 IP 주소에 도메인을 입히는 것이 아니라 웹서버를 서비스해주는 업체에 도메인을 입히는 것은 어떻게 하면 될까요? 보통의 경우 내가 운영하지 않는 웹서버를 이용할 경우 https://boojafactory.github.io/web1_html_internet/과 같은 지저분한 홈페이지 주소를 사용해야 합니다.


따라서 클라이언트가 부자팩토리 웹페이지에 접속하기 위해서는 https://boojafactory.github.io/web1_html_internet/을 입력하고 접속을 해야하니 매우 불편한 상황에 놓이게 됩니다.


그런데 부자팩토리의 서비스가 괜찮아서 성장을 위해 더나은 조건의 웹서비스를 해주는 서버로 이전을 하게되었습니다. 그러면 제공되는 주소도 바뀌게 될 것입니다.




그런데 문제가 발생합니다. 이전된 부자팩토리의 웹서버의 주소는 https://boojafactory.org/course/1인데 부자팩토리의 사용자들은 여전히 https://boojafactory.github.io/web1_html_internet/의 주소를 입력하고 접속을 해온다는 것입니다. 당연히 해당서버는 없어졌기 때문에 404 Not found라는 메세지가 뜨게 되고 사용자들은 혼란에 빠지게 됩니다. 이런문제점을 어떻게 해결할 수 있을까요?

도메인 연결 SOLUTION



서버제공업체가 서버주소에 boojafactory.ga와 같은도메인을 붙일 수 있도록 지원해준다고 한다면 부자팩토리 웹서버는 사람들에게 boojafactory.ga 를 통해 서비스에 접속할 수 있다고 알리게 될 것입니다. 그러면 클라이언트들은 boojafactory.ga 를 통해 접속해올 수 있게 될 것입니다.


이와같은 상황에서 서비스가 성장하여 더나은 서버를 제공하는 업체로 이전을 한다고 해보겠습니다. 




그러면 클라이언트들은 boojafactory.ga 를 통해서 부자팩토리 서버로 접속해올 것이기 때문에 서버가 이전되더라도 이전된 새로운 서버와 통신하는데 문제점이 없어질 것입니다. 이러한 솔루션을 위해 도메인을 지원하는 서비스업체가 필요하고 대표적인 서비스업체로 github가 있습니다.

도메인 연결 프로세스

1 STEP

등록대행업체(freenom.com)에서 도메인을 구입합니다. boojafactory.ga 와 같이 Top-level 도메인이 ga인 경우 12개월 무료로 도메인을 구입할 수 있습니다.

2 STEP

웹서버를 역할의 서비스를 제공해주는 github 사이트에서 부자팩토리에 대한 HTML 파일을 업로드하면 홈페이지처럼 사용이 가능합니다. 그리고 github측으로부터 https://boojafactory.github.io/web1_html_internet/과 같은 다소 지저분한 홈페이지 주소를 부여받을 것입니다. 


그리고 최종 목적은 https://boojafactory.github.io/web1_html_internet/ 대신 boojafactory.ga를 입력하면 https://boojafactory.github.io/web1_html_internet/에 있는 컨텐츠들을 클라이언트에게 제공할 수 있도록 하는 것입니다.

3 STEP

github측에서 "우리 서비스에 boojafactory.ga 도메인을 붙이려면 192.30.252.153 이라는 IP 주소로 boojafactory.ga 도메인을 붙여주세요. 그리고 DNS 서버에 등록해주세요."라고 요구를 해올 것입니다.

4 STEP

부자팩토리 서버 운영자는 "boojafactory.ga의 IP 주소는 192.30.252.153 입니다." 라는 정보를 DNS 서버에 A레코드 타입의 형태로 추가를 해놓아야합니다.

5 STEP

부자팩토리 서버 운영자는 github 측에 "앞으로 boojafactory.ga로 접속이 들어오면 그 접속은 기존에 있던 https://boojafactory.github.io/web1_html_internet/ 주소로 들어왔을 때 제공되던 컨텐츠를 보내주세요"라고 요청해야 합니다. 

6 STEP

클라이언트가 웹브라우저에 boojafactory.ga를 입력하면 가장 먼저 DNS 서버에 boojafactory.ga IP 주소가 무엇인지 요청하게 되고 DNS서버는 boojafactory.ga의 IP 주소는 192.30.252.153 이라고 알려주게됩니다. IP를 알게된 클라이언트 컴퓨터는 해당 IP 주소인 github 서버에 접속하게 됩니다.

7 STEP

github 서버에 boojafactory.ga이라는 도메인으로 접속이 들어왔기 때문에 github는 boojafactory.ga는 https://boojafactory.github.io/web1_html_internet/의 정보를 제공해야 한다라는 룰에 따라 요청받은 정보를 클라이언트에게 응답해주게 됩니다. 

GitHub에서 도메인 연결하기

목적1 : 부자팩토리 운영자는 github에게 boojafactory.ga 를 알려주는 것

목적2 : DNS 서버에게 boojafactory.ga 도메인은 어떤 컴퓨터(192.30.252.153)를 가리켜야 하는가를 알려주는 것


1 STEP

github 웹사이트에 접속합니다. 

--> Setting 항목 클릭 

--> GitHub Pages 부분의 "Custom domain" 항목에서 boojafactory.ga 를 입력하고 Save 버튼을 누릅니다.


이제 "https://boojafactory.github.io/web1_html_internet/ 홈페이지는 boojafactory.ga 라는 도메인을 사용할 것이므로 boojafactory.ga 도메인으로 접속이 들어오면 https://boojafactory.github.io/web1_html_internet/의 컨텐츠를 보내주세요."라고 GitHub 측에 요청한 상태가 됩니다.

2 STEP

목적1을 달성했으니 DNS 정보를 세팅해야 합니다.
Custom domain 항목 옆에 있는 Learn more 링크를 클릭합니다.
--> "Setting up an apex domain and www subdomain"링크를 클릭합니다.
--> "Setting ua an apex doamin"링크를 클릭합니다.
--> A 레코드 타입으로 맵핑하고 싶다면 Configuring A records with your DNS provider 부분을 찾습니다.
--> Configuring A records with your DNS provider 부분을 보면 GItHub에서 제공하는 IP 주소가 나와있습니다.(192.30.252.153 / 192.30.252.154)
--> 이 IP 주소를 DNS 서버에 세팅해야 합니다.

3 STEP

boojafactory.ga 도메인을 구매한 freenom.com 싸이트로 접속해서 My domains 페이지에서 Manage Domain을 클릭합니다. 
--> 이곳에서 DNS 서버의 IP주소를 세팅할 수 있습니다.
--> A레코드 타입으로 설정하고 TTL 수치를 적당하게 300정도로 설정하고 Target 부분에 192.30.252.153을 입력합니다. 
--> GitHub측은 안정성을 위해 서버를 2개 운영하고 있기 때문에 192.30.252.154를 같은 방식으로 추가해줍니다.
--> Save Changes 버튼 클릭 
- 완료 -

2개의 레코드를 입력하면 클라이언트가 접속해 올때 2개의 서버로 번갈아 가며 접속을 하게 되므로 부하도 분산되고 하나의 서버가 문제가 생겼을 때 다른 서버가 존재하기 때문에 안정성이 높아지는 것입니다. 


'컴퓨터와 친해지기 > DNS' 카테고리의 다른 글

#11 DNS Record 와 CNAME  (1) 2018.12.10
#10 내 도메인 이름 등록하기  (0) 2018.12.09
#09 nslookup  (0) 2018.12.08
#08 도메인 이름 등록 과정  (0) 2018.12.07
#07 도메인 이름의 구조  (0) 2018.12.06