다음을 통해 공유


애플리케이션 요청 라우팅을 사용한 파일럿 프로그램 관리

작성자: IIS 팀

개요

이 항목에서는 애플리케이션 요청 라우팅을 사용하여 파일럿 또는 베타 프로그램을 시작하고 관리하는 단계를 통해 독자를 안내합니다. 애플리케이션 요청 라우팅을 사용하여 적절한 사용자를 대상으로 지정하고 파일럿 사이트로 라우팅하거나 파일럿 사이트로 라우팅되는 트래픽의 양을 제한하고 관리하는 데 사용할 수도 있습니다. 이 연습에서는 애플리케이션 요청 라우팅을 사용하여 사용자의 프로필을 기반으로 특정 요청을 파일럿 사이트로 라우팅하는 방법에 중점을 둡니다.

목표

파일럿 프로그램 시작과 관련된 위험을 관리하고 완화하도록 애플리케이션 요청 라우팅을 구성합니다.

필수 조건

이 연습을 수행하려면 다음 필수 구성 요소가 필요합니다.

  • Windows 2008(모든 SKU) 이상에서 IIS 7.0 이상.
  • Microsoft 애플리케이션 요청 라우팅 버전 1 및 종속 모듈.
  • 작업 사이트 및 애플리케이션이 있는 최소 4개의 콘텐츠 서버 두 서버는 프로덕션 사이트를 시뮬레이션하는 데 사용되고 다른 두 서버는 파일럿 사이트를 시뮬레이션합니다.
  • .NET 3.5가 설치된 컴퓨터에서 Firefox와 같은 Microsoft Internet Explorer의 대체 브라우저입니다. (이 설정은 테스트 목적으로만 사용됩니다.)

문서에 설명된 단계에 따라 애플리케이션 요청 라우팅을 설치합니다.

또 다른 필수 조건은 판독기가 ARR(애플리케이션 요청 라우팅) 서버 그룹 정의 및 구성에 설명된 단계에 따라 두 개의 서버 팜을 정의하고 구성했다는 것입니다. 한 서버 팜은 프로덕션 환경을 나타내고 다른 하나는 파일럿 환경을 나타냅니다.

1단계 - 사용자 프로필에 따라 요청을 라우팅하도록 URL 다시 쓰기 규칙 변경

이 단계에서는 .NET 3.5를 설치하고 IE(Microsoft Internet Explorer)를 사용하는 사용자만 pilotSiteServers로 정의된 파일럿 사이트로 라우팅되도록 URL 다시 쓰기 규칙이 변경됩니다. 다른 모든 항목은 productionSiteServers로 정의된 프로덕션 사이트로 라우팅됩니다.

