Azure App Service에 기존 사용자 지정 DNS 이름 매핑

Azure App Service는 확장성 높은 자체 패치 웹 호스팅 서비스를 제공합니다. 이 가이드에서는 기존 사용자 지정 DNS(Domain Name System) 이름을 App Service에 매핑하는 방법을 보여 줍니다. 라이브 사이트 및 해당 DNS 도메인 이름을 가동 중지 시간 없이 App Service로 마이그레이션하려면 활성 DNS 이름을 Azure로 마이그레이션을 참조하세요.

도메인 공급자와 함께 추가해야 하는 DNS 레코드 유형은 App Service에 추가하려는 도메인에 따라 달라집니다.

시나리오 예시 권장 DNS 레코드
루트 도메인 contoso.com A 레코드. 루트 레코드에는 CNAME 레코드를 사용하지 마세요(자세한 내용은 RFC 1912 섹션 2.4 참조).
하위 도메인 www.contoso.com, my.contoso.com CNAME 레코드. A 레코드를 사용하여 하위 도메인을 앱의 IP 주소로 직접 매핑해도 되지만 IP 주소가 변경될 가능성이 있습니다. CNAME은 앱의 호스트 이름에 대신 매핑되며, 변경 가능성이 낮습니다.
와일드카드 *.contoso.com CNAME 레코드.

참고 항목

www 하위 도메인 및 관리되는 인증서를 구성하는 방법을 보여 주는 엔드 투 엔드 자습서는 자습서: 사용자 지정 도메인 및 관리되는 인증서를 사용하여 Azure App Service 앱 보안을 참조하세요.

필수 조건

  • App Service 앱을 만들거나 다른 자습서에서 만든 앱을 사용합니다. 웹앱의 App Service 요금제무료(F1)가 아닌 유료 계층이어야 합니다. 계층을 업데이트하려면 앱 강화를 참조하세요.
  • 사용자 지정 도메인의 DNS 레코드를 편집할 수 있는지 확인합니다. DNS 레코드를 편집하려면 GoDaddy와 같은 도메인 공급자의 DNS 레지스트리에 대한 액세스 권한이 필요합니다. 예를 들어 contoso.comwww.contoso.com에 대한 DNS 항목을 추가하려면 contoso.com 루트 도메인에 대한 DNS 설정을 구성할 수 있어야 합니다. 사용자 지정 도메인은 공용 DNS 영역에 있어야 합니다. 프라이빗 DNS 영역은 지원되지 않습니다.
  • 사용자 지정 도메인이 아직 없는 경우 대신 App Service 도메인을 구입할 수 있습니다.

