자습서: Azure Portal을 사용하여 여러 웹 사이트를 호스트하는 애플리케이션 게이트웨이 생성 및 구성

Azure Portal을 사용하여 애플리케이션 게이트웨이를 만들 때 여러 웹 사이트의 호스팅을 구성할 수 있습니다. 이 자습서에서는 가상 머신을 사용하여 백 엔드 주소 풀을 정의합니다. 그런 다음, 두 도메인을 기준으로 수신기 및 규칙을 구성하여 웹 트래픽이 풀의 적절한 서버에 도달하도록 합니다. 이 자습서에서는 www.contoso.comwww.fabrikam.com의 예를 사용합니다.

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

  • 애플리케이션 게이트웨이 만들기
  • 백 엔드 서버용 가상 머신 만들기
  • 백 엔드 서버로 백 엔드 풀 만들기
  • 수신기 만들기
  • 회람 규칙 만들기
  • 이름 확인을 위해 호스트 파일 편집

Diagram showing multi-site application gateway.

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

참고 항목

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

필수 조건

  • Azure 구독

Azure에 로그인

Azure Portal에 로그인합니다.

애플리케이션 게이트웨이 만들기

  1. Azure Portal 메뉴에서 + 리소스 만들기>네트워킹>Application Gateway를 선택하거나 포털 검색 상자에서 Application Gateway를 검색합니다.

  2. 만들기를 실행합니다.

기본 사항 탭

  1. 기본 탭에서 다음 값을 입력합니다.

    • 리소스 그룹: 리소스 그룹에 대해 myResourceGroupAG를 선택합니다. 이 리소스 그룹이 없으면 새로 만들기를 선택하여 새로 만듭니다.

    • 애플리케이션 게이트웨이 이름: 애플리케이션 게이트웨이의 이름으로 myAppGateway를 입력합니다.

      Screenshot showing Create application gateway page.

  2. Azure가 사용자가 만든 리소스 간에 통신하려면 가상 네트워크가 필요합니다. 새 가상 네트워크를 만들거나 기존 가상 네트워크를 선택할 수 있습니다. 이 예제에서는 애플리케이션 게이트웨이를 만들면서 새 가상 네트워크를 만듭니다. 별도의 서브넷으로 Application Gateway 인스턴스가 만들어집니다. 이 예제에서는 두 개의 서브넷을 만듭니다. 하나는 애플리케이션 게이트웨이용이고, 다른 하나는 백 엔드 서버용입니다.

    가상 네트워크 구성에서 새로 만들기를 선택하여 새 가상 네트워크를 만듭니다. 가상 네트워크 만들기 창이 열리면 다음 값을 입력하여 가상 네트워크 및 두 개의 서브넷을 만듭니다.

    • 이름: 가상 네트워크 이름에 myVNet을 입력합니다.

    • 서브넷 이름(Application Gateway 서브넷): 서브넷 그리드에 Default라는 서브넷이 표시됩니다. 이 서브넷의 이름을 myAGSubnet으로 변경합니다.
      애플리케이션 게이트웨이 서브넷은 애플리케이션 게이트웨이만 포함할 수 있습니다. 다른 리소스는 허용되지 않습니다. 제공된 기본 IP 주소 범위는 10.0.0.0/24입니다.

    확인을 선택하여 가상 네트워크 만들기 창을 닫고 가상 네트워크 설정을 저장합니다.

    Create VNet

  3. 기본 사항 탭에서 다른 설정에 대한 기본값을 적용한 다음, 다음: 프런트 엔드를 선택합니다.

프런트 엔드 탭

  1. 프런트 엔드 탭에서 프런트 엔드 IP 주소 형식퍼블릭으로 설정되어 있는지 확인합니다.
    사용 사례에 따라 프런트 엔드 IP를 공용 또는 프라이빗 IP로 구성할 수 있습니다. 이 예제에서는 공용 프런트 엔드 IP를 선택합니다.

    참고 항목

    Application Gateway v2 SKU의 경우 공용 프런트 엔드 IP 구성만 선택할 수 있습니다. 프라이빗 프런트 엔드 IP 주소 구성의 사용은 현재 공개 미리 보기로 제공됩니다. 자세한 내용은 프라이빗 Application Gateway 배포를 참조하세요.

  2. 공용 IP 주소에 대해 새로 추가를 선택하고 공용 IP 주소 이름으로 myAGPublicIPAddress를 입력한 다음, 확인을 선택합니다.

    Create another VNet

  3. 완료되면 다음: 백 엔드를 선택합니다.

