이 글에서는 Azure CLI를 사용해 Azure DNS에서 DNS 존 파일을 가져오고 내보내는 방법을 배웁니다. Azure 포털을 통해 존 파일을 가져오고 내보낼 수도 있습니다.
DNS 존 마이그레이션 소개
DNS 존 파일은 존 내 모든 도메인 네임 시스템(DNS) 레코드에 대한 정보를 담은 텍스트 파일입니다. 표준 형식을 따르기 때문에 DNS 시스템 간 DNS 레코드 전송에 적합합니다. 영역 파일을 사용하는 것은 DNS 영역을 Azure DNS로 가져오는 빠르고 편리한 방법입니다. Azure DNS에서 도메인 파일을 내보내 다른 DNS 시스템과 함께 사용할 수도 있습니다.
Azure DNS는 Azure CLI 및 Azure Portal을 통한 영역 파일 가져오기 및 내보내기를 지원합니다.
Azure CLI는 Azure 서비스를 관리하는 데 사용되는 크로스 플랫폼 명령줄 도구입니다. Azure 다운로드 페이지에서 Windows, Mac, Linux용으로 이용할 수 있습니다.
기존 DNS 존 파일을 얻으세요
DNS 존 파일을 Azure DNS로 가져오기 전에 존 파일 사본을 받아야 합니다. 이 파일의 출처는 DNS 존이 호스팅되는 위치에 따라 다릅니다.
- 만약 당신의 DNS 존이 파트너 서비스에서 호스팅된다면, 그 서비스가 DNS 존 파일을 다운로드할 수 있는 방법을 가지고 있을 것입니다. 파트너 서비스에는 도메인 등록기관, 전용 DNS 호스팅 제공업체, 또는 대체 클라우드 제공업체가 포함됩니다.
- 만약 DNS가 Windows DNS에 호스팅된다면, 기본 폴더는 %systemroot%\system32\dns입니다. 각 존 파일의 전체 경로는 DNS 콘솔의 일반 탭에도 표시됩니다.
- 만약 당신의 DNS 존이 BIND로 호스팅된다면, 각 존의 존 파일 위치는 BIND 설정 파일 인 name.conf에 지정됩니다.
Important
가져오는 존 파일에 CNAME 항목이 다른 프라이빗 존의 이름을 가리키고 있다면, Azure DNS 해석이 다른 존도 가져오거나 CNAME 항목을 수정하지 않는 한 실패합니다.
DNS 존 파일을 Azure DNS에 가져오기
존 파일을 가져오면 Azure DNS에 새로운 존이 생성됩니다. 존이 존재한다면, 존 파일의 레코드 세트는 기존 레코드 세트와 병합됩니다.
동작 통합
- 기본적으로 새 레코드 세트는 기존 레코드 세트와 병합됩니다. 병합된 레코드 세트 내의 동일한 레코드는 중복되지 않습니다.
- 레코드 세트가 병합될 때는 기존 레코드 세트의 수명 시간(TTL)이 사용됩니다.
- 권한 시작 (SOA) 매개변수는
host항상 가져온 존 파일에서 가져옵니다. 존 꼭짓점에 있는 네임 서버 레코드 세트도 항상 가져온 존 파일에서 가져온 TTL을 사용합니다. - 가져오기 CNAME 레코드는 같은 이름을 가진 기존 CNAME 레코드를 대체합니다.
- CNAME 레코드와 같은 이름이지만 다른 유형의 레코드 간에 충돌이 발생하면, 기존 레코드가 사용됩니다.
수입에 관한 추가 정보
다음 주석들은 구역 수입 과정에 대한 보다 기술적인 세부사항을 제공합니다.
- 이 지침은
$TTL선택 사항이며 지원됩니다. 지시가 주어지지 않을$TTL경우, 명시적인 TTL이 없는 레코드는 기본 TTL인 3600초로 설정되어 가져오게 됩니다. 같은 레코드 세트 내 두 레코드가 서로 다른 TTL을 지정할 경우, 낮은 값을 사용합니다. - 이 지침은
$ORIGIN선택 사항이며 지원됩니다. no$ORIGIN가 설정되면 기본 값은 명령줄에서 지정한 존 이름과 끝 점(.)이 됩니다. -
$INCLUDE그리고$GENERATE지침은 지원되지 않습니다. - 지원되는 레코드 유형은 A, AAAA, CAA, CNAME, MX, NS, SOA, SRV, TXT. 입니다.
- SOA 레코드는 존이 생성될 때 Azure DNS에 의해 자동으로 생성됩니다. 존 파일을 가져올 때, 파라미터를
host제외한 모든 SOA 매개변수는 존 파일에서 가져옵니다. 이 매개변수는 Azure DNS가 제공하는 기본 네임 서버를 참조해야 하므로 Azure DNS에서 제공하는 값을 사용합니다. - 존 꼭짓점에 설정된 네임 서버 레코드도 존이 생성될 때 Azure DNS에 의해 자동으로 생성됩니다. 이 레코드 세트의 TTL만 임포트됩니다. 이 기록들은 Azure DNS에서 제공하는 네임 서버 이름을 포함하고 있습니다. 레코드 데이터는 가져온 존 파일에 포함된 값으로 덮어쓰어지지 않습니다.
- Azure DNS는 최대 255자 길이의 여러 문자열을 포함하는 TXT 레코드를 지원하며, 각 TXT 레코드 세트에는 최대 4,096개의 문자가 있습니다. 존 파일 내 다중 문자열 TXT 레코드가 동일한 문자열 구조로 가져오지 않을 수 있으니, 가져오기가 끝난 후 TXT 레코드를 확인하세요. 자세한 내용은 TXT 기록을 참조하세요.
CLI 형식 및 값
DNS 존을 가져오기 위한 Azure CLI 명령의 형식은 다음과 같습니다:
az network dns zone import -g <resource group> -n <zone name> -f <zone file name>
Values:
-
<resource group>는 Azure DNS에서 해당 존의 리소스 그룹 이름입니다. -
<zone name>이 구역의 이름입니다. -
<zone file name>는 가져올 존 파일의 경로/이름입니다.
이 이름의 구역이 자원 그룹에 아직 없다면, 하나를 생성해 줍니다. 기존 존의 경우, 가져온 레코드 세트는 기존 레코드 세트와 병합됩니다.
존 파일을 가져오기
존 contoso.com 의 존 파일을 가져오려면.
리소스 그룹이 없는 경우 새로 만듭니다.
az group create --resource-group myresourcegroup -l westeurope파일 contoso.com.txt 에서 새 DNS 존으로 contoso.com 가져오려면 명령어를
az network dns zone import실행하세요.이 명령어는 zone 파일을 불러오고 구문을 생성합니다. 이 명령어는 Azure DNS 서비스에서 일련의 작업을 실행하여 존과 존 내 모든 레코드 세트를 생성합니다. 명령어는 콘솔 창에서 진행 상황과 오류 또는 경고를 보고합니다. 레코드 세트가 직렬로 생성되기 때문에 큰 존 파일을 가져오는 데 몇 분이 걸릴 수 있습니다.
az network dns zone import -g myresourcegroup -n contoso.com -f contoso.com.txt
구역을 확인하세요
파일을 가져오면 다음 방법 중 하나를 사용해 DNS 존을 확인할 수 있습니다:
레코드를 나열하려면 다음 Azure CLI 명령어를 사용하세요:
az network dns record-set list -g myresourcegroup -z contoso.comAzure CLI 명령
az network dns record-set ns list어를 사용해 레코드를 나열할 수도 있습니다.기록을 위해 이름 해석을 확인하기 위해 사용
nslookup하세요. 존이 아직 위임되지 않았다면, 올바른 Azure DNS 네임 서버를 명시적으로 지정해야 합니다. 다음 샘플은 존에 할당된 이름 서버 이름을 가져오는 방법을 보여줍니다.az network dns record-set ns list -g myresourcegroup -z contoso.com --output json[ { ....... "name": "@", "nsRecords": [ { "additionalProperties": {}, "nsdname": "ns1-03.azure-dns.com." }, { "additionalProperties": {}, "nsdname": "ns2-03.azure-dns.net." }, { "additionalProperties": {}, "nsdname": "ns3-03.azure-dns.org." }, { "additionalProperties": {}, "nsdname": "ns4-03.azure-dns.info." } ], "resourceGroup": "myresourcegroup", "ttl": 86400, "type": "Microsoft.Network/dnszones/NS" } ]Windows 명령 프롬프트를 사용해 "www" 레코드를 명령어로
nslookup쿼리하세요.nslookup www.contoso.com ns1-03.azure-dns.com Server: ns1-01.azure-dns.com Address: 40.90.4.1 Name:www.contoso.com Addresses: 134.170.185.46 134.170.188.221
DNS 위임 업데이트
존이 올바르게 임포트되었는지 확인한 후에는 DNS 위임을 Azure DNS 네임 서버를 가리키도록 업데이트해야 합니다. 자세한 내용은 DNS 위임 업데이트 문서를 참조하세요.
Azure DNS에서 DNS zone 파일을 내보내기
DNS 존을 내보내려면 다음 Azure CLI 명령어를 사용하세요:
az network dns zone export -g <resource group> -n <zone name> -f <zone file name>
Values:
-
<resource group>는 Azure DNS에서 해당 존의 리소스 그룹 이름입니다. -
<zone name>이 구역의 이름입니다. -
<zone file name>는 내보낼 존 파일의 경로/이름입니다.
존 가져오기와 마찬가지로, 먼저 로그인하고 구독을 선택한 후 Azure CLI를 Resource Manager 모드로 설정해야 합니다.
존 파일을 내보내기
리소스 그룹 myresourcegroup의 기존 Azure DNS 존 contoso.com 을 파일 contoso.com.txt (현재 폴더 azure network dns zone export내)로 내보내려면 . 이 명령어는 Azure DNS 서비스를 호출하여 존 내 레코드 집합을 열거하고 결과를 BIND 호환 존 파일로 내보냅니다.
az network dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt
다음 단계
- DNS 영역에서 레코드 집합 및 레코드 관리 방법을 알아봅니다.
- 도메인을 Azure DNS에 위임하는 방법을 배워보세요.