1. 사용자 지정 도메인 구성

  1. Azure Portal에서 앱의 관리 페이지로 이동합니다.

  2. 앱의 왼쪽 메뉴에서 사용자 지정 도메인을 선택합니다.

  3. 사용자 지정 도메인 추가를 선택합니다.

    A screenshot showing how to open the Add custom domain dialog.

  4. 도메인 공급자의 경우 다른 모든 도메인 서비스를 선택하여 타사 도메인을 구성합니다.

    참고 항목

    App Service 도메인을 구성하려면 Azure App Service에 대한 사용자 지정 도메인 이름 구입을 참조하세요.

  5. TLS/SSL 인증서의 경우 앱이 기본 계층 이상이면 App Service 관리형 인증서를 선택합니다. 공유 계층에 유지하거나 사용자 고유의 인증서를 사용하려는 경우 나중에 인증서 추가를 선택합니다.

  6. TLS/SSL 형식에 대해 원하는 바인딩 형식을 선택합니다.

    설정 설명
    사용자 지정 도메인 TLS/SSL 바인딩을 추가할 도메인 이름입니다.
    프라이빗 인증서 지문 바인딩할 인증서입니다.
    TLS/SSL 유형 - SNI SSL: 여러 개의 SNI SSL 바인딩을 추가할 수 있습니다. 이 옵션을 사용하면 여러 TLS/SSL 인증서로 같은 IP 주소의 여러 도메인을 보호할 수 있습니다. 최신 브라우저(Internet Explorer, Chrome, Firefox 및 Opera 포함)는 SNI를 지원합니다(자세한 내용은 서버 이름 표시 참조).
    - IP SSL: IP SSL 바인딩을 하나만 추가할 수 있습니다. 이 옵션을 사용하면 전용 공용 IP 주소를 보호하는 데 하나의 TLS/SSL 인증서만 사용할 수 있습니다. 바인딩을 구성한 후에 2. IP 기반 SSL에 대한 레코드 다시 매핑의 단계를 따릅니다.
    IP SSL은 표준 계층 이상에서만 지원됩니다.
  7. 도메인의 경우 소유한 도메인에 따라 원하는 정규화된 도메인 이름을 지정합니다. 호스트 이름 레코드 유형 상자는 도메인이 루트 도메인(예: contoso.com), 하위 도메인(예: www.contoso.com 또는 와일드카드 도메인 *.contoso.com)인지에 따라 사용할 권장 DNS 레코드로 기본 설정됩니다.

  8. 아직 유효성 검사를 선택하지 마세요.

  9. App Service의 각 사용자 지정 도메인에 대해 도메인 공급자를 사용하는 두 개의 DNS 레코드가 필요합니다. 도메인 유효성 검사 섹션에는 도메인 공급자와 함께 추가해야 하는 두 개의 DNS 레코드가 표시됩니다. 다음 단계에 도움이 되도록 각 복사 단추를 선택합니다.

    다음 스크린샷은 추가할 CNAME 레코드 및 TXT 레코드를 보여 주는 www.contoso.com 도메인의 기본 선택 항목을 보여 줍니다.

    A screenshot showing how to configure a new custom domain, along with a managed certificate.

    Warning

    TXT 레코드를 추가하는 데 반드시 필요한 것은 아니지만 보안을 위해 권장됩니다. TXT 레코드는 다른 App Service 앱에서 하위 도메인 인수를 방지하는 데 도움이 되는 도메인 확인 ID입니다. 이 확인 ID 없이 이전에 구성한 사용자 지정 도메인의 경우 DNS 구성에 확인 ID(TXT 레코드)를 추가하여 동일한 위험으로부터 보호해야 합니다. 이 일반적인 높은 심각도 위협에 대한 자세한 내용은 하위 도메인 인수을 참조하세요.

2. DNS 레코드 만들기

  1. 도메인 공급자의 웹 사이트에 로그인합니다.

    Azure DNS를 사용하여 도메인의 DNS 레코드를 관리하고 Azure App Service의 사용자 지정 DNS 이름을 구성할 수 있습니다. 자세한 내용은 자습서: Azure DNS에서 도메인 호스트를 참조하세요.

  2. DNS 레코드를 관리하기 위한 페이지를 찾습니다.

    각 도메인 공급자마다 고유한 DNS 레코드 인터페이스가 있으므로 공급자의 설명서를 참조하세요. 도메인 이름, DNS 또는 이름 서버 관리라는 레이블이 지정된 사이트 영역을 찾습니다.

    종종 계정 정보를 확인한 다음, 내 도메인과 같은 링크를 검색하여 DNS 레코드 페이지를 찾을 수 있습니다. 해당 페이지로 이동한 다음, 영역 파일, DNS 레코드 또는 고급 구성과 같이 이름이 지정된 링크를 찾습니다.

    다음 스크린샷은 DNS 레코드 페이지의 예입니다.

    Screenshot that shows an example DNS records page.

  3. 추가 또는 적절한 위젯을 선택하여 레코드를 만듭니다.

참고 항목

GoDaddy와 같은 특정 공급자의 경우 먼저 별도의 변경 내용 저장 링크를 클릭해야 DNS 레코드의 변경 내용이 적용됩니다.

만들 레코드 유형을 선택하고 지침을 따릅니다. CNAME 레코드 또는 A 레코드를 사용하여 사용자 지정 DNS 이름을 App Service에 매핑할 수 있습니다. 소비 계획에서 함수 앱이 호스트되는 경우 CNAME 옵션만 지원됩니다.

