M05-단원 4 Azure Application Gateway 배포

연습 시나리오

이 연습에서는 Azure Portal을 사용하여 애플리케이션 게이트웨이를 만듭니다. 그런 다음, 테스트하여 제대로 작동하는지 확인합니다.

애플리케이션 게이트웨이 아키텍처의 다이어그램.

대화형 랩 시뮬레이션

참고: 이전에 제공되었던 랩 시뮬레이션은 사용 중지되었습니다.

예상 소요 시간: 25분

애플리케이션 게이트웨이는 애플리케이션 웹 트래픽을 백 엔드 풀의 특정 리소스로 보냅니다. 수신기를 포트에 할당하고, 규칙을 만들고, 백 엔드 풀에 리소스를 추가합니다. 간단히 나타내기 위해 이 문서에서는 퍼블릭 프런트 엔드 IP 1개, 애플리케이션 게이트웨이에 단일 사이트를 호스트하는 기본 수신기 1개, 기본 요청 라우팅 규칙 1개 및 백 엔드 풀의 가상 머신 2개를 이용한 간단한 설정을 사용합니다.

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

작업 기술

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

  • 작업 1: 애플리케이션 게이트웨이 만들기
  • 작업 2: 가상 머신 만들기
  • 작업 3: 백 엔드 풀에 백 엔드 서버 추가
  • 작업 4: 애플리케이션 게이트웨이 테스트

작업 1: 애플리케이션 게이트웨이 만들기

  1. Azure 계정을 사용하여 Azure Portal 에 로그인합니다.

  2. 아무 Azure Portal 페이지에서나 리소스, 서비스 및 문서 검색(G+/) 에 애플리케이션 게이트웨이를 입력하고 결과에서 애플리케이션 게이트웨이를 선택합니다. Azure Portal의 애플리케이션 게이트웨이 검색

  3. 애플리케이션 게이트웨이 페이지에서 + 만들기를 선택합니다.

  4. 애플리케이션 게이트웨이 만들기 기본 사항 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    구독 구독을 선택합니다.
    Resource group 새 ContosoResourceGroup 만들기 선택
    Application Gateway ContosoAppGateway
    지역 미국 동부를 선택합니다.
    Virtual Network 새로 만들기를 선택합니다.
  5. 가상 네트워크 만들기에서 다음 정보를 입력하거나 선택합니다.

    설정
    Name ContosoVNet
    주소 공간  
    주소 범위 10.0.0.0/16
    서브넷  
    서브넷 이름 기본값AGSubnet으로 변경합니다.
    주소 범위 10.0.0.0/24
  6. 확인을 선택하여 애플리케이션 게이트웨이 만들기의 기본 사항 탭으로 돌아갑니다.

  7. 다른 설정은 기본값을 적용한 다음, 다음: 프런트 엔드를 선택합니다.

  8. 프런트 엔드 탭에서 프런트 엔드 IP 주소 형식퍼블릭으로 설정되어 있는지 확인합니다.

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

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

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

  12. 백 엔드 풀 추가 창이 열리면 다음 값을 입력하여 빈 백 엔드 풀을 만듭니다.

    설정
    Name BackendPool
    대상 없이 백 엔드 풀 추가
  13. 백 엔드 풀 추가 창에서 추가를 선택하여 백 엔드 풀 구성을 저장하고 백 엔드 탭으로 돌아옵니다.

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

  15. 구성 탭에서 라우팅 규칙을 사용하여 만든 프런트 엔드 및 백 엔드 풀을 연결합니다.

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

  17. 규칙 이름 상자에 RoutingRule을 입력합니다.

  18. 우선 순위에 대해 100을 입력합니다.

  19. 수신기 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    수신기 이름 수신기
    프런트 엔드 IP 공용 IPv4를 선택합니다.
  20. 수신기 탭의 다른 설정에 대해서는 기본값을 적용합니다.

    Azure Portal의 애플리케이션 게이트웨이 라우팅 규칙 추가 화면

  21. 백 엔드 대상 탭을 선택하여 나머지 라우팅 규칙을 구성합니다.

  22. 백 엔드 대상 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    대상 형식 백 엔드 풀
    백 엔드 설정 새로 추가
  23. 백 엔드 설정 추가에서 다음 정보를 입력하거나 선택합니다.

    설정
    백 엔드 설정 이름 HTTPSetting
    백 엔드 포트 80
  24. 백 엔드 설정 추가 창에서 다른 설정에 대한 기본값을 적용한 다음, 추가를 선택하여 라우팅 규칙 추가로 돌아갑니다.

  25. 추가를 선택하여 라우팅 규칙을 저장하고 구성 탭으로 돌아갑니다.

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

  27. 검토 + 만들기 탭에서 설정을 검토합니다.

  28. 만들기를 선택하여 가상 네트워크, 공용 IP 주소 및 애플리케이션 게이트웨이를 만듭니다.

  29. Azure가 애플리케이션 게이트웨이를 만들 때까지 몇 분 정도 걸릴 수 있습니다. 배포가 성공적으로 완료될 때까지 기다립니다.