백 엔드 탭

백 엔드 풀은 요청을 처리하는 백 엔드 서버로 요청을 라우팅하는 데 사용됩니다. 백 엔드 풀은 NIC, 가상 머신 확장 집합, 공용 IP, 내부 IP, FQDN(정규화된 도메인 이름) 및 다중 테넌트 백 엔드(예: Azure App Service)일 수 있습니다. 이 예제에서는 애플리케이션 게이트웨이가 있는 빈 백 엔드 풀을 만든 다음, 백 엔드 대상을 백 엔드 풀에 추가합니다.

  1. 백 엔드 탭에서 백 엔드 풀 추가를 선택합니다.

  2. 열리는 백 엔드 풀 추가 창에서 다음 값을 입력하여 빈 백 엔드 풀을 만듭니다.

    • 이름: 백 엔드 풀의 이름으로 contosoPool을 입력합니다.
    • 대상 없이 백 엔드 풀 추가: 를 선택하여 대상이 없는 백 엔드 풀을 만듭니다. 애플리케이션 게이트웨이를 만든 후에 백 엔드 대상을 추가합니다.
  3. 백 엔드 풀 추가 창에서 추가를 선택하여 백 엔드 풀 구성을 저장하고 백 엔드 탭으로 돌아갑니다.

  4. 이제 이전 풀을 추가한 것과 동일한 방식으로 fabrikamPool이라는 또 다른 백 엔드 풀을 추가합니다.

  5. 추가를 선택합니다.

    Create Backends

  6. 백 엔드 탭에서 다음: 구성을 선택합니다.

구성 탭

구성 탭에서 회람 규칙을 사용하여 만든 프런트 엔드 풀과 백 엔드 풀을 연결합니다.

  1. 라우팅 규칙 열에서 라우팅 규칙 추가를 선택합니다.

  2. 열리는 회람 규칙 추가 창에서 규칙 이름으로 contosoRule을 입력합니다.

  3. 라우팅 규칙에는 수신기가 필요합니다. 라우팅 규칙 추가 창 내의 수신기 탭에서 수신기에 대해 다음 값을 입력합니다.

    • 규칙 이름: contosoRule.
    • 수신기 이름: contosoListener.
    • 프런트 엔드 IP: 프런트 엔드용으로 만든 공용 IP를 선택하려면 공용을 선택합니다.

    추가 설정에서 다음을 수행합니다.

    • 수신기 유형: 여러 사이트
    • 호스트 이름: www.contoso.com

    수신기 탭에서 다른 설정에 대해 기본값을 그대로 적용한 다음, 백 엔드 대상 탭을 선택하여 나머지 라우팅 규칙을 구성합니다.

    Create routing rule

  4. 백 엔드 대상 탭에서 백 엔드 대상으로 contosoPool을 선택합니다.

  5. 백 엔드 설정의 경우 새로 추가를 선택하여 새 백 엔드 설정을 만듭니다. 백 엔드 설정에 따라 회람 규칙의 동작이 결정됩니다. 열리는 백 엔드 설정 추가 창에서 백 엔드 설정 이름으로 contosoSetting을 입력하고 백 엔드 포트80을 입력합니다. 백 엔드 설정 추가 창에서 다른 설정의 기본값을 그대로 적용한 다음, 추가를 선택하여 회람 규칙 추가 창으로 돌아갑니다.

  6. 라우팅 규칙 추가 창에서 추가를 선택하여 라우팅 규칙을 저장하고 구성 탭으로 돌아옵니다.

  7. 라우팅 규칙 추가를 선택하고 Fabrikam에 대한 유사한 규칙, 수신기, 백 엔드 대상 및 백 엔드 설정을 추가합니다.

    Fabrikam rule

  8. 완료되면 다음: 태그를 선택하고 다음: 리뷰 + 만들기를 클릭합니다.

리뷰 + 만들기 탭

리뷰 + 만들기 탭에서 설정을 검토한 다음, 만들기를 선택하여 가상 네트워크, 공용 IP 주소 및 애플리케이션 게이트웨이를 만듭니다. Azure가 애플리케이션 게이트웨이를 만들 때까지 몇 분 정도 걸릴 수 있습니다.

배포가 성공적으로 완료될 때까지 기다렸다가 다음 섹션으로 이동합니다.

백 엔드 대상 추가

이 예제에서는 가상 머신을 대상 백 엔드로 사용합니다. 기존 가상 머신을 사용해도 되고 새로 만들어도 됩니다. Azure에서 애플리케이션 게이트웨이의 백 엔드 서버로 사용할 두 개의 가상 머신을 만듭니다.

