샌드박스 솔루션 계획(SharePoint Server 2010)

 

적용 대상: SharePoint Foundation 2010, SharePoint Server 2010

마지막으로 수정된 항목: 2016-11-30

Microsoft SharePoint Server 2010의 샌드박스 솔루션은 보안을 강화하고 안정성을 높이기 위해 네트워크 및 로컬 리소스에 대한 액세스를 제한합니다. 부하 분산 솔루션과 완전히 테스트되지 않은 솔루션에 샌드박스 솔루션을 사용하거나, 호스팅되는 환경에서 사용자 솔루션을 배포하는 데 샌드박스 솔루션을 사용할 수 있습니다. 샌드박스 솔루션은 다른 솔루션에 속한 리소스에 액세스할 수 없도록 별도의 작업자 프로세스에서 실행되며 로컬 및 네트워크 리소스에 제한적으로 액세스할 수 있습니다.

샌드박스 솔루션을 계획하는 경우 먼저 샌드박스 솔루션을 사용할지 여부를 결정해야 합니다. 이렇게 하려면 성능이나 보안 중에 무엇을 주로 고려해야 하는지 파악하면 됩니다. 샌드박스 솔루션을 사용하는 팜에서는 샌드박스 솔루션을 사용하지 않는 팜에서보다 작업자 프로세스와 프록시 프로세스가 늘어납니다. 하지만 샌드박스 솔루션을 사용하면 프로세스 격리를 향상시킬 수 있으므로 팜의 보안이 강화됩니다.