UI를 사용하여 URL 다시 쓰기 규칙을 변경하려면 다음을 수행합니다.

  1. IIS 관리자를 시작합니다.

  2. 서버 팜인 pilotSiteServers를 선택합니다.

  3. 다음 아이콘이 표시됩니다.

    서버 팜 창의 아이콘 스크린샷

  4. 라우팅 규칙을 두 번 클릭합니다.

  5. 이 시나리오에는 HTTP 요청 헤더의 조건부 일치가 있는 여러 서버 팜이 포함되므로 추가 옵션을 노출하는 URL 다시 쓰기 UI를 사용하여 변경됩니다. 고급 라우팅에서 URL 다시 쓰기 클릭합니다.

    라우팅 규칙의 고급 라우팅 섹션에 있는 U R L 다시 쓰기의 스크린샷

  6. 두 개의 규칙이 이미 만들어졌지만 변경해야 합니다.

    미리 설정된 기본 규칙이 있는 U R L 다시 쓰기 창의 스크린샷.

  7. 규칙의 순서는 이 연습에서 중요합니다. ARR_productionSiteServers_loadbalance ARR_pilotServers_loadbalance 위에 있는 경우 규칙을 선택한 후 위로 이동 또는 아래로 이동하여 규칙의 순서를 변경할 수 있습니다.

  8. ARR_pilotSite_Servers_loadbalance 선택한 다음 작업 창에서 편집...클릭합니다.

    기본 설정이 선택된 R R 파일럿 사이트 서버 부하 분산에 대한 규칙 편집 창의 스크린샷

  9. .NET 3.5가 있는 IE가 있는 클라이언트는 pilotSiteServers 서버 팜으로 이동하도록 지정해야 합니다. 조건을 추가하여 이 작업을 수행합니다. 조건 추가 및 thenclick 추가...를 클릭합니다.

    빈 조건 추가 대화 상자의 스크린샷

  10. 조건 입력으로 {HTTP_USER_AGENT}을(를) 입력하고 *MSIE*를 패턴으로 입력합니다. 이 조건은 클라이언트가 IE를 사용하고 있는지 확인하기 위해 검사.

    중괄호 H T T P 밑줄 USER 밑줄 에이전트 중괄호 및 별표 M I S E 별표로 패턴으로 조건 입력의 스크린샷.

  11. .NET 버전의 검사 다른 조건을 추가합니다. 추가...를 클릭한 다음 조건 입력으로 {HTTP_USER_AGENT}을(를) 입력하고 *.NET CLR 3.5*를 패턴으로 입력합니다.

    별표 점 NET 공간 C L R 공간 3 점 5 별표로 패턴을 가진 다른 조건의 스크린샷.

  12. 마지막으로, 후속 규칙 검사 상자의 처리 중지를 검사 취소한 다음 적용을 클릭하여 변경 내용을 저장합니다.

    작업 속성 섹션 이후의 검사 처리 중지 스크린샷

위에서 설명한 것처럼 규칙의 순서가 중요합니다. URL 다시 쓰기는 후속 규칙의 처리 중지를 선택 취소할 때 순서대로 규칙을 처리하기 때문입니다. 따라서 이 경우 첫 번째 규칙인 ARR_pilotSiteServers_loadbalance 먼저 고려됩니다. 이 규칙은 클라이언트가 IE를 사용하고 있고 .NET 3.5가 설치되어 있는지 여부를 일치시키려고 시도합니다. 이 경우 요청은 pilotSiteServers 서버 팜으로 전달됩니다. 후속 규칙 검사box의 처리 중지는 un검사ed이므로 두 번째 규칙인 ARR_productionSiteServers_loadbalance 처리합니다. 그러면 모든 다시 기본 요청을 productionSiteServers 서버 팜으로 라우팅합니다.

명령줄을 사용하여 URL 다시 쓰기 규칙을 변경하려면 다음을 수행합니다.

  1. 관리자 권한으로 명령 프롬프트를 엽니다.

  2. %windir%\system32\inetsrv으로 이동합니다.

  3. HTTP_USER_AGENT IE 및 .NET 3.5에 대한 검사 ARR_pilotSiteServers_loadbalance 규칙을 변경하려면 다음을 입력합니다.

    appcmd.exe set config  -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*MSIE*']" /commit:apphost
    
    appcmd.exe set config  -section:system.webServer/rewrite/globalRules /+"[name='ARR_pilotSiteServers_loadbalance'].conditions.[input='{HTTP_USER_AGENT}',pattern='*.NET CLR 3.5*']" /commit:apphost
    
  4. ARR_pilotSiteServers_loadbalance 대한 후속 규칙의 처리 중지 선택을 취소하려면 다음을 입력합니다.

    appcmd.exe set config  -section:system.webServer/rewrite/globalRules /[name='ARR_pilotSiteServers_loadbalance'].stopProcessing:"False"  /commit:apphost
    

요약

이제 URL 다시 쓰기의 규칙을 성공적으로 변경하고 애플리케이션 요청 라우팅을 활용하여 사용자의 하위 집합만 파일럿 사이트로 라우팅했습니다. 추가 애플리케이션 요청 라우팅 속성 및 기능은 다른 애플리케이션 요청 라우팅 연습을 참조하세요.