다음을 통해 공유


자습서: 사용자 지정 도메인에 웹앱에 대한 DNS 레코드 만들기

웹앱에 대한 사용자 지정 도메인을 호스트하도록 Azure DNS를 구성할 수 있습니다. 예를 들어 Azure 웹앱을 만들고 FQDN(정규화된 도메인 이름)으로 www.contoso.com 또는 contoso.com을 사용하여 사용자가 액세스하도록 할 수 있습니다.

바꾸려면 다음과 같은 세 가지 레코드를 만들어야 합니다.

  • contoso.com을 가리키는 루트 "A" 레코드
  • 확인을 위한 루트 "TXT" 레코드
  • A 레코드를 가리키는 www 이름에 대한 "CNAME" 레코드

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • 사용자 지정 도메인에 대한 A 및 TXT 레코드 만들기
  • 사용자 지정 도메인에 대한 CNAME 레코드 만들기
  • 새 레코드 테스트
  • 웹앱에 사용자 지정 호스트 이름 추가
  • 사용자 지정 호스트 이름 테스트

Azure 구독이 아직 없는 경우 시작하기 전에 무료 계정을 만듭니다.

필수 조건

  • 활성 구독이 있는 Azure 계정.

  • Azure DNS에서 호스트할 수 있는 도메인 이름입니다. 이 도메인에 대한 전체 제어 권한이 있어야 합니다. 전체 제어 권한에는 도메인의 NS(이름 서버) 레코드를 설정하는 권한이 포함됩니다.

  • 웹앱. 아직 없는 경우 이 자습서에 대한 정적 HTML 웹앱을 만들 수 있습니다.

  • Azure DNS에 대한 등록 기관의 위임이 있는 Azure DNS 영역입니다. 없는 경우 DNS 영역을 만든 다음, Azure DNS에 도메인을 위임할 수 있습니다.

참고 항목

이 자습서에서는 contoso.com이 도메인 이름 예로 사용됩니다. contoso.com을 사용자 고유의 도메인 이름으로 바꿉니다.

Azure Cloud Shell

Azure는 브라우저를 통해 사용할 수 있는 대화형 셸 환경인 Azure Cloud Shell을 호스트합니다. Cloud Shell에서 Bash 또는 PowerShell을 사용하여 Azure 서비스 작업을 수행할 수 있습니다. 로컬 환경에 아무 것도 설치할 필요 없이 Azure Cloud Shell의 미리 설치된 명령을 사용하여 이 문서의 코드를 실행할 수 있습니다.

Azure Cloud Shell을 시작하려면 다음을 수행합니다.

옵션 예제/링크
코드 또는 명령 블록의 오른쪽 상단에서 시도를 선택합니다. 시도를 선택해도 코드 또는 명령이 Cloud Shell에 자동으로 복사되지 않습니다. Azure Cloud Shell에 대한 사용 예제를 보여 주는 스크린샷
https://shell.azure.com으로 이동하거나 Cloud Shell 시작 단추를 선택하여 브라우저에서 Cloud Shell을 엽니다. Azure Cloud Shell을 시작하는 단추입니다.
Azure Portal의 오른쪽 위에 있는 메뉴 모음에서 Cloud Shell 단추를 선택합니다. Azure Portal의 Cloud Shell 단추를 보여 주는 스크린샷

Azure Cloud Shell을 사용하려면:

  1. Cloud Shell을 시작합니다.

  2. 코드 블록(또는 명령 블록)에서 복사 단추를 선택하여 코드 또는 명령을 복사합니다.

  3. Windows 및 Linux에서 Ctrl+Shift+V를 선택하거나 macOS에서 Cmd+Shift+V를 선택하여 코드 또는 명령을 Cloud Shell 세션에 붙여넣습니다.

  4. Enter를 선택하여 코드 또는 명령을 실행합니다.

참고 항목

Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.

Azure에 로그인

Azure Portal에 로그인합니다.

A 레코드 만들기

A 레코드는 이름을 해당 IP 주소에 매핑하는 데 사용됩니다. 다음 예제에서는 웹앱 IPv4 주소를 사용하여 "@"을 A 레코드로 할당합니다. @은 일반적으로 루트 도메인을 나타냅니다.

IPv4 주소 가져오기

Azure Portal에 있는 App Services 페이지의 왼쪽 탐색 영역에서 사용자 지정 도메인을 선택한 다음, 웹앱의 IP 주소를 복사합니다.

웹앱 IP 주소를 보여 주는 Azure App Service 사용자 지정 도메인 페이지 스크린샷.

