웹 동기화를 위해 IIS 7 구성
적용 대상: SQL Server
이 항목의 절차에서는 병합 복제를 위한 웹 동기화에서 사용할 IIS(Microsoft 인터넷 정보 서비스) 버전 7 이상을 수동으로 구성하는 프로세스를 안내합니다.
IIS 7 이상을 구성하는 것은 웹 동기화를 사용하도록 설정하는 데 필요한 세 단계 중 첫 번째 단계입니다.
전체 구성 프로세스에 대한 개요는 웹 동기화 구성을 참조 하세요.
Important
애플리케이션이 .NET Framework 2.0 이상 버전만 사용하고 이전 버전의 .NET Framework가 IIS 서버에 설치되지 않은지 확인합니다. 이전 버전의 NET Framework 가 있으면 다음과 같은 오류가 발생할 수 있습니다. "웹 동기화 중 메시지 형식이 잘못되었습니다. 웹 서버에서 복제 구성 요소가 올바르게 구성되었는지 확인하십시오."
웹 동기화를 사용하려면 다음 단계를 완료하여 IIS를 구성해야 합니다. 이 항목에서는 각 단계에 대해 자세히 설명합니다.
IIS를 실행하는 컴퓨터에 Microsoft SQL Server 복제 수신기를 설치하고 구성합니다.
이전에 SSL(Secure Sockets Layer)로 알려진 TLS(전송 계층 보안)를 구성합니다. TLS은 IIS와 모든 구독자 간의 통신을 위해 필요합니다.
IIS 인증 구성.
계정을 구성하고 SQL Server 복제 수신기에 대한 권한을 설정합니다.
SQL Server 복제 수신기 설치
웹 동기화는 버전 5.0부터 IIS에서 지원됩니다. IIS 버전 5 및 6의 웹 동기화 구성 마법사는 IIS 버전 7.0 이상에서는 사용할 수 없습니다. SQL Server 2012부터 IIS 서버에서 웹 동기화 구성 요소를 사용하려면 복제를 사용하여 SQL Server를 설치해야 합니다. 무료 SQL Server Express Edition일 수 있습니다.
SQL Server 복제 수신기를 설치하고 구성하려면
IIS 컴퓨터에 SQL Server 복제를 설치합니다.
IIS를 실행하는 컴퓨터에서 replisapi.dll에 대한 새 파일 디렉터리를 만듭니다. 원하는 위치에 디렉터리를 만들 수 있지만 <드라이브>:\Inetpub 디렉터리 아래에 디렉터리를 만드는 것이 좋습니다. 예를 들어 <드라이브>:\Inetpub\SQLReplication 디렉터리를 만듭니다.
디렉터리 <드라이브>에서 replisapi.dll 복사:\Program Files\Microsoft SQL Server\nnn\com\ 1단계에서 만든 파일 디렉터리로 이동합니다.
replisapi.dll 등록:
시작을 클릭한 다음 실행을 클릭합니다. 열기 상자에 cmd를 입력한 다음 확인을 클릭합니다.
1단계에서 만든 디렉터리에서 다음 명령을 실행합니다.
regsvr32 replisapi.dll
복제를 위한 새 웹 사이트를 만들거나 기존 사이트를 사용합니다. 이 웹 사이트는 동기화 중에 복제 구성 요소에 의해 액세스됩니다. 이 항목의 절차에서는 기본 웹 사이트를 가정합니다. 웹 사이트를 만드는 방법은 IIS 설명서를 참조하세요
IIS에서 가상 디렉터리를 만들기. 4단계에서 만든 웹 사이트 아래에 가상 디렉터리를 만들고 1단계에서 만든 디렉터리에 매핑해야 합니다. 이 디렉터리에 권한을 할당할 때는 최대한 제한적이어야 합니다. 적어도 읽기 및 실행 권한을 선택해야 합니다.
인터넷 정보 서비스(IIS) 관리자의 연결 창에서 기본 웹 사이트를 마우스 오른쪽 단추로 클릭한 다음 가상 디렉터리 추가를 선택합니다.
별칭의 경우 SQLReplication을 입력합니다.
실제 경로의 경우 <드라이브>:\Inetpub\SQLReplication\을 입력한 다음 확인을 클릭합니다.
replisapi.dll이 실행할 수 있도록 IIS를 구성합니다.
인터넷 정보 서비스(IIS) 관리자에서 기본 웹 사이트를 선택하세요.
가운데 창에서 처리기 매핑을 클릭합니다.
작업 창에서 모듈 매핑 추가를 클릭합니다.
요청 경로에 replisapi.dll를 입력합니다.
모듈 드롭다운 목록에서 IsapiModule을 선택합니다.
실행 파일에서 <드라이브>:\Inetpub\SQLReplication\replisapi.dll을 입력합니다.
이름에 대해 Replisapi를 입력합니다.
요청 제한 단추를 클릭하고 액세스 탭을 클릭한 다음 실행을 클릭합니다.
확인을 클릭하여 요청 제한 대화 상자를 닫은 다음 확인을 다시 클릭하여 모듈 매핑 추가 대화 상자를 닫습니다. ISAPI 확장을 허용하라는 메시지가 표시되면 예를 클릭하여 확장을 추가합니다.
Replisapi.dll이 사용 처리기 매핑 아래에 나열되어 있는지 확인합니다. 사용 안 함 목록에 있는 경우 Replisapi 항목을 마우스 오른쪽 단추로 클릭한 다음 기능 권한 편집을 클릭합니다. 실행 상자를 선택한 다음 확인을 클릭합니다.
IIS 인증 구성
구독자 컴퓨터가 IIS에 연결하는 경우 IIS는 구독자를 인증해야 리소스 및 프로세스에 액세스할 수 있습니다. 인증은 전체 웹 사이트나 사용자가 만든 가상 디렉터리에 적용할 수 있습니다.
TLS에서 기본 인증을 사용하는 것이 좋습니다. TLS는 사용하는 인증 유형에 관계없이 필요합니다.
IIS 인증 구성하려면
인터넷 정보 서비스(IIS) 관리자에서 기본 웹 사이트를 선택하세요.
가운데 창에서 인증을 두 번 클릭합니다.
익명 인증을 마우스 오른쪽 단추로 클릭한 다음 사용 안 함을 선택합니다.
기본 인증을 마우스 오른쪽 단추로 클릭한 다음 사용을 클릭합니다.
SSL(Secure Sockets Layer) 구성
TLS을 구성하려면 IIS를 실행하는 컴퓨터에서 사용할 인증서를 지정합니다. 병합 복제를 위한 웹 동기화에서는 서버 인증서를 사용할 수 있지만 클라이언트 인증서는 사용할 수 없습니다. 배포를 위해 IIS를 구성하려면 먼저 CA(인증 기관)에서 인증서를 가져와야 합니다. 인증서에 대한자세한 내용은 IIS 설명서를 참조하세요.
인증서를 설치한 다음에는 웹 동기화에서 사용하는 웹 사이트와 인증서를 연결해야 합니다. 개발 및 테스트 목적으로 자체 서명된 인증서를 지정할 수 있습니다. IIS 7은 인증서를 만들어 컴퓨터에 등록할 수 있습니다.
프로덕션을 위해 배포하는 경우와 여기에서 설명하는 절차 사이의 차이점은 프로덕션 및 프로덕션 이전 테스팅에서는 자체 서명된 인증서 대신 CA에서 발급한 인증서를 사용한다는 것입니다.
Important
프로덕션 설치의 경우에는 자체 서명된 인증서를 사용하지 않는 것이 좋습니다. 자체 서명된 인증서는 안전하지 않습니다. 자체 서명된 인증서는 개발 및 테스트에만 사용해야 합니다.
TLS를 구성하려면 다음 단계를 수행하세요.
TLS를 요구하고 클라이언트 인증서를 무시하도록 웹 사이트를 구성합니다.
CA에서 인증서를 받거나 자체 서명된 인증서를 만듭니다.
복제 웹 사이트에 인증서를 바인딩합니다.
웹 사이트에 SSL 보안을 요구하려면
IIS(인터넷 정보 서비스) 관리자에서 로컬 서버 노드를 확장한 다음 기본 웹 사이트(또는 기본 웹 사이트와 다른 경우 웹 동기화 사이트)를 클릭합니다.
중간 창에서 SSL 설정을 두 번 클릭합니다.
SSL 필요 옵션을 선택합니다. 클라이언트 인증서에서 무시 단추가 선택되어 있는지 확인합니다.
테스트를 위해 자체 서명된 인증서를 만들려면
IIS(인터넷 정보 서비스) 관리자에서 로컬 서버 노드를 클릭한 다음 가운데 창에서 서버 인증서를 두 번 클릭합니다.
작업 창에서 자체 서명된 인증서 만들기를 클릭합니다.
자체 서명된 인증서 만들기 대화 상자에서 인증서의 이름을 입력한 다음 확인을 클릭합니다.
인증서를 웹 사이트에 바인딩하려면
연결 창에서 기본 웹 사이트 (또는 기본 웹 사이트와 다른 경우 웹 동기화 사이트)를 클릭합니다.
작업 창에서 바인딩을 클릭한 다음 추가를 클릭합니다. 사이트 바인딩 추가 대화 상자가 나타납니다.
형식 드롭다운 목록에서 https를 선택합니다. IP 주소 및 포트에 대한 기본 설정을 그대로 둡니다.
SSL 인증서 드롭다운 목록에서 "테스트를 위한 자체 서명된 인증서를 만들려면"에서 만든 인증서를 선택하고 확인을 클릭한 다음 닫기를 클릭합니다.
인증서를 테스트하려면
인터넷 정보 서비스(IIS) 관리자에서 기본 웹 사이트를 선택하세요.
작업 창에서 찾아보기 *:443(https)를 클릭합니다.
Internet Explorer가 열리고 "이 웹 사이트의 보안 인증서에 문제가 있습니다."라는 메시지가 표시됩니다. 이 경고는 연결된 인증서가 공인된 CA에서 발급되지 않았으며 신뢰할 수 없음을 알려줍니다. 예상되는 경고이므로 이 웹 사이트로 계속(권장되지 않음)을 클릭합니다.
localhost에 연결하라는 메시지가 표시되면 사용자 이름과 암호를 입력하여 계속 진행합니다. 웹 사이트의 기본 페이지가 표시되어야 합니다.
SQL Server 복제 수신기에 대한 사용 권한 설정
구독자 컴퓨터가 IIS를 실행하는 컴퓨터에 연결되면 IIS를 구성할 때 지정된 인증 유형을 사용하여 구독자가 인증됩니다. IIS가 구독자를 인증한 후 IIS는 구독자가 SQL Server 복제를 호출할 권한이 있는지 확인합니다. replisapi.dll 대한 권한을 설정하여 SQL Server 복제를 호출할 수 있는 사용자를 제어합니다. SQL Server 복제에 무단으로 액세스하지 못하도록 하려면 사용 권한을 적절하게 구성해야 합니다.
SQL Server 복제 수신기를 실행할 계정에 대해 최소 사용 권한을 구성하려면 다음 절차를 완료합니다. 다음 절차의 단계는 IIS 7.0을 실행하는 Microsoft Windows Server 2008에 적용됩니다.
다음 단계를 수행하는 것 외에도 필요한 로그인이 PAL(게시 액세스 목록)에 있는지 확인합니다. PAL에 대한 자세한 내용은 게시자 보안 설정을 참조하세요.
Important
이 섹션에서 만든 계정은 동기화 중에 게시자 및 배포자에 연결할 계정입니다. 이 계정은 배포 및 게시 서버에서 SQL 로그인 계정으로 추가되어야 합니다.
SQL Server 복제 수신기에 대해 사용되는 계정은 병합 에이전트 보안 항목의 "게시자 또는 배포자에 연결" 섹션에 설명된 대로 사용 권한을 가지고 있어야 합니다.
요약하면 계정은 다음을 수행해야 합니다.
PAL(게시 액세스 목록)의 멤버여야 합니다.
게시 데이터베이스의 사용자와 연결된 로그인에 매핑됩니다.
배포 데이터베이스의 사용자와 연결된 로그인이어야 합니다.
스냅샷 공유에 대해 읽기 권한이 있어야 합니다.
계정 및 해당 권한을 구성하려면
IIS를 실행하는 컴퓨터에 로컬 계정을 만듭니다.
서버 관리자를 엽니다. 시작 메뉴에서 컴퓨터를 마우스 오른쪽 단추로 클릭한 다음 관리를 클릭합니다.
서버 관리자에서 구성을 확장하고 로컬 사용자 및 그룹을 확장합니다.
사용자를 마우스 오른쪽 단추로 클릭한 다음, 새 사용자를 클릭합니다.
사용자 이름과 강력한 암호를 입력합니다. 반드시 다음 로그온할 때 암호를 변경해야 합니다.
만들기, 닫기를 차례로 클릭합니다.
IIS_IUSRS 그룹에 계정을 추가합니다.
서버 관리자에서 구성을 확장하고 로컬 사용자 및 그룹을 확장한 다음 그룹을 클릭합니다.
IIS_IUSRS를 마우스 오른쪽 단추로 클릭한 다음 그룹에 추가를 클릭합니다.
IIS_IUSRS 속성 대화 상자에서 추가를 클릭합니다.
사용자, 컴퓨터 또는 그룹 선택 대화 상자에 1단계에서 만든 계정을 추가합니다.
다음 위치에서 에 도메인이 아닌 로컬 컴퓨터 이름이 표시되는지 확인합니다. 이 필드에 로컬 컴퓨터 이름이 표시되지 않으면 위치를 클릭합니다. 위치 대화 상자에서 로컬 컴퓨터를 선택한 다음 확인을 클릭합니다.
사용자 선택 대화 상자 및 IIS_IUSRS 속성 대화 상자에서확인을 클릭합니다.
replisapi.dll을 포함하는 폴더에 대한 최소 계정 권한을 부여합니다.
Windows 탐색기에서 replisapi.dll를 위해 만든 폴더를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
보안 탭에서 편집을 클릭합니다.
<폴더 이름>에 대한 사용 권한 대화 상자에서 추가를 클릭하여 1단계에서 만든 계정을 추가합니다.
다음 위치에서 에 도메인이 아닌 로컬 컴퓨터 이름이 표시되는지 확인합니다. 이 필드에 로컬 컴퓨터 이름이 표시되지 않으면 위치를 클릭합니다. 위치 대화 상자에서 로컬 컴퓨터를 선택한 다음 확인을 클릭합니다.
계정에는 읽기, 읽기 및 실행 및 폴더 내용 보기 권한만 부여되었는지 확인하세요.
디렉터리에 액세스할 필요가 없는 사용자 또는 그룹을 선택하고 제거를 클릭한 다음 확인을 클릭합니다.
인터넷 정보 서비스(IIS) 관리자에서 애플리케이션 풀을 만듭니다.
IIS(인터넷 정보 서비스) 관리자의 연결 창에서 로컬 서버 노드를 확장합니다.
애플리케이션 풀 을 마우스 오른쪽 단추로 클릭하고 애플리케이션 풀 추가를 클릭합니다.
애플리케이션 풀의 이름을 입력하고 남아 있는 필드에 대한 기본값을 그대로 둔 다음 확인을 클릭합니다.
참고 항목
동기화 클라이언트가 세 개 이상 동시에 실행되도록 하려면 웹 가든을 만들어야 합니다. 자세한 내용은 웹 동기화 구성의 “웹 가든 작성”을 참조하세요.
계정을 애플리케이션 풀에 연결합니다.
인터넷 정보 서비스(IIS) 관리자에서 로컬 서버 노드를 확장한 다음 애플리케이션 풀을 클릭합니다.
만든 애플리케이션 풀을 마우스 오른쪽 단추로 클릭한 다음 애플리케이션 풀 기본값 설정을 클릭합니다.
애플리케이션 풀 기본값 대화 상자에서 프로세스 모델 섹션까지 아래로 스크롤한 다음 ID 필드를 클릭합니다.
ID 행의 오른쪽에 있는 줄임표 단추를 클릭합니다.
사용자 지정 계정 라디오 단추를 클릭한 다음 설정을 클릭합니다.
사용자 이름 및 암호 필드에 1단계에서 만든 계정 및 암호를 입력한 다음 확인을 클릭합니다.
확인을 클릭하여 애플리케이션 풀 ID 대화 상자를 닫은 다음 확인을 다시 클릭하여 애플리케이션 풀 기본값 대화 상자를 닫습니다.
애플리케이션 풀을 복제 웹 사이트와 연결합니다.
IIS(인터넷 정보 서비스) 관리자에서 로컬 서버 노드를 확장한 다음 기본 웹 사이트(또는 기본 웹 사이트와 다른 경우 웹 동기화 사이트)를 클릭합니다.
작업 패널의 웹 사이트 관리에서 고급 설정을 선택합니다.
고급 설정 대화 상자에서 애플리케이션 풀 오른쪽에 있는 줄임표 단추를 클릭합니다.
애플리케이션 풀 드롭다운 목록에서 4단계에서 만든 애플리케이션 풀을 선택한 다음 확인을 클릭합니다.
확인을 다시 클릭하여 고급 설정을 닫습니다.
replisapi.dll에 대한 연결 테스트
진단 모드에서 웹 동기화를 실행하여 IIS를 실행하는 컴퓨터에 대한 연결을 테스트하고 TLS/SSL 인증서가 제대로 설치되었는지 확인합니다. 진단 모드에서 웹 동기화를 실행하려면 IIS를 실행하는 컴퓨터의 관리자여야 합니다.
replisapi.dll에 대한 연결을 테스트하려면
구독자의 LAN(Local Area Network) 설정이 올바른지 확인합니다.
Microsoft Internet Explorer의 도구 메뉴에서 인터넷 옵션을 클릭합니다.
연결 탭에서 LAN 설정을 클릭합니다.
LAN에 프록시 서버가 사용되지 않는 경우 자동으로 설정 검색 및 사용자 LAN에 프록시 서버 사용의 선택을 취소합니다.
프록시 서버가 사용되는 경우 사용자 LAN에 프록시 서버 사용 및 로컬 주소에 프록시 서버 사용 안 함을 클릭한 다음 확인을 클릭합니다.
구독자에서는 Internet Explorer에서 replisapi.dll에 대한 주소에
?diag
(예: 예:https://server.domain.com/directory/replisapi.dll?diag
.참고 항목
위 예에서 server.domain.com 은 IIS 관리자의 서버 인증서 섹션 아래에 나열된 정확한 발급 대상 이름으로 대체되어야 합니다.
IIS에 대해 지정한 인증서를 Windows 운영 체제에서 인식하지 못할 경우 보안 경고 대화 상자가 나타납니다. 이 경고는 인증서가 테스트 인증서이거나 Windows에서 인식하지 못하는 CA(인증 기관)에서 인증서를 발급했기 때문에 발생할 수 있습니다.
참고 항목
이 대화 상자가 표시되지 않으면 액세스하는 서버의 인증서가 신뢰할 수 있는 인증서로 구독자의 인증서 저장소에 추가되었는지 확인합니다. 인증서를 내보내는 방법은 IIS 설명서를 참조하십시오.
보안 경고 대화 상자에서 인증서 보기를 클릭합니다.
인증서 대화 상자의 일반 탭에서 인증서 설치를 클릭합니다.
인증서 가져오기 마법사를 완료하고 기본값을 적용합니다.
보안 경고 대화 상자에서 예를 클릭합니다.
인증서 가져오기 마법사 확인 대화 상자에서 확인을 클릭합니다.
인증서 대화 상자를 닫습니다.
보안 경고 대화 상자에서 예를 클릭합니다.
참고 항목
인증서는 사용자를 위해 설치됩니다. IIS와 동기화할 각 사용자에 대해 이 프로세스를 수행해야 합니다.
<ServerName>에 연결 대화 상자에서 병합 에이전트 IIS에 연결하는 데 사용할 로그인 및 암호를 지정합니다. 이러한 자격 증명은 새 구독 마법사에도 지정됩니다.
SQL Websync 진단 정보라는 Internet Explorer 창에서 페이지의 각 상태 열 값이 SUCCESS인지 확인합니다.
인증서가 구독자에 올바르게 설치되어 있는지 확인합니다.
Internet Explorer를 닫았다가 다시 엽니다.
진단 모드에서 서버에 연결합니다. 인증서가 제대로 설치되어 있으면 보안 경고 대화 상자가 표시되지 않습니다. 이 대화 상자가 나타나면 병합 에이전트가 IIS를 실행하는 컴퓨터에 연결할 수 없습니다. 액세스하는 서버의 인증서가 구독자의 인증서 저장소에 신뢰할 수 있는 인증서로 추가되었는지 확인해야 합니다. 인증서를 내보내는 방법은 IIS 설명서를 참조하십시오.