웹 동기화를 위한 IIS 7 구성

이 항목의 절차에서는 병합 복제를 위한 웹 동기화에서 사용할 Microsoft 인터넷 정보 서비스(IIS) 버전 7을 수동으로 구성하는 프로세스를 안내합니다. 웹 동기화 구성 마법사가 IIS 7.0에서 지원되지 않기 때문에 수동 구성이 필요합니다. (이 항목은 IIS 8.0에도 적용됨)

IIS 7을 구성하는 단계는 웹 동기화를 사용하도록 설정하는 데 필요한 3가지 단계 중 첫 번째 단계입니다.

전체 구성 프로세스에 대한 개요는 웹 동기화 구성을 참조하십시오.

중요 정보중요

응용 프로그램에서 .NET Framework 2.0 이상 버전을 사용해야 하며, 이전 버전의 .NET Framework가 IIS 서버에 설치되어 있으면 안 됩니다. 이전 버전의 .NET Framework가 있으면 다음과 같은 오류가 발생할 수 있습니다. "웹 동기화 중 메시지 형식이 잘못되었습니다. 웹 서버에서 복제 구성 요소가 올바르게 구성되었는지 확인하십시오."

웹 동기화를 사용하려면 다음 단계를 완료하여 IIS 7을 구성해야 합니다. 이 항목에서는 각 단계를 자세히 설명합니다.

  1. IIS를 실행하는 컴퓨터에서 Microsoft SQL Server 복제 수신기를 설치하고 구성합니다.

  2. SSL(Secure Sockets Layer)을 구성합니다. SSL은 IIS와 모든 구독자 간의 통신을 위해 필요합니다.

  3. IIS 인증을 구성합니다.

  4. SQL Server 복제 수신기에 대한 계정을 구성하고 사용 권한을 설정합니다.

SQL Server 복제 수신기 설치

SQL Server 복제 수신기를 설치 및 구성하려면

  1. IIS를 실행하는 컴퓨터에 replisapi.dll에 대한 새 파일 디렉터리를 만듭니다. 원하는 위치에 이 디렉터리를 만들 수 있지만 <drive>:\Inetpub 디렉터리 아래에 만드는 것이 좋습니다. 예를 들어 <drive>:\Inetpub\SQLReplication\ 디렉터리를 만듭니다.

  2. <drive>:\Program Files\Microsoft SQL Server\110\ com\ 디렉터리에 있는 replisapi.dll을 1단계에서 만든 파일 디렉터리로 복사합니다.

  3. replisapi.dll을 등록합니다.

    1. 시작을 클릭한 다음 실행을 클릭합니다. 열기 상자에 cmd를 입력한 다음 확인을 클릭합니다.

    2. 1단계에서 만든 디렉터리에서 다음 명령을 실행합니다.

      regsvr32 replisapi.dll

  4. 복제를 위한 새 웹 사이트를 만들거나 기존 사이트를 사용합니다. 이 웹 사이트는 동기화를 수행하는 동안 복제 구성 요소에서 액세스합니다. 이 항목의 절차에서는 기본 웹 사이트를 사용합니다. 웹 사이트를 만드는 방법은 IIS 설명서를 참조하십시오.

  5. IIS에 가상 디렉터리를 만듭니다. 가상 디렉터리는 4단계에서 만든 웹 사이트 아래에 만들어야 하며 1단계에서 만든 디렉터리에 매핑해야 합니다. 이 디렉터리에 대한 사용 권한은 가능한 제한적으로 할당하는 것이 좋습니다. 적어도 읽기실행 권한을 선택해야 합니다.

    1. IIS(인터넷 정보 서비스) 관리자연결 창에서 기본 웹 사이트를 마우스 오른쪽 단추로 클릭한 다음 가상 디렉터리 추가를 클릭합니다.

    2. 별칭에 SQLReplication을 입력합니다.

    3. 실제 경로에 <drive>:\Inetpub\SQLReplication\을 입력한 다음 확인을 클릭합니다.

  6. replisapi.dll이 실행될 수 있도록 IIS를 구성합니다.

    1. IIS(인터넷 정보 서비스) 관리자에서 기본 웹 사이트를 클릭합니다.

    2. 가운데 창에서 처리기 매핑을 클릭합니다.

    3. 동작 창에서 모듈 매핑 추가를 클릭합니다.

    4. 요청 경로에 replisapi.dll을 입력합니다.

    5. 모듈 드롭다운 목록에서 IsapiModule을 선택합니다.

    6. 실행 파일에 <drive>:\Inetpub\SQLReplication\replisapi.dll을 입력합니다.

    7. 이름에 Replisapi를 입력합니다.

    8. 요청 제한 단추를 클릭하고 액세스 탭을 클릭한 다음 실행을 클릭합니다.

    9. 확인을 클릭하여 요청 제한 대화 상자를 닫은 다음 다시 확인을 클릭하여 모듈 매핑 추가 대화 상자를 닫습니다. ISAPI 확장을 허용할지 묻는 메시지가 표시되면 를 클릭하여 확장을 추가합니다.

    10. Replisapi.dll이 사용 처리기 매핑 아래에 나열되어 있는지 확인합니다. 이 dll이 사용 안 함 목록에 있는 경우 Replisapi 항목을 마우스 오른쪽 단추로 클릭한 다음 기능 사용 권한 편집을 클릭합니다. 실행 상자를 선택한 다음 확인을 클릭합니다.