레코드 만들기

A 레코드를 만들려면 다음을 사용합니다.

New-AzDnsRecordSet -Name "@" -RecordType "A" -ZoneName "contoso.com" `
 -ResourceGroupName "MyAzureResourceGroup" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -IPv4Address "<ip of web app service>")

Important

웹앱의 기본 IP 주소가 변경되면 A 레코드를 수동으로 업데이트해야 합니다.

TXT 레코드 만들기

App Services는 구성 시에만 이 레코드를 사용하여 사용자 지정 도메인을 소유하고 있는지 확인합니다. App Service에서 사용자 지정 도메인의 유효성을 검사하고 구성한 후 이 TXT 레코드를 삭제할 수 있습니다.

참고 항목

도메인 이름을 확인하고 프로덕션 트래픽을 웹앱으로 라우팅하지 않으려면 확인 단계에 대한 TXT 레코드만 지정하면 됩니다. 확인에는 TXT 레코드 외에 A 또는 CNAME 레코드가 필요하지 않습니다.

TXT 레코드를 만들려면 다음을 사용합니다.

New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName MyAzureResourceGroup `
 -Name "@" -RecordType "txt" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -Value  "contoso.azurewebsites.net")

CNAME 레코드 만들기

Azure DNS에서 이미 도메인을 관리하고 있는 경우(DNS 도메인 위임 참조) 다음 예제를 사용하여 contoso.azurewebsites.net에 대한 CNAME 레코드를 만들 수 있습니다. 이 예제에서 만든 CNAME은 웹앱 contoso.azurewebsites.net에 대한 별칭을 사용하여 "contoso.com"이라는 DNS 영역에서 600초의 "Time to Live"를 갖습니다.

New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName "MyAzureResourceGroup" `
 -Name "www" -RecordType "CNAME" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -cname "contoso.azurewebsites.net")

다음 예제는 응답입니다.

    Name              : www
    ZoneName          : contoso.com
    ResourceGroupName : myazureresourcegroup
    Ttl               : 600
    Etag              : 8baceeb9-4c2c-4608-a22c-229923ee185
    RecordType        : CNAME
    Records           : {contoso.azurewebsites.net}
    Tags              : {}

새 레코드 테스트

아래와 같이 nslookup으로 "www.contoso.com" 및 "contoso.com"을 쿼리하여 레코드가 올바르게 생성되었는지 확인할 수 있습니다.

PS C:\> nslookup
Default Server:  Default
Address:  192.168.0.1

> www.contoso.com
Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
Name:    <instance of web app service>.cloudapp.net
Address:  <ip of web app service>
Aliases:  www.contoso.com
contoso.azurewebsites.net
<instance of web app service>.vip.azurewebsites.windows.net

> contoso.com
Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
Name:    contoso.com
Address:  <ip of web app service>

> set type=txt
> contoso.com

Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
contoso.com text =

        "contoso.azurewebsites.net"

사용자 지정 호스트 이름 추가

이제 웹앱에 사용자 지정 호스트 이름을 추가할 수 있습니다.

set-AzWebApp `
 -Name contoso `
 -ResourceGroupName <your web app resource group> `
 -HostNames @("contoso.com","www.contoso.com","contoso.azurewebsites.net")

사용자 지정 호스트 이름 테스트

브라우저를 열고 http://www.<your domain name>http://<you domain name>으로 이동합니다.

참고 항목

http:// 접두사가 포함되었는지 확인합니다. 포함되지 않으면 브라우저가 URL을 예측하려고 시도할 수 있습니다.

두 URL이 동일한 페이지를 표시할 것입니다. 예시:

웹 브라우저를 통해 액세스하는 contoso Azure App Service 웹앱 스크린샷

리소스 정리

더 이상 필요하지 않은 경우 MyAzureResourceGroup 리소스 그룹을 삭제하여 이 자습서에서 만든 모든 리소스를 삭제할 수 있습니다.

  1. Azure Portal 메뉴에서 리소스 그룹을 선택합니다.
  2. MyAzureResourceGroup 리소스 그룹을 선택합니다.
  3. 개요 페이지에서 리소스 그룹 삭제를 선택합니다.
  4. MyAzureResourceGroup을 입력하고 삭제를 선택합니다.

다음 단계

이 자습서에서는 웹앱에 대한 사용자 지정 도메인에서 DNS 레코드를 만드는 방법을 알아보았습니다. 영역 레코드를 참조하는 별칭 레코드를 만드는 방법을 알아보려면 다음 자습서를 계속 진행합니다.