Azure Stack Hub에서 DNS 사용

Azure Stack Hub는 다음과 같은 Azure DNS 기능을 지원합니다.

  • DNS 호스트 이름 확인.
  • API를 사용하여 DNS 영역 및 레코드를 만들고 관리합니다.

DNS 호스트 이름 확인 지원

공용 IP 리소스에 대한 DNS 도메인 이름 레이블을 지정할 수 있습니다. Azure Stack Hub는 레이블 이름에 domainnamelabel.location.cloudapp.azurestack.external 을 사용하고 Azure Stack Hub 관리 DNS 서버의 공용 IP 주소에 매핑합니다.

예를 들어 로컬 Azure Stack Hub 위치에서 contoso 를 도메인 이름 레이블로 사용하여 공용 IP 리소스를 만드는 경우 FQDN(정규화된 도메인 이름)contoso.local.cloudapp.azurestack.external 은 리소스의 공용 IP 주소로 확인됩니다. 이 FQDN을 사용하여 Azure Stack Hub의 공용 IP 주소를 가리키는 사용자 지정 도메인 CNAME 레코드를 만들 수 있습니다.

Azure Stack Hub 외부에서 DNS 확인을 위해 내부 DNS 영역을 위임하는 대신 공용 IP 주소를 사용하여 새 영역을 만들 수 있습니다. 그렇지 않으면 클라이언트는 Azure Stack Hub 인프라 DNS 서버에서 확인된 IP 주소에 액세스할 수 없습니다.

이름 확인에 대한 자세한 내용은 DNS 확인을 참조하세요.

중요

만드는 각 도메인 이름 레이블은 Azure Stack Hub 위치 내에서 고유해야 합니다.

다음 스크린샷은 포털을 사용하여 공용 IP 주소를 만들기 위한 공용 IP 주소 만들기 대화 상자를 보여줍니다.

공용 IP 주소 만들기

예제 시나리오

웹앱의 부하 분산 장치 처리 요청이 있습니다. 부하 분산 장치 뒤에는 하나 이상의 가상 머신에서 실행되는 웹 사이트가 있습니다. IP 주소 대신 DNS 이름을 사용하여 부하가 분산된 웹 사이트에 액세스할 수 있습니다.

API를 사용하여 DNS 영역 및 레코드 만들기 및 관리

Azure Stack Hub에서 DNS 영역 및 레코드를 만들고 관리할 수 있습니다.

Azure Stack Hub는 Azure DNS API와 일치하는 API를 사용하여 Azure와 유사한 DNS 서비스를 제공합니다. Azure Stack Hub DNS에서 도메인을 호스팅하면 동일한 자격 증명, API 및 도구를 사용하여 DNS 레코드를 관리할 수 있습니다. 다른 Azure 서비스와 동일한 청구 및 지원을 사용할 수도 있습니다.

Azure Stack Hub DNS 인프라는 Azure보다 더 컴팩트합니다. Azure Stack Hub 배포의 크기와 위치는 DNS scope, 규모 및 성능에 영향을 줍니다. 이는 또한 성능, 가용성, 글로벌 배포 및 고가용성이 배포마다 다를 수 있음을 의미합니다.

Azure DNS와 비교

Azure Stack Hub의 DNS는 Azure의 DNS와 유사하지만 몇 가지 중요한 예외가 있습니다.

  • AAAA 레코드를 지원하지 않음: Azure Stack Hub는 IPv6 주소를 지원하지 않으므로 AAAA 레코드를 지원하지 않습니다. 이는 Azure의 DNS와 Azure Stack Hub의 주요 차이점입니다.

  • 다중 테넌트가 아님: Azure Stack Hub의 DNS 서비스가 다중 테넌트가 아닙니다. 테넌트는 동일한 DNS 영역을 만들 수 없습니다. 영역을 만들려고 시도하는 첫 번째 구독만 성공하고 이후 요청은 실패합니다. 이는 Azure와 Azure Stack Hub DNS 간의 또 다른 주요 차이점입니다.

  • 태그, 메타데이터 및 Etag: Azure Stack Hub에서 태그, 메타데이터, Etag 및 제한을 처리하는 방식에는 약간의 차이가 있습니다.

Azure DNS에 대한 자세한 내용은 DNS 영역 및 레코드를 참조하세요.

태그

Azure Stack Hub DNS는 DNS 영역 리소스에서 Azure Resource Manager 태그 사용을 지원합니다. DNS 레코드 집합의 태그는 지원하지 않습니다. 또는 다음 섹션에 설명된 대로 DNS 레코드 집합에서 메타데이터 가 지원됩니다.

메타데이터

레코드 집합 태그 대신 Azure Stack Hub DNS는 메타데이터를 사용하여 레코드 집합에 주석을 달도록 지원합니다. 태그와 유사한 메타데이터를 사용하면 각 레코드 집합에 이름-값 쌍을 연결할 수 있습니다. 예를 들어 메타데이터는 각 레코드 집합의 용도를 기록하는 데 유용합니다. 태그와 달리 메타데이터를 사용하여 Azure 청구서의 필터링된 보기를 제공할 수 없으며 Azure Resource Manager 정책에서 메타데이터를 지정할 수 없습니다.

Etag

두 사용자 또는 두 프로세스가 동시에 DNS 레코드 수정을 시도한다고 가정합니다. 어느 쪽이 성공할까요? 그리고 성공한 사용자 자신이 다른 사용자가 만든 변경 내용을 덮어썼다는 것을 알고 있을까요?

Azure Stack Hub DNS 는 Etag를 사용하여 동일한 리소스에 대한 동시 변경 내용을 안전하게 처리합니다. Etag는 Azure Resource Manager 태그와 다릅니다. 각 DNS 리소스(영역 또는 레코드 집합)에는 Etag가 연결되어 있습니다. 리소스를 검색하면 해당 Etag도 검색됩니다. 리소스를 업데이트할 때 Azure Stack Hub DNS가 서버의 Etag가 일치하는지 확인할 수 있도록 Etag를 다시 전달하도록 선택할 수 있습니다. 리소스를 업데이트할 때마다 Etag가 다시 생성되므로 Etag 불일치는 동시 변경이 발생했음을 나타냅니다. 리소스가 아직 없는지 확인하기 위해 새 리소스를 만들 때 Etag를 사용할 수도 있습니다.

기본적으로 Azure Stack Hub DNS PowerShell cmdlet은 Etag를 사용하여 영역 및 레코드 집합에 대한 동시 변경을 차단합니다. 선택적 -Overwrite 스위치를 사용하여 Etag 검사를 표시하지 않을 수 있습니다. Etag 검사가 없으므로 발생한 모든 동시 변경 내용을 덮어씁니다.

Azure Stack Hub DNS REST API 수준에서 Etag는 HTTP 헤더를 사용하여 지정됩니다. 해당 동작은 다음 표에 설명되어 있습니다.

헤더 동작
없음 PUT은 항상 성공합니다(Etag 검사 없음).
If-match PUT은 리소스가 있고 Etag가 일치하는 경우에만 성공합니다.
If-match * PUT은 리소스가 있는 경우에만 성공합니다.
If-none-match * PUT은 리소스가 없는 경우에만 성공합니다.

제한

Azure Stack Hub DNS를 사용할 때 적용되는 기본 제한은 다음과 같습니다.

리소스 기본 제한
구독당 영역 100
영역당 레코드 집합 5,000
레코드 집합당 레코드 20

다음 단계