IIS 인증 구성

구독자 컴퓨터가 IIS에 연결한 다음 리소스 및 프로세스에 액세스하려면 먼저 IIS에서 해당 구독자를 인증해야 합니다. 인증은 전체 웹 사이트나 사용자가 만든 가상 디렉터리에 적용할 수 있습니다.

기본 인증과 함께 SSL을 사용하는 것이 좋습니다. SSL은 사용하는 인증 유형에 관계없이 필요합니다.

기본 인증과 함께 SSL을 사용하는 것이 좋습니다. SSL은 사용하는 인증 유형에 관계없이 필요합니다.

IIS 인증을 구성하려면

  1. IIS(인터넷 정보 서비스) 관리자에서 기본 웹 사이트를 클릭합니다.

  2. 중간 창에서 인증을 두 번 클릭합니다.

  3. 익명 인증을 마우스 오른쪽 단추로 클릭한 다음 사용 안 함을 클릭합니다.

  4. 기본 인증을 마우스 오른쪽 단추로 클릭한 다음 사용을 클릭합니다.

SSL(Secure Sockets Layer) 구성

SSL을 구성하려면 IIS를 실행하는 컴퓨터에서 사용할 인증서를 지정합니다. 병합 복제를 위한 웹 동기화에서는 서버 인증서를 사용할 수 있지만 클라이언트 인증서는 사용할 수 없습니다. 배포를 위해 IIS를 구성하려면 먼저 CA(인증 기관)에서 인증서를 얻어야 합니다. 인증서에 대한 자세한 내용은 IIS 설명서를 참조하십시오.

인증서를 설치한 다음에는 웹 동기화에서 사용하는 웹 사이트와 인증서를 연결해야 합니다. 개발 및 테스트용으로 자체 서명 인증서를 지정할 수 있습니다. IIS 7은 인증서를 만들고 해당 인증서를 사용자의 컴퓨터에 등록할 수 있습니다.

프로덕션을 위해 배포하는 경우와 여기에서 설명하는 절차 사이의 차이점은 프로덕션 및 프로덕션 이전 테스팅에서는 자체 서명된 인증서 대신 CA에서 발급한 인증서를 사용한다는 것입니다.

중요 정보중요

프로덕션 설치의 경우에는 자체 서명된 인증서를 사용하지 않는 것이 좋습니다. 자체 서명된 인증서는 안전하지 않습니다. 자체 서명된 인증서는 개발 및 테스트용으로만 사용하십시오.

SSL을 구성하려면 다음 단계를 수행하십시오.

  1. 웹 사이트에서 SSL을 필요로 하고 클라이언트 인증서를 무시하도록 구성합니다.

  2. CA에서 인증서를 얻거나 자체 서명된 인증서를 만듭니다.

  3. 인증서를 복제 웹 사이트에 바인딩합니다.

웹 사이트에 대해 SSL 보안을 요구하려면

  1. IIS(인터넷 정보 서비스) 관리자에서 로컬 서버 노드를 확장한 다음 기본 웹 사이트 또는 사용자의 웹 동기화 사이트(기본 웹 사이트와 다른 경우)를 클릭합니다.

  2. 중간 창에서 SSL 설정을 두 번 클릭합니다.

  3. SSL 필요 옵션을 선택합니다. 클라이언트 인증서 아래에서 무시 단추가 선택되어 있는지 확인합니다.