다음 표에 따라 두 개의 레코드를 만듭니다.

레코드 종류 Host 설명
A @ 사용자 지정 도메인 추가 대화 상자에 표시된 앱의 IP 주소입니다. 도메인 자체 매핑(@는 일반적으로 루트 도메인을 나타냄).
TXT asuid 사용자 지정 도메인 추가 대화 상자에 표시된 도메인 확인 ID입니다. 루트 도메인에 대해 App Service는 asuid TXT 레코드에 액세스하여 사용자 지정 도메인의 소유권을 확인합니다.

Screenshot that shows a DNS records page.

3. 유효성 검사 및 완료

  1. Azure Portal 사용자 지정 도메인 추가 대화 상자로 돌아가서 유효성 검사를 선택합니다.

    A screenshot showing how to validate your DNS record settings in the Add a custom domain dialog.

  2. 도메인 유효성 검사 섹션에 두 도메인 레코드의 다음에 녹색 검사 표시가 표시되면 올바르게 구성한 것입니다. 추가를 선택합니다. 오류 또는 경고가 표시되면 도메인 공급자 웹 사이트의 DNS 레코드 설정에서 수정합니다.

    A screenshot showing the Add button activated after validation.

    참고 항목

    A 또는 CNAME 레코드가 아닌 TXT 레코드를 구성한 경우 App Service 도메인 마이그레이션 시나리오로 처리하고 유효성 검사를 성공하도록 허용하지만 레코드 옆에 녹색 체크 표시가 나타나지 않습니다.

  3. 사용자 지정 도메인이 목록에 추가된 것을 확인할 수 있습니다. 바인딩 없음을 나타내는 빨간색 X가 표시될 수도 있습니다.

    이전에 App Service 관리형 인증서를 선택한 경우 App Service에서 사용자 지정 도메인에 대한 관리형 인증서를 만들 때까지 몇 분 정도 기다립니다. 이 프로세스가 완료되면 빨간색 X가 보안이라고 표시된 녹색 확인 표시가 됩니다. 나중에 인증서 추가를 선택한 경우 도메인에 대한 프라이빗 인증서를 추가하고 바인딩을 구성할 때까지 이 빨간색 X가 유지됩니다.

    A screenshot showing the custom domains page with the new secured custom domain.

    참고 항목

    사용자 지정 도메인에 대한 인증서 바인딩을 구성하지 않는 한, 브라우저에서 도메인으로의 HTTPS 요청은 브라우저에 따라 오류 또는 경고를 받게 됩니다.

4. 브라우저에서 테스트

앞에서 구성한 DNS 이름을 찾습니다.

Screenshot that shows navigation to an Azure app.

사용자 지정 도메인의 URL로 이동할 때 HTTP 404(찾을 수 없음) 오류가 발생하는 경우 가장 일반적인 두 가지 원인은 다음과 같습니다.

  • 브라우저 클라이언트가 도메인의 이전 IP 주소를 캐시했습니다. 캐시 및 테스트 DNS 확인을 다시 지웁니다. Windows 컴퓨터에서 캐시를 ipconfig /flushdns로 지웁니다.
  • IP 기반 인증서 바인딩을 구성했고 앱의 IP 주소가 변경되었습니다. DNS 항목의 A 레코드를 새 IP 주소로 다시 매핑합니다.

Page not secure 경고 또는 오류가 표시되는 경우 도메인에 인증서 바인딩이 아직 없기 때문입니다. 도메인에 대한 프라이빗 인증서를 추가하고 바인딩을 구성합니다.

(선택 사항) 스크립트를 사용하여 자동화

Azure CLI 또는 Azure PowerShell을 사용하여 스크립트를 통해 사용자 지정 도메인의 관리를 자동화할 수 있습니다.

다음 명령은 구성된 사용자 지정 DNS 이름을 App Service 앱에 추가합니다.

az webapp config hostname add \
    --webapp-name <app-name> \
    --resource-group <resource_group_name> \
    --hostname <fully_qualified_domain_name>

자세한 내용은 웹앱에 사용자 지정 도메인 매핑을 참조하세요.

다음 단계