백 엔드 대상을 추가하기 위해 다음을 수행합니다.

  1. 백 엔드 서브넷을 추가합니다.
  2. 백 엔드 서버로 사용할 새 VM으로 contosoVMfabrikamVM을 만듭니다.
  3. 애플리케이션 게이트웨이가 성공적으로 만들어졌는지 확인하기 위해 가상 머신에 IIS를 설치합니다.
  4. 백 엔드 서버를 백 엔드 풀에 추가합니다.

백 엔드 서브넷 추가

  1. Azure Portal에서 가상 네트워크를 검색하고 *myVNet을 선택합니다.
  2. 설정에서 서브넷을 선택합니다.
  3. + 서브넷을 선택하고 서브넷 추가 창에서 이름myBackendSubnet을 입력하고 서브넷 주소 범위10.0.1.0/24를 허용합니다.
  4. 다른 기본 설정을 적용하고 저장을 선택합니다.

가상 머신 만들기

  1. Azure Portal에서 리소스 만들기를 선택합니다. 새로 만들기 창이 나타납니다.

  2. 인기 목록에서 Windows Server 2016 Datacenter를 선택합니다. 가상 머신 만들기 페이지가 표시됩니다.
    Application Gateway는 백 엔드 풀에서 사용한 가상 머신 유형에 관계없이 트래픽을 라우팅할 수 있습니다. 이 예제에서는 Windows Server 2016 Datacenter를 사용합니다.

  3. 기본 사항 탭에서 다음 가상 머신 설정의 값을 입력합니다.

    • 구독: 구독을 선택합니다.
    • 리소스 그룹: 리소스 그룹 이름으로 myResourceGroupAG를 선택합니다.
    • 가상 머신 이름: 가상 머신 이름으로 contosoVM을 입력합니다.
    • 지역: 이전에 사용한 것과 동일한 지역을 선택합니다.
    • 사용자 이름: 관리자 사용자 이름의 이름을 입력합니다.
    • 암호: 관리자의 암호를 입력합니다.
  4. 다른 기본값을 적용한 다음, 다음: 디스크를 선택합니다.

  5. 디스크 탭 기본값을 적용한 다음, 다음: 네트워킹을 선택합니다.

  6. 네트워킹 탭에서 가상 네트워크myVNet이 선택되었고 서브넷myBackendSubnet으로 설정되었는지 확인합니다. 다른 기본값을 적용한 다음, 다음: 관리를 선택합니다.
    Application Gateway는 가상 네트워크 외부의 인스턴스와 통신할 수 있지만, IP가 연결되어야 합니다.

  7. 관리 탭에서 부트 진단사용 안 함으로 설정합니다. 나머지는 기본값으로 두고 검토 + 만들기를 선택합니다.

  8. 검토 + 만들기 탭에서 설정을 검토하고, 유효성 검사 오류를 수정하고, 만들기를 선택합니다.

  9. 가상 머신 만들기가 완료되기를 기다렸다가 계속합니다.

테스트를 위해 IIS 설치