테스트를 위한 자체 서명된 인증서를 만들려면

  1. IIS(인터넷 정보 서비스) 관리자에서 로컬 서버 노드를 클릭한 다음 가운데 창에서 서버 인증서를 두 번 클릭합니다.

  2. 동작 창에서 자체 서명된 인증서 만들기를 클릭합니다.

  3. 자체 서명된 인증서 만들기 대화 상자에서 인증서에 대한 이름을 입력한 다음 확인을 클릭합니다.

인증서를 웹 사이트에 바인딩하려면

  1. 연결 창에서 기본 웹 사이트 또는 사용자의 웹 동기화 사이트(기본 웹 사이트와 다른 경우)를 클릭합니다.

  2. 동작 창에서 바인딩을 클릭한 다음 추가를 클릭합니다. 사이트 바인딩 추가 대화 상자가 나타납니다.

  3. 유형 드롭다운 목록에서 https를 선택합니다. IP 주소포트에 대한 기본 설정은 그대로 둡니다.

  4. SSL 인증서 드롭다운 목록에서 "테스트를 위한 자체 서명된 인증서를 만들려면"에서 만든 인증서를 선택하고 확인을 클릭한 다음 닫기를 클릭합니다.

인증서를 테스트하려면

  1. IIS(인터넷 정보 서비스) 관리자에서 기본 웹 사이트를 클릭합니다.

  2. 동작 창에서 *:443(https) 찾아보기를 클릭합니다.

  3. Internet Explorer가 열리고 "이 웹 사이트의 보안 인증서에 문제가 있습니다."라는 메시지가 표시됩니다. 이 경고에서는 연결된 인증서가 공인 CA에 의해 발급되지 않았으며 신뢰할 수 없을 수도 있음을 알립니다. 이는 예상되는 경고이므로 **이 웹 사이트를 계속 탐색합니다(권장하지 않음).**를 클릭합니다.

  4. localhost에 연결 메시지가 표시되면 사용자 이름 및 암호를 입력하여 계속합니다. 웹 사이트에 대한 기본 페이지가 나타납니다.

SQL Server 복제 수신기에 대한 사용 권한 설정

구독자 컴퓨터가 IIS를 실행하는 컴퓨터에 연결되면 IIS 구성 시 지정한 인증 유형을 사용하여 해당 구독자가 인증됩니다. IIS에서는 구독자를 인증한 다음 해당 구독자가 SQL Server 복제를 호출할 수 있는 권한을 가지고 있는지 여부를 확인합니다. replisapi.dll에 대한 권한을 설정하여 SQL Server 복제를 호출할 수 있는 사용자를 제어합니다. Properly configuring permissions is necessary to prevent unauthorized access to SQL Server 복제에 무단으로 액세스하지 못하도록 하려면 사용 권한을 적절하게 구성해야 합니다.

SQL Server 복제 수신기를 실행할 계정에 대해 최소 사용 권한을 구성하려면 다음 절차를 완료합니다. 다음 절차의 단계는 IIS 7.0을 실행하는 Microsoft Windows Server 2008에 해당됩니다.

다음 단계를 수행한 다음에는 PAL(게시 액세스 목록)에 필요한 로그인을 추가합니다. PAL에 대한 자세한 내용은 게시자 보안 설정을 참조하십시오.

중요   이 섹션에서 만든 계정은 동기화하는 동안 게시자 및 배포자에 연결되는 계정입니다. 이 계정은 게시 및 배포 서버의 SQL 로그인 계정으로 추가되어야 합니다.

SQL Server 복제 수신기에 대해 사용되는 계정은 병합 에이전트 보안 항목의 "게시자 또는 배포자에 연결" 섹션에 설명된 대로 사용 권한을 가지고 있어야 합니다.

요약하면, 계정은 다음 조건을 만족해야 합니다.

  • PAL(게시 액세스 목록)의 멤버여야 합니다.

  • 게시 데이터베이스의 사용자와 연결된 로그인에 매핑되어야 합니다.

  • 배포 데이터베이스의 사용자와 연결된 로그인에 매핑되어야 합니다.

  • 스냅숏 공유에 대한 읽기 권한을 가지고 있어야 합니다.