백 엔드 서버용 서브넷

  1. ContosoVNet을 검색하고 선택합니다. **AGSubnet **이 만들어졌는지 확인합니다.

  2. BackendSubnet을 생성하려면 설정을 선택한 다음 서브넷을 선택합니다. 완료되면 서브넷을 추가해야 합니다.

    설정
    서브넷 이름 BackendSubnet
    주소 범위 10.0.1.0/24

작업 2: 가상 머신 만들기

  1. Azure Portal 오른쪽 상단에 있는 Cloud Shell 아이콘을 선택합니다. 필요한 경우 셸을 구성합니다.
    • PowerShell을 선택합니다.
    • 스토리지 계정이 필요하지 않음구독을 선택한 다음 적용을 선택합니다.
    • 터미널이 생성되고 프롬프트가 표시될 때까지 기다립니다.
  2. Cloud Shell 창의 도구 모음에서 파일 관리를 선택한 다음 업로드를 선택합니다. 다음 backend.json, backend.parameters.json, install-iis.ps1 파일을 업로드합니다.

    참고: 사용자 구독으로 작업하는 경우 템플릿 파일은 GitHub 랩 리포지토리에서 사용할 수 있습니다.

  3. 다음 ARM 템플릿을 배포하여 이 연습에 필요한 VM을 만듭니다.

    참고: 관리 암호를 입력하라는 메시지가 표시됩니다.

    $RGName = "ContosoResourceGroup"
       
    New-AzResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile backend.json -TemplateParameterFile backend.parameters.json
    

    참고: 시간을 내어 backend.json 파일을 검토합니다. 두 개의 가상 머신이 배포되고 있습니다. 이 작업은 몇 분 정도 걸립니다.

  4. 명령이 성공적으로 완료되고 BackendVM1BackendVM2가 나열되어야 합니다.

각 가상 머신에 IIS 설치

  1. 각 백엔드 서버에는 IIS가 설치되어 있어야 합니다.

  2. PowerShell 프롬프트에서 계속 진행하여 제공된 스크립트를 사용하여 BackendVM1에 IIS를 설치합니다.

    Invoke-AzVMRunCommand -ResourceGroupName 'ContosoResourceGroup' -Name 'BackendVM1' -CommandId 'RunPowerShellScript' -ScriptPath 'install-iis.ps1'
    

    참고: 기다리는 동안 PowerShell 스크립트를 검토합니다. 가상 머신 이름을 제공하도록 IIS 홈 페이지가 사용자 지정되고 있음을 알 수 있습니다.

  3. 이번에는 BackendVM2에 대해 명령을 다시 실행합니다.

    Invoke-AzVMRunCommand -ResourceGroupName 'ContosoResourceGroup' -Name 'BackendVM2' -CommandId 'RunPowerShellScript' -ScriptPath 'install-iis.ps1'
    

    참고: 각 명령을 완료하는 데 몇 분 정도 걸립니다.