이 예제에서는 Azure가 애플리케이션 게이트웨이를 성공적으로 만들었는지만 확인할 목적으로 가상 머신에 IIS를 설치합니다.

  1. Azure PowerShell을 엽니다. 이렇게 하려면 Azure Portal의 위쪽 탐색 모음에서 Cloud Shell을 선택한 다음, 드롭다운 목록에서 PowerShell을 선택합니다.

    Install custom extension

  2. 다음 명령을 실행하여 가상 머신에 IIS를 설치하고 <location>을 리소스 그룹 영역으로 대체합니다.

    Set-AzVMExtension `
      -ResourceGroupName myResourceGroupAG `
      -ExtensionName IIS `
      -VMName contosoVM `
      -Publisher Microsoft.Compute `
      -ExtensionType CustomScriptExtension `
      -TypeHandlerVersion 1.4 `
      -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
      -Location <location>
    
  3. 앞에서 완료한 단계를 사용하여 두 번째 가상 머신을 만들고 IIS를 설치합니다. 가상 머신 이름으로 fabrikamVM을 사용하고, VMName 설정으로 Set-AzVMExtension cmdlet을 사용합니다.

백 엔드 풀에 백 엔드 서버 추가

  1. 모든 리소스를 선택한 다음, myAppGateway를 선택합니다.

  2. 왼쪽 메뉴에서 백 엔드 풀을 선택합니다.

  3. contosoPool을 선택합니다.

  4. 대상 유형 아래의 드롭다운 목록에서 가상 머신을 선택합니다.

  5. 대상 아래의 드롭다운 목록에서 contosoVM 가상 머신의 네트워크 인터페이스를 선택합니다.

    Add backend servers

  6. 저장을 선택합니다.

  7. 같은 과정을 반복하여 fabrikamVM 및 인터페이스를 fabrikamPool에 추가합니다.

배포가 완료될 때까지 기다렸다가 다음 단계로 진행합니다.

이름 확인을 위해 호스트 파일 편집

공용 IP 주소를 사용하여 애플리케이션 게이트웨이를 만든 후 IP 주소를 가져와 호스트 파일을 편집하여 www.contoso.comwww.fabrikam.com을 확인하는 데 사용할 수 있습니다. 프로덕션 환경에서는 이름 확인을 위해 DNS에 CNAME을 만들 수 있습니다.

  1. 모든 리소스를 선택한 다음, myAGPublicIPAddress를 선택합니다.

    Record application gateway DNS address

  2. IP 주소를 복사하여 hosts 파일의 새 항목 값으로 사용합니다.

  3. 로컬 머신에서 관리 명령 프롬프트를 열고 c:\Windows\System32\drivers\etc로 이동합니다.

  4. hosts 파일을 열고 다음 항목을 추가합니다. 여기서 x.x.x.x는 애플리케이션 게이트웨이의 공용 IP 주소입니다.

    # Copyright (c) 1993-2009 Microsoft Corp.
    #
    # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
    #
    # This file contains the mappings of IP addresses to host names. Each
    # entry should be kept on an individual line. The IP address should
    # be placed in the first column followed by the corresponding host name.
    # The IP address and the host name should be separated by at least one
    # space.
    #
    # Additionally, comments (such as these) may be inserted on individual
    # lines or following the machine name denoted by a '#' symbol.
    #
    # For example:
    #
    #      102.54.94.97     rhino.acme.com          # source server
    #       38.25.63.10     x.acme.com              # x client host
    
    # localhost name resolution is handled within DNS itself.
    #	127.0.0.1       localhost
    #	::1             localhost
    x.x.x.x www.contoso.com
    x.x.x.x www.fabrikam.com
    
    
  5. 파일을 저장합니다.

  6. 다음 명령을 실행하여 호스트 파일의 변경 내용을 로드하고 표시합니다.

     ipconfig/registerdns
     ipconfig/displaydns
    

애플리케이션 게이트웨이 테스트

  1. 브라우저의 주소 표시줄에 도메인 이름을 입력합니다. 예: http://www.contoso.com.

    Test contoso site in application gateway

  2. 주소를 다른 도메인으로 변경하면 다음 예제와 같은 내용이 표시됩니다.

    Test fabrikam site in application gateway

리소스 정리

애플리케이션 게이트웨이로 만든 리소스가 더 이상 필요 없으면 리소스 그룹을 삭제합니다. 리소스 그룹을 삭제하면 애플리케이션 게이트웨이 및 모든 관련 리소스도 함께 삭제됩니다.

리소스 그룹을 제거하려면:

  1. Azure Portal의 왼쪽 메뉴에서 리소스 그룹을 선택합니다.
  2. 리소스 그룹 페이지의 목록에서 myResourceGroupAG를 검색하여 선택합니다.
  3. myResourceGroupAG 페이지에서 리소스 그룹 삭제를 선택합니다.
  4. 리소스 그룹 이름 입력myResourceGroupAG를 입력한 다음, 삭제를 선택합니다.

호스트 파일을 복원하려면 다음을 수행합니다.

  1. hosts 파일에서 www.contoso.comwww.fabrikam.com 줄을 삭제합니다.
  2. 명령 프롬프트에서 ipconfig/registerdnsipconfig/flushdns를 실행합니다.

다음 단계

이 자습서에서는 다음을 수행합니다.

  • 두 도메인을 기반으로 하는 수신기 및 규칙을 사용하여 애플리케이션 게이트웨이를 만들었습니다.
  • 백 엔드 서버의 호스트 파일을 편집한 후 애플리케이션 게이트웨이를 테스트했습니다.

다중 사이트 호스팅에 대한 자세한 내용은 애플리케이션 게이트웨이 다중 사이트 호스팅을 참조하세요.

Azure Portal을 사용하여 경로 기반 라우팅 규칙으로 애플리케이션 게이트웨이를 만들고 구성하는 방법을 알아보려면 다음 자습서로 이동합니다.