계정 및 사용 권한을 구성하려면

  1. IIS를 실행하는 컴퓨터에 로컬 계정을 만듭니다.

    1. 서버 관리자를 엽니다. 시작 메뉴에서 컴퓨터를 마우스 오른쪽 단추로 클릭한 다음 관리를 클릭합니다.

    2. 서버 관리자에서 구성을 확장한 다음 로컬 사용자 및 그룹을 확장합니다.

    3. 사용자를 마우스 오른쪽 단추로 클릭한 다음 새 사용자를 클릭합니다.

    4. 사용자 이름과 강력한 암호를 입력합니다. 다음 로그온할 때 반드시 암호 변경의 선택을 취소합니다.

    5. 만들기를 클릭한 다음 닫기를 클릭합니다.

  2. IIS_IUSRS 그룹에 계정을 추가합니다.

    1. 서버 관리자에서 구성을 확장하고 로컬 사용자 및 그룹을 확장한 다음 그룹을 클릭합니다.

    2. IIS_IUSRS를 마우스 오른쪽 단추로 클릭한 다음 그룹에 추가를 클릭합니다.

    3. IIS_IUSRS 속성 대화 상자에서 추가를 클릭합니다.

    4. 사용자, 컴퓨터 또는 그룹 선택 대화 상자에 1단계에서 만든 계정을 추가합니다.

    5. 다음 위치에서에 도메인이 아닌 로컬 컴퓨터 이름이 표시되는지 확인합니다. 이 필드에 로컬 컴퓨터 이름이 표시되지 않는 경우 위치를 클릭합니다. 위치 대화 상자에서 로컬 컴퓨터를 선택한 다음 확인을 클릭합니다.

    6. 사용자 선택 대화 상자 및 IIS_IUSRS 속성 대화 상자에서 확인을 클릭합니다.

  3. replisapi.dll을 포함하는 폴더에 최소 계정 사용 권한을 부여합니다.

    1. Windows 탐색기에서 replisapi.dll에 대해 만든 폴더를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

    2. 보안 탭에서 편집을 클릭합니다.

    3. <foldername>에 대한 사용 권한 대화 상자에서 추가를 클릭하여 1단계에서 만든 계정을 추가합니다.

    4. 다음 위치에서에 도메인이 아닌 로컬 컴퓨터 이름이 표시되는지 확인합니다. 이 필드에 로컬 컴퓨터 이름이 표시되지 않는 경우 위치를 클릭합니다. 위치 대화 상자에서 로컬 컴퓨터를 선택한 다음 확인을 클릭합니다.

    5. 해당 계정에 읽기, 읽기 및 실행폴더 내용 보기 권한만 부여되도록 합니다.

    6. 디렉터리에 대한 액세스가 필요 없는 사용자나 그룹을 선택하고 제거를 클릭한 다음 확인을 클릭합니다.

  4. IIS(인터넷 정보 서비스) 관리자에서 응용 프로그램 풀을 만듭니다.

    1. IIS(인터넷 정보 서비스) 관리자연결 창에서 로컬 서버 노드를 확장합니다.

    2. 응용 프로그램 풀을 마우스 오른쪽 단추로 클릭하고 응용 프로그램 풀 추가를 클릭합니다.

    3. 응용 프로그램 풀의 이름을 입력하고 남아 있는 필드에 대한 기본값을 그대로 둔 다음 확인을 클릭합니다.

    [!참고]

    동기화 클라이언트가 세 개 이상 동시에 실행되도록 하려면 웹 가든을 만들어야 합니다. 자세한 내용은 웹 동기화 구성의 "웹 가든 만들기"를 참조하십시오.

  5. 계정과 응용 프로그램 풀을 연결합니다.

    1. IIS(인터넷 정보 서비스) 관리자에서 로컬 서버 노드를 확장한 다음 응용 프로그램 풀을 클릭합니다.

    2. 만든 응용 프로그램 풀을 마우스 오른쪽 단추로 클릭한 다음 응용 프로그램 풀 기본값 설정을 클릭합니다.

    3. 응용 프로그램 풀 기본값 대화 상자에서 프로세스 모델 섹션으로 스크롤한 다음 ID 필드를 클릭합니다.

    4. ID 행의 오른쪽에서 줄임표 단추를 클릭합니다.

    5. 사용자 지정 계정 라디오 단추를 클릭한 다음 설정을 클릭합니다.

    6. 사용자 이름암호 필드에 1단계에서 만든 계정과 암호를 입력한 다음 확인을 클릭합니다.

    7. 확인을 클릭하여 응용 프로그램 풀 ID 대화 상자를 닫은 다음 다시 확인을 클릭하여 응용 프로그램 풀 기본값 대화 상자를 닫습니다.

  6. 응용 프로그램 풀을 복제 웹 사이트와 연결합니다.

    1. IIS(인터넷 정보 서비스) 관리자에서 로컬 서버 노드를 확장한 다음 기본 웹 사이트 또는 사용자의 웹 동기화 사이트(기본 웹 사이트와 다른 경우)를 클릭합니다.

    2. 동작 창의 웹 사이트 관리에서 고급 설정을 클릭합니다.

    3. 고급 설정 대화 상자에서 응용 프로그램 풀의 오른쪽에 있는 줄임표 단추를 클릭합니다.

    4. 응용 프로그램 풀 드롭다운 목록에서 4단계에서 만든 응용 프로그램 풀을 선택한 다음 확인을 클릭합니다.

    5. 다시 확인을 클릭하여 고급 설정을 닫습니다.