샌드박스 솔루션에 대한 자세한 내용은 샌드박스 솔루션 개요(SharePoint Server 2010)샌드박스 솔루션(영문일 수 있음)(https://go.microsoft.com/fwlink/?linkid=220257&clcid=0x412)(영문일 수 있음)을 참조하십시오.

이 문서의 내용

  • 샌드박스 솔루션을 사용해야 하는 경우 결정

  • 샌드박스 솔루션 코드의 부하 분산 계획

  • 샌드박스 솔루션 배포 위치 결정

  • 샌드박스 솔루션을 배포할 수 있는 사용자 결정

  • 샌드박스 솔루션을 실행할 사이트 모음 결정

  • 샌드박스 솔루션의 리소스 사용 할당량 계획

  • 샌드박스 솔루션 서비스 계층 계획

  • 샌드박스 솔루션 관리 방식 계획

샌드박스 솔루션을 사용해야 하는 경우 결정

샌드박스 솔루션은 여러 서버 간에 솔루션의 부하를 분산하려 하거나, 완전히 테스트하지 않았거나 조직에서 지원하지 않는 코드를 실행할 수 있도록 하려는 경우에 사용하는 것이 적절합니다. 샌드박스 솔루션은 테스트 환경에서 프로덕션 환경의 샌드박스 솔루션에 이르는 확장된 배포 경로를 조직의 개발자에게 제공하는 중요한 역할을 수행할 수 있습니다. 또한 나중에 샌드박스 솔루션이 전체 배포에서 안전한 것으로 판단될 때 팜 관리자가 솔루션을 완전히 신뢰할 수 있는 상태로 변경할 수 있습니다.

특히 다음과 같은 경우에 샌드박스 솔루션을 사용하는 것이 적절합니다.

  • 여러 SharePoint Server 서버 간에 솔루션의 부하를 분산하려는 경우

  • 조직이 프로덕션 SharePoint Server 사이트에서 직원에 대한 코드를 실행하려 하지만 코드가 엄격하게 검토 및 테스트되지 않은 경우

  • 인터넷 호스팅 공급자가 호스팅되는 SharePoint Server 사이트 소유자의 사용자 지정 코드 업로드 및 실행을 허용하려는 경우

샌드박스 솔루션을 사용하는 경우 샌드박스 솔루션을 실행하려는 각 서버에서 샌드박스 솔루션을 시작해야 합니다.

샌드박스 솔루션 코드의 부하 분산 계획

샌드박스 솔루션의 두 가지 부하 분산 계획 중 하나를 선택할 수 있습니다. 부하 분산 계획에 따라 Microsoft SharePoint Server 2010에서 솔루션을 실행할 서버를 결정합니다. 로컬 부하 분산에서는 솔루션이 요청을 받은 동일한 서버에서 실행됩니다. 원격 부하 분산을 선택하는 경우 솔루션이 실행되는 서버는 솔루션 선호도에 따라 선택되고 샌드박스 솔루션이 이미 로드되어 실행된 서버에서 실행됩니다. 따라서 솔루션 요청에 대한 서비스를 제공하는 데 시간이 절약됩니다. 두 경우 모두 샌드박스 솔루션을 호스팅할 각 서버에서 샌드박스 솔루션 서비스를 실행하고 있어야 합니다.

관리자가 선택하는 부하 분산 계획에 따라 전체 SharePoint Server 팜에서 사용하는 모델이 결정됩니다. 로컬 및 원격 부하 분산을 혼합하여 사용할 수는 없고 대신 둘 중 하나를 구현하도록 결정해야 합니다. 구현할 모드를 결정할 때는 다음 사항을 고려하십시오.

  • 로컬 모드를 선택하면 관리 작업이 줄어들지만 확장성이 로컬 서버의 리소스로 제한됩니다.

  • 원격 모드를 선택하면 로컬 모드보다 확장성이 향상되지만 더 많은 서버에서 관리 작업을 수행해야 합니다.

샌드박스 솔루션을 실행하는 서버가 여러 개 있는 SharePoint Server 팜에서 원격 부하 분산 모델을 사용하면 성능이 향상됩니다. 개발 프로세스의 일부로 샌드박스 솔루션을 사용하고 있고 샌드박스 솔루션의 실행 범위를 해당 솔루션을 호출한 서버로만 제한하려면 로컬 모드 부하 분산을 사용하십시오.

자세한 내용은 샌드박스 솔루션 개요(SharePoint Server 2010)를 참조하십시오.

샌드박스 솔루션 배포 위치 결정

샌드박스 솔루션은 사이트 모음의 루트에 배포됩니다. 사이트 모음 관리자는 누구나 샌드박스 솔루션을 배포할 수 있습니다. 사이트 모음에 배포된 샌드박스 솔루션은 해당 사이트 모음 내에서 사용할 수 있습니다.

SharePoint Server 팜 내 특정 서버나 모든 서버에서 샌드박스 솔루션을 실행하도록 결정할 수 있습니다. 서버에서 샌드박스 솔루션을 사용하도록 설정하려면 샌드박스 솔루션 서비스를 사용하도록 설정해야 합니다. 이 서비스는 샌드박스 솔루션을 실행하려는 모든 서버에서 사용하도록 설정되어야 합니다.

샌드박스 솔루션을 배포할 수 있는 사용자 결정

샌드박스 솔루션 배포에 관련된 사용자 역할을 계획하는 경우 솔루션을 배포하도록 권한을 부여할 사용자와 솔루션을 관리하도록 권한을 부여할 사용자를 결정해야 합니다. Site Collection Administrators 그룹의 구성원은 샌드박스 솔루션을 배포할 수 있습니다.

샌드박스 솔루션 서비스 설정 또는 해제, 솔루션 차단 또는 차단 해제, 할당량 및 할당량 템플릿 조정 또는 다시 설정 등의 관리 작업을 수행하려면 Farm Administrators 그룹의 구성원이어야 합니다.

참고

그러나 단순히 사이트 모음 소유자여서는 안 되며, 샌드박스 솔루션을 배포 및 활성화하려면 샌드박스 솔루션을 배포하려는 사이트 모음의 사이트 모음 관리자여야 합니다.

팜 관리자는 샌드박스 솔루션을 팜 전체에서 배포 가능한 완전히 신뢰할 수 있는 솔루션으로 변경할 수 있으므로 신중하게 Farm Administrators 그룹의 구성원 자격을 적절한 사용자로만 제한해야 합니다. 배포되는 샌드박스 솔루션에 보안 문제가 있는 경우 Site Collection Administrators 그룹에 사용자를 추가할 때도 신중해야 합니다.

할당량을 사용하여 샌드박스 솔루션을 실행할 사이트 모음 결정

특정 사이트 모음에서 할당량을 조정하여 샌드박스 솔루션을 사용하거나 사용하지 않도록 설정할 수 있습니다. 특정 사이트 모음에서 샌드박스 솔루션 할당량을 0으로 설정하면 샌드박스 솔루션이 해당 사이트 모음에서 실행되지 않습니다. 이러한 방식으로 팜에서 샌드박스 솔루션의 사용을 세세하게 조절할 수 있습니다.

샌드박스 솔루션을 배포할 위치를 계획하려면 다음 사항을 고려해야 합니다.

  • 샌드박스 솔루션 서비스를 실행할 서버

  • 샌드박스 솔루션을 실행할 수 있는 사이트 모음

샌드박스 솔루션을 일부 사이트 모음에서 사용하도록 설정하는 경우 나머지 사이트 모음에서 할당량을 0으로 설정하여 해당 샌드박스 솔루션을 사용하지 않도록 설정해야 합니다.

샌드박스 솔루션의 리소스 사용 할당량 계획

사이트 모음별로 모니터링되는 기본 할당량을 기반으로 샌드박스 솔루션의 리소스 사용량을 모니터링할 수 있습니다. 샌드박스 솔루션이 리소스 포인트의 누적 총계를 초과하면 해당 사이트 모음의 모든 샌드박스 솔루션이 나머지 기간 동안 해제됩니다. 따라서 관리자는 특정 샌드박스 솔루션이 공유 리소스를 과도하게 요구하는 시간이나 리소스를 많이 사용하는 샌드박스 솔루션이 포함된 사이트 모음의 할당량을 늘려야 하는 경우를 쉽게 파악할 수 있습니다.

리소스 포인트는 샌드박스 솔루션을 실행할 때 전체 사이트 모음에 대해 누적됩니다. 할당량에서 리소스 측정값을 확인하면 포인트당 리소스 수, 즉 단일 리소스 포인트가 누적될 때까지 특정 리소스를 사용할 수 있는 횟수를 확인할 수 있습니다. 리소스 사용량이 ResourcePerPoint 속성에 지정된 한도에 도달하면 사이트 모음에 리소스 포인트가 누적됩니다. 누적 리소스 포인트 수가 사이트 모음의 할당량을 초과하면 사이트 모음의 모든 샌드박스 솔루션이 나머지 기간 동안 해제됩니다.

대부분의 시나리오에서는 기본 리소스 포인트 한도를 사용하면 됩니다. 그러나 필요한 경우에는 한도를 늘릴 수 있도록 개별 리소스 포인트 한도를 조정할 수 있습니다. 개별 리소스 포인트 한도를 조정하는 방법에 대한 자세한 내용은 샌드박스 솔루션에 대한 리소스 포인트 구성(SharePoint Server 2010)을 참조하십시오.

핸드박스 솔루션의 할당량을 계획할 때는 다음 사항을 고려해야 합니다.

  • 리소스 측정 범주에 대해 포인트당 리소스 수를 조정할지 여부

    모든 샌드박스 솔루션에 대해 리소스 한도를 정의할 수 있습니다. 잘못 사용하거나 너무 많이 사용하기 쉬운 특정 리소스를 제한하는 것이 좋은 경우도 있습니다(예: 이미 프로세서에 대한 부담이 큰 서버에서 CPU 사이클 수행). 이 경우 리소스를 많이 사용할 수 있는 샌드박스 솔루션을 제한하도록 리소스 한도를 조정할 수 있습니다. 샌드박스 솔루션 할당량을 통해 모니터링되는 리소스 목록을 확인하여 조정 수행 여부를 결정해야 합니다.

  • 리소스 범주에 대한 절대 한도를 조정할지 여부

    절대 한도는 요청을 중지할 때까지 요청당 리소스 사용량이 도달할 수 있는 최고 또는 최저 한도입니다. 특정 리소스 범주를 너무 많이 사용하여 절대 한도에 도달하면 샌드박스 솔루션이 중지됩니다. 리소스 범주를 평가해 특정 범주의 절대 한도를 더 높거나 낮게 조정해야 하는지 여부를 결정해야 합니다.

개별 리소스 측정값 및 최소 임계값 목록과 각 리소스의 포인트당 리소스를 확인하려면 SharePoint 2010의 샌드박스 솔루션에 대한 리소스 사용 제한(영문일 수 있음)(https://go.microsoft.com/fwlink/?linkid=217149&clcid=0x412)(영문일 수 있음)을 참조하십시오. 특정 리소스 측정값의 포인트당 리소스 및 절대 한도를 구성하는 방법에 대한 자세한 내용은 샌드박스 솔루션에 대한 리소스 포인트 구성(SharePoint Server 2010)을 참조하십시오.

샌드박스 솔루션 서비스 계층 계획

샌드박스 솔루션은 사용하는 평균 리소스 수를 기준으로 하여 샌드박스 솔루션 서비스에서 계층으로 그룹화할 수 있습니다. 샌드박스 솔루션 서비스의 계층에는 샌드박스 솔루션이 실행되는 작업자 프로세스가 하나 이상 포함됩니다. 각 샌드박스 솔루션은 자체 응용 프로그램 도메인에서 실행되며, 응용 프로그램 도메인은 솔루션 호출 시 다시 사용됩니다. 기본적으로 샌드박스 솔루션 서비스에서는 모든 솔루션이 단일 계층에서 실행됩니다. 샌드박스 솔루션 서비스 내에서 추가 계층 및 작업자 프로세스를 구성하여 성능, 보안 및 안정성을 위해 솔루션을 구분할 수 있습니다. 샌드박스 솔루션은 해당 리소스 사용량에 따라 추가 계층으로 자동 구분됩니다. 계층에 대한 자세한 내용은 샌드박스 솔루션 개요(SharePoint Server 2010)샌드박스 계층(영문일 수 있음)(https://go.microsoft.com/fwlink/?linkid=217145&clcid=0x412)(영문일 수 있음)을 참조하십시오.

계층은 필요한 수만큼 구성할 수 있으며 작업자 프로세스, 연결 및 응용 프로그램 도메인도 원하는 수만큼 구성할 수 있습니다. 그러나 계층을 너무 많이 만들면 SharePoint Server 서버 성능이 저하됩니다. 샌드박스 솔루션 서비스 구성을 계획할 때는 다음 사항을 고려해야 합니다.

  • 만들 계층의 수

    여러 계층을 구성하면 우수한 성능의 샌드박스 솔루션과 그렇지 않은 샌드박스 솔루션(자주 충돌하거나 리소스를 많이 사용함)을 분리할 수 있습니다. 별도의 계층에서 샌드박스 솔루션을 실행하면 낮은 성능의 샌드박스 솔루션이 우수한 성능의 샌드박스 솔루션에 주는 영향을 줄일 수 있으며, 그러면 시스템의 안정성과 반응성을 높일 수 있습니다. 그러나 일반적으로는 샌드박스 솔루션을 분리하려는 경우 계층을 2~3개보다 많이 만들어서는 안 됩니다.

  • 각 계층에 대해 설정할 작업자 프로세스의 수

    특정 계층에서 동시에 실행되는 샌드박스 솔루션의 최대 수는 다음 수식을 사용하여 계산할 수 있습니다.

    계층의 작업자 프로세스 수 × 프로세스당 최대 연결= 단일 계층에서 동시에 실행되는 샌드박스 솔루션의 최대 수

    더 많은 작업자 프로세스를 실행하도록 계층을 구성하면 팜에서 더 많은 샌드박스 솔루션을 동시에 실행할 수 있습니다. 작업자 프로세스를 더 추가하면 지정된 서버의 처리량을 특정 지점까지 높일 수 있습니다. 그러나 추가 작업자 프로세스의 오버헤드로 인해 서버의 전체 처리량이 감소할 수 있으므로, 단일 서버의 모든 계층에서 작업자 프로세스 수는 20개 미만으로 구성해야 합니다.

  • 프로세스당 포함할 연결 수

    프로세스당 최대 연결 수는 항상 프로세스당 응용 프로그램 도메인의 수 이하여야 합니다. 두 샌드박스 솔루션을 같은 프로세스에서 동시에 실행 중인데 한 솔루션이 중지되면 나머지 솔루션도 중지됩니다. 프로세스당 최대 연결 수가 클수록 같은 프로세스에서 동시에 실행할 수 있는 샌드박스 솔루션의 수도 많아지므로, 중지되는 샌드박스 솔루션이 실행 중인 다른 요청에 영향을 줄 가능성이 높아집니다. 일반적으로는 ResourceMaxValue 속성 값이 큰 계층(대개 샌드박스 솔루션의 안정성이 떨어짐)에서는 프로세스당 연결 수를 작게 지정하는 것이 좋습니다. 안정적인 샌드박스 솔루션은 ResourceMaxValue 속성 값이 작은 계층에서 실행됩니다. 보통 처리량을 높이려면 프로세스당 연결 수를 높이는데, 이렇게 하면 같은 프로세스에서 중단될 수 있는 다른 샌드박스 솔루션에 의한 영향을 줄일 수 있습니다.

  • 프로세스당 포함할 응용 프로그램 도메인 수

    각 응용 프로그램 도메인에서는 샌드박스 솔루션을 하나만 실행할 수 있습니다. 따라서 응용 프로그램 도메인의 수는 동시에 로드할 수 있는 샌드박스 솔루션의 수와 같습니다. 응용 프로그램 도메인 수는 프로세스당 연결 수 이상으로 구성해야 합니다.

계층을 구성하는 방법에 대한 자세한 내용은 샌드박스 솔루션 서비스 계층 구성(SharePoint Server 2010)을 참조하십시오.

샌드박스 솔루션 관리 방식 계획

계속 샌드박스 솔루션을 계획하는 동안 다음을 비롯한 관리 문제를 다루는 프로세스를 고려해야 합니다.

  • 팜 관리자가 샌드박스 솔루션을 차단 또는 차단 해제하는 시점. 샌드박스 솔루션 차단 및 차단 해제에 대한 관리 정책을 확인하면 혼동이 없어집니다.

  • 어떤 경우에 샌드박스 솔루션을 완전히 신뢰할 수 있는 솔루션으로 글로벌 카탈로그에 이동할 것인가? 이 결정은 조직의 개발자가 개발한 솔루션 코드에 적용됩니다. 샌드박스 솔루션이 조직의 프로덕션 환경에서 사용할 준비가 된 것으로 간주되는 데 필요한 테스트 수준을 결정하는 정책을 정립해야 합니다.

  • 샌드박스 솔루션을 배포할 수 있는 사용자를 계획할 때 사용자를 사이트 모음 관리자 그룹에 추가할 것인지, 아니면 제한된 수의 사이트 모음 관리자가 사용자를 대신하여 샌드박스 솔루션을 배포하는 절차를 설정할지 여부. 조직의 보안 고려 사항에 따라 샌드박스 솔루션을 배포하기 위한 권한을 사용자에게 묻지 않고 사용자를 사이트 모음 관리자 그룹에 직접 추가할 수 있습니다.

See Also

Concepts

샌드박스 솔루션 개요(SharePoint Server 2010)
샌드박스 솔루션 관리(SharePoint Server 2010)

Other Resources

샌드박스 솔루션 리소스 센터(영문일 수 있음)
샌드박스 솔루션 아키텍처(https://go.microsoft.com/fwlink/?linkid=177368&clcid=0x412)(영문일 수 있음)
SharePoint 2010의 샌드박스 솔루션(영문일 수 있음)
SharePoint 2010에서 샌드박스 솔루션 설치, 제거 및 업그레이드(영문일 수 있음)