A 레코드, CNAME과 Windows Azure 웹 사이트 (WAWS)의 DNS 사용
A 레코드, CNAME과 Windows Azure 웹 사이트 (WAWS)의 DNS 사용
이 포스트는, 11월 21일에 게시된 A Records, CNAME and Using DNS with Windows Azure Web Sites (WAWS)의 번역본 입니다.
편집메모 : 이번에는 Windows Azure 웹 사이트 팀의 프로그램 관리자를 맡고 있는 Erez Benari 의 기사를 소개합니다.
웹 사이트를 설정하면 사이트에 자신의 도메인 이름을 할당하여 실행 하는 것이 필수적입니다. 이미 알고 계시겠습니다만, Windows Azure 웹 사이트는 공유 계층과 일반 계층 모두에서 사이트를 호스팅 할 수 있습니다. 그러나 DNS 구성은 숙련된 엔지니어가 아닌 경우 많은 노력이 들어갑니다. 이번 포스트에는 웹 사이트의 DNS를 구성할 때 알아야 할 몇 가지 중요한 용어 및 메커니즘에 대해 설명하고 모든 것을 원활하게 수행 하는 방법을 설명합니다. 특히, 다음과 같은 요소에 대해 설명합니다.
- DNS 영역
- DNS 서버
- DNS 항목
- CNAME 레코드
- A 레코드
DNS기본
도메인 이름 시스템 (약칭 DNS) 이름을 IP 주소로 확인 하는 메커니즘으로, 일부러 IP 주소를 기억하지 않고도 웹 사이트의 이름을 입력하여 해당 페이지를 표시할 수 있도록 합니다. 웹 사이트를 설정하는 경우에는 65.55.58.201 (IPV4) 및 2607: f8b0: 400a: 0803: 0000: 0000: 0000: 1 (IPv6) 이라는 숫자로 구성된 IP 주소가 할당됩니다. 그러나 이러한 숫자들을 기억하고 입력하는 것은 (특히 길이가 긴 경우) 현실적이지 않습니다. DNS 서비스로 수천 대의 서버를 운영 중인 전세계의 서비스에서 사용자가 브라우저에 주소를 입력하여 액세스 하려는 웹 사이트의 IP 주소가 제공됩니다. 이 작업은 도메인의 이름 (Name Resolution) 확인 이라고 합니다.
일반적으로 이 작업은 브라우저 소프트웨어가 백그라운드에서 실행하기 때문에, 사용자는 그것을 의식 하는 것은 아닙니다. 그러나 필요에 따라 이 프로세스를 수동으로 실행하여 확인할 수 있습니다. 이렇게 하려면 먼저, 시작 메뉴에서 명령 프롬프트를 엽니다. 그런 다음, PING 명령을 실행하면 웹 사이트의 이름을 지정하여 실행 합니다. 지정된 사이트에 존재하는 경우 아래와 같이 IP 주소가 표시됩니다.
(참고 : 이 사이트는 위의 예제와 같이 4 개의 응답이 반환되지 않을 수 있습니다. 일부 사이트에서는 보안 메커니즘을 통해 응답을 차단 합니다. 그러나 대괄호 안에 표시 된 IP 주소는 웹 사이트가 있으면 항상 표시됩니다. )
Windows Azure 웹 사이트에서 웹 사이트를 설정하는 경우 (이 단계는 웹 사이트를 호스팅 공급자에 따라 다르지만 여기에는 Azure 웹 사이트의 경우에 국한하여 이야기를 진행 합니다), Azure가 자동으로 IP 주소를 할당하고 사용자는 이 주소에 Azurewebsites.net 도메인 내에서 이름을 선택합니다.
마법사를 완료하면 DNS 서비스는 사용자가 선택한 이름을 이 사이트의 IP 주소로 확인하도록 "전송" 됩니다. 이 조합은DNS 영역 라는 특수한 데이터베이스에 저장됩니다. 이 DNS 영역이 전세계 모든 도메인을 소유하고 있습니다. Azure 웹 사이트에서 만든 사이트는 마이크로소프트에서 관리하는 Azurewebsites.net 영역에 저장됩니다.
테스트 및 개발의 경우 Azure 영역에서 기본값을 사용하면 사이트를 프로덕션 환경으로 마이그레이션하는 경우에는 자신이 소유한 도메인을 사용 하는 것이 일반적 입니다. 이 절차를 시작하기 전에 먼저 세상에 존재 하는 DNS 공급자 중 하나로부터 도메인 이름을 구입할 수 있습니다. DNS 공급자는 요금의 저렴하며 Danica Patrick, Bar Refaeli, Jessie Heiman 등 특급 스타의 CM으로 유명한 북미의 GoDaddy 등이 있습니다.
도메인 공급자가 도메인을 구입하고 공급자의 서버에 해당 도메인의 DNS 영역을 만듭니다. DNS는 이름 확인에 따라 도메인을 IP로 변환 해야 하기 때문에, 해당 IP에 이미 웹 사이트를 소유하고 있는지 여부를 확인합니다. 소유하지 않은 경우에는 일반적으로 도메인을 보류하는 옵션을 선택할 수 있습니다. 이것은 빈 서버 또는 일반적인 랜딩 페이지의 IP 주소를 도메인에 대해 지정하는 것입니다 (랜딩 페이지는 호스팅 보류 도메인으로 서비스를 제공하기 위해 도메인 공급자가 일반적으로 설치하는 특별한 서버입니다.) 이미 사이트가 있는 경우에는 도메인 공급자가 사용자의 DNS 영역에 대한 IP 주소를 지정 합니다 (IP 주소는 이 단계에서 사용자가 제공해야 합니다.) 공급자가 도메인의 IP를 지정하는 것을 「DNS 레코드만들기 」 라고 합니다. 또한, 이것에 의해 만들어진 레코드는A 레코드 는 호스트레코드 라고도 합니다.
사이트의유동성
Azure 웹 사이트에서 웹 사이트를 만들 때 IP 주소를 해당 사이트에 할당됩니다. 이 IP 주소는 이미 앞에서 설명 된 대로, 지정 된 호스트 이름에 PING 명령을 실행하여 확인할 수 있습니다. 또한 필요에 따라 사용자가 도메인을 구입하면 이 IP 주소를 지정 하는 A 레코드를 만들고, 동시에 Azure에 새 도메인을 통지해야 합니다. 클라우드는 웹 사이트에 복잡한 방법으로 저장되어 있기 때문에, 이것이 사태를 복잡하게 하고 있습니다.
기존의 웹 호스팅에 비해 클라우드 환경이 아주 좋은 이유로, 사이트가 특정 서버에 저장 된 것이 없다는 점이 있습니다. 요청이 전송 되는, 마이크로소프트가 소유 하는 많은 웹 서버 중 하나에 사이트를 만들 수 있습니다. 예전방식의 웹 호스팅에서는 이것은 상식을 벗어난 것 같다고 할 수도 있습니다. 하지만 사실, 이것이 클라우드가 우수 하다는 이유 중 하나입니다. 사이트가 서 한 서버에서 호스팅되는 경우 서버에 오류가 발생하면 서버가 복구 될 때까지 사이트에 액세스할 수 없습니다. 서버 복구에는 오랜 시간이 걸릴 수 있습니다. 클라우드는 사이트를 실행 중인 서버 중 하나에, 필요에 따라 동적이고 즉시 만들어집니다. 이 때문에 서버에 오류가 발생하면 웹 사이트에 액세스 하는 사용자가 알지 못하는 만큼 신속하게 사이트의 다른 서버로 이동합니다. 이 때 사이트를 동적으로 호스트 되어있기 때문에 필연적으로 IP 주소를 언제든지 변경될 수 있으며, DNS에 대한 영향을 미칠 수 있습니다.
이 사이트에 IP 주소가 할당되어, 그것을 쉽게 찾을 수 있다 하더라도, 도메인의 IP 주소를 지정 하는 것은 피하는 것이 좋습니다. 자세히 설명 하면 IP 주소를 가리키도록 DNS를 하드 코드하는 것은 가능 하지만, 이 IP는 나중에 변경 될 수 있습니다. 이렇게 하면 도메인을 지정 하는 IP 주소는 이미 서버에 할당 되지 않았기 때문에 누군가 이 사이트에 액세스하여 데이터를 검색할 수 없습니다. 이 문제를 해결하기 위해 CNAME 이라는 메커니즘이 사용됩니다.
CNAME 레코드
위와 같은 경우에는 사이트의 IP 주소는 언제든지 변경 될 수 있으므로 정식이름 (Canonical Name: CNAME) 라는 기능을 DNS에서 사용하고 있습니다. 도메인 공급자가 도메인 구매자에 대한 DNS 영역을 만듭니다. 이미 언급 한 대로,이때 보통은 A 레코드를 만들 수 있지만 대신 CNAME 레코드를 만들 수 있습니다. CNAME 레코드는 DNS 서비스에 대해 도메인을 지정하는 IP 주소가 아닌 다른 URL을 전달 합니다. 그것은 식료품가게에서 점원에 저항성 장난감을 어디서 판매 하는지 질문할 때 「 건너편 상점이 상당히 좋다고 생각 합니다 」 라는 대답이 돌아올 것입니다.
Azure에서 사이트의 IP 주소는 변경될 수 있으므로, CNAME을 사용하여 IP와 마찬가지로 동적으로 수용할 수 있는 DNS 이름 확인 작업을 중간에 추가하는 것이 이상적입니다. 이렇게 하면 사용자 지정 도메인을 입력 하면 IP 주소 대신 사용자의 azurewebsites.net의 URL에 대한 이름 확인을 수행 하도록 DNS에 전송됩니다. 그 후, Azure 서버는 사용자의 azurewebsites.net의 URL에 대한 이름 확인을 수행하고 IP 주소를 지정합니다. 다음 표에서는 두 종류의 프로세스를 비교한 것입니다.
클라우드에서의 이름 확인 프로세스는 더 많은 단계가 있습니다, 하지만 백그라운드에서 즉시 실행되므로, 사이트 소유자와 방문자에게는 영향을 주지 않습니다. 실질적인 차이점은 도메인 구입 시 해당 도메인에 대해 DNS를 구성해야 하는 것입니다.
설치에서 발생하는 주요 문제들 중에 하나는 클라우드로 마이그레이션 하는 엄청난 수의 사용자를 선점하려는 도메인 업체가 많다는 것에서 기인 합니다. 주요 공급자는 이미 마법사와 뛰어난 편집 도구를 만들고 사용자가 필요한 구성 변경을 허용하고 있습니다.
공급자가 셀프 서비스 인터페이스를 제공 하는 경우에는 쉽게 이야기를 할 수 있습니다. 방금 이름을 댄 GoDaddy의 경우 아주 간단한 도메인 편집기를 사용할 수 있습니다. CNAME을 도메인에 추가 하려면 다음 단계를 수행 하십시오.
(다음의 내용은 GoDaddy라는 DNS Provider에만 해당하는 내용으로 국내 Provider의 경우 다른 Interface를 제공합니다.)
1. 사용 중인 계정에 로그인 합니다.
2. 내 도메인 페이지로 이동 합니다.
3. [DNS Zone File] 탭을 선택 합니다.
4. [Edit]를 클릭 합니다.
5. 시간대 편집기에 새 탭이 표시 됩니다. [CNAME] 블록 [Quick Add]를 클릭 합니다.
6. 별칭에 www를 지정하고 Azurewebsites.net URL을 지정 합니다.
7. 화면 오른쪽 상단에 있는 [Save Zone File] 버튼을 클릭 합니다.
8. 이상에서 완료됩니다. 작업 완료 후 1 시간 정도에서 DNS가 업데이트됩니다. 업데이트 후에는 사용자 지정 도메인에 PING 명령을 실행하면 이름 확인 프로세스가 실행되고 Azure 서버의 IP 주소를 확인할 수 있습니다.
자세한내용은
매일 도메인을 구입하거나 사이트의 마이그레이션 작업을 수행하는 것은 아니기 때문에 이 문서에서 설명 하는 단계를 나중에 필요할 때를 대비하여 이 문서를 저장 하는 것을 권장합니다. 이미 언급했든 도메인 공급자에 따라 CNAME 레코드 설정 방법 및 단계는 서로 다르므로 자세한 내용은 개별적으로 공부 하시기 바랍니다.