replisapi.dll에 대한 연결 테스트

진단 모드에서 웹 동기화를 실행하여 IIS를 실행하는 컴퓨터에 대한 연결을 테스트하고 SSL(Secure Sockets Layer) 인증서가 제대로 설치되었는지 확인합니다. 진단 모드에서 웹 동기화를 실행하려면 IIS가 실행되는 컴퓨터의 관리자여야 합니다.

replisapi.dll에 대한 연결을 테스트하려면

  1. 구독자의 LAN(Local Area Network) 설정이 올바른지 확인합니다.

    1. Microsoft Internet Explorer의 도구 메뉴에서 인터넷 옵션을 클릭합니다.

    2. 연결 탭에서 LAN 설정을 클릭합니다.

    3. LAN에 프록시 서버가 사용되지 않는 경우 자동으로 설정 검색사용자 LAN에 프록시 서버 사용의 선택을 취소합니다.

    4. 프록시 서버가 사용되는 경우 사용자 LAN에 프록시 서버 사용로컬 주소에 프록시 서버 사용 안 함을 클릭한 다음 확인을 클릭합니다.

  2. 구독자에서는 Internet Explorer에서 replisapi.dll에 대한 주소에 ?diag(예: 예를 들면 다음과 같습니다. https://server.domain.com/directory/replisapi.dll?diag

    [!참고]

    위 예에서 server.domain.com은 IIS 관리자의 서버 인증서 섹션 아래에 나열된 정확한 발급 대상 이름으로 대체되어야 합니다.

  3. IIS에 대해 지정한 인증서를 Windows 운영 체제에서 인식하지 못할 경우 보안 경고 대화 상자가 나타납니다. 이 경고는 인증서가 테스트 인증서이거나 Windows에서 인식할 수 없는 CA(인증 기관)에서 발급한 인증서이기 때문에 발생할 수 있습니다.

    [!참고]

    이 대화 상자가 나타나지 않으면 액세스하는 서버에 대한 인증서가 구독자의 인증서 저장소에 신뢰할 수 있는 인증서로 추가되었는지 확인합니다. 인증서를 내보내는 방법은 IIS 설명서를 참조하십시오.

    1. 보안 경고 대화 상자에서 인증서 보기를 클릭합니다.

    2. 인증서 대화 상자의 일반 탭에서 인증서 설치를 클릭합니다.

    3. 기본값을 적용한 후 인증서 가져오기 마법사를 완료합니다.

    4. 보안 경고 대화 상자에서 를 클릭합니다.

    5. 인증서 가져오기 마법사 확인 대화 상자에서 확인을 클릭합니다.

    6. 인증서 대화 상자를 닫습니다.

    7. 보안 경고 대화 상자에서 를 클릭합니다.

    [!참고]

    인증서는 사용자에 대해 설치되므로 IIS와 동기화할 각 사용자에 대해 이 프로세스를 수행해야 합니다.

  4. <ServerName>에 연결 대화 상자에서 병합 에이전트가 IIS에 연결하는 데 사용할 로그인과 암호를 지정합니다. 이러한 자격 증명은 새 구독 마법사에서도 지정할 수 있습니다.

  5. SQL Websync 진단 정보라는 Internet Explorer 창에서 페이지의 각 상태 열 값이 SUCCESS인지 확인합니다.

  6. 구독자에 인증서가 올바르게 설치되어 있는지 확인합니다.

    1. Internet Explorer를 닫았다가 다시 엽니다.

    2. 진단 모드에서 서버에 연결합니다. 인증서가 제대로 설치된 경우 보안 경고 대화 상자가 나타나지 않습니다. 이 대화 상자가 나타나면 병합 에이전트가 IIS를 실행하는 컴퓨터에 연결할 수 없습니다. 액세스하는 서버에 대한 인증서가 구독자의 인증서 저장소에 신뢰할 수 있는 인증서로 추가되었는지 확인합니다. 인증서를 내보내는 방법은 IIS 설명서를 참조하십시오.

참고 항목

개념

병합 복제에 대한 웹 동기화

웹 동기화 구성