작업 3: 백 엔드 풀에 백 엔드 서버 추가

  1. Azure Portal 메뉴에서 모든 리소스를 선택하거나 모든 서비스를 검색하여 선택합니다. 그런 다음, ContosoAppGateway를 선택합니다.

  2. 설정에서 백 엔드 풀을 선택합니다.

  3. BackendPool을 선택합니다.

  4. 백 엔드 풀 편집 페이지의 백 엔드 대상 아래에 있는 대상 유형에서 가상 머신을 선택합니다.

  5. 대상에서 BackendVM1-nic을 선택합니다.

  6. 대상 유형에서 가상 머신을 선택합니다.

  7. 대상에서 BackendVM2-nic을 선택합니다.

    Azure Portal의 백 엔드 풀에 대상 백 엔드 추가 화면

  8. 저장을 선택하고 대상이 추가될 때까지 기다립니다.

  9. 백 엔드 서버가 정상 상태인지 확인합니다. 모니터링을 선택한 다음 백 엔드 상태를 선택합니다. 두 대상 모두 정상이어야 합니다.

    Azure Portal에서 백 엔드 상태를 확인합니다.

작업 4: 애플리케이션 게이트웨이 테스트

애플리케이션 게이트웨이를 만들려면 반드시 IIS가 필요한 것은 아니지만, 이 연습에서는 Azure가 애플리케이션 게이트웨이를 성공적으로 만들었는지 확인하기 위해 설치했습니다.

IIS를 사용하여 애플리케이션 게이트웨이 테스트

  1. 개요 페이지에서 애플리케이션 게이트웨이에 대한 공용 IP 주소를 찾습니다.

    Azure Portal의 프런트 엔드 공용 IP 주소 조회 화면

  2. 공용 IP 주소를 복사한 다음, 브라우저의 주소 표시줄에 붙여 넣어 해당 IP 주소를 찾습니다.

  3. 응답을 확인합니다. 응답이 유효하면 애플리케이션 게이트웨이가 성공적으로 만들어졌으며 백 엔드에 성공적으로 연결할 수 있다는 의미입니다.

    브라우저 - 요청에 응답하는 백 엔드 서버에 따라 BackendVM1 또는 BackendVM2를 표시합니다.

  4. 브라우저를 여러 번 새로 고치면 BackendVM1 및 BackendVM2에 대한 연결이 표시됩니다.

리소스 정리

참고: 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용되지 않는 리소스를 제거하면 예기치 않은 요금이 발생하지 않습니다.

  1. Azure Portal의 Cloud Shell 창에서 PowerShell 세션을 엽니다.

  2. 다음 명령을 실행하여 이 모듈의 랩 전체에서 만든 모든 리소스 그룹을 삭제합니다.

    Remove-AzResourceGroup -Name 'IntLB-RG' -Force -AsJob
    

참고: 이 명령은 -AsJob 매개 변수에 의해 결정되어 비동기로 실행되므로, 동일한 PowerShell 세션 내에서 이 명령을 실행한 직후 다른 PowerShell 명령을 실행할 수 있지만 리소스 그룹이 실제로 제거되기까지는 몇 분 정도 걸립니다.

Copilot을 사용하여 학습 확장

Copilot은 Azure 스크립팅 도구를 사용하는 방법을 익히는 데 도움을 줍니다. 또한 Copilot은 랩에서 다루지 않는 영역이나 추가 정보가 필요한 영역을 지원할 수 있습니다. Edge 브라우저를 열고 Copilot(오른쪽 위)을 선택하거나 copilot.microsoft.com으로 이동하세요. 몇 분 정도 시간을 내어 이러한 프롬프트를 사용해 보세요.

  • Azure Application Gateway는 요청을 어떻게 라우팅하나요?
  • Azure Application Gateway에는 어떤 보안 기능이 포함되어 있나요?
  • Azure Application Gateway와 Azure Load Balancer를 비교합니다. 각 제품의 사용 시기를 예로 들어 설명합니다.

자기 주도적 학습을 통해 자세히 알아보기

핵심 내용

축하합니다. 랩을 완료했습니다. 이 랩의 주요 내용은 다음과 같습니다.

  • Azure Application Gateway는 웹 애플리케이션에 대한 트래픽을 관리할 수 있는 웹 트래픽(OSI 계층 7) 부하 분산 장치입니다.
  • Application Gateway는 URI 경로 또는 호스트 헤더와 같은 HTTP 요청의 추가 특성을 기반으로 라우팅 결정을 내릴 수 있습니다.
  • 단일 지역에서 호스팅되는 애플리케이션과 URL 기반 라우팅이 필요한 경우 애플리케이션 게이트웨이를 사용합니다.