시나리오: 웹 배포용 스테이징 환경 구성Scenario: Configuring a Staging Environment for Web Deployment

Jason Leeby Jason Lee

PDF 다운로드Download PDF

이 항목에서는 스테이징 환경의 일반적인 웹 배포 시나리오에 대해 설명 하 고 유사한 환경을 설정 하기 위해 완료 해야 하는 작업에 대해 설명 합니다.This topic describes a typical web deployment scenario for a staging environment and explains the tasks you need to complete in order to set up a similar environment.

많은 조직에서 스테이징 환경을 사용 하 여 웹 응용 프로그램 또는 웹 사이트에 대 한 업데이트를 미리 봅니다.Lots of organizations use staging environments to preview updates to web applications or websites. 이를 통해 조직 내의 사람들은 사이트가 "라이브" 상태가 되기 전에 새 기능이 나 콘텐츠를 탐색 하 고 검토할 수 있으며, 그렇지 않은 경우에는 프로덕션 환경에 배포 됩니다.This gives people within the organization a chance to explore and review new functionality or content before the site "goes live," or in other words is deployed to a production environment. 스테이징 환경은 현실적인 미리 보기를 제공 하기 위해 프로덕션 환경을 최대한 긴밀 하 게 복제 하도록 설계 되었습니다.The staging environment is designed to replicate the production environment as closely as possible, in order to provide a realistic preview. 이러한 종류의 스테이징 환경에는 일반적으로 다음과 같은 특징이 있습니다.This kind of staging environment typically has these characteristics:

  • 이 환경은 주로 장애 조치 (failover) 클러스터링 및 데이터베이스 미러링을 사용 하는 부하 분산 된 여러 웹 서버와 하나 이상의 데이터베이스 서버로 구성 됩니다.The environment consists of multiple load-balanced web servers and one or more database servers, often with failover clustering and database mirroring.
  • 응용 프로그램은 개발 팀에서 수동으로 배포 하거나 팀 빌드 서버에 의해 자동으로 배포 될 수 있습니다.Applications may be deployed manually by a development team or automatically by a Team Build server.
  • 응용 프로그램을 배포 하는 사용자 또는 프로세스 계정은 스테이징 서버에 대 한 관리자 권한이 없을 가능성이 높습니다.The users or process accounts that deploy applications are unlikely to have administrator privileges on the staging servers.
  • 응용 프로그램에 대 한 변경 내용은 자주 배포 되므로 환경에서 단일 단계 또는 자동화 된 배포를 지원 해야 합니다.Changes to applications are deployed on a frequent basis, so the environment needs to support single-step or automated deployment.

Note

여러 서버에 걸쳐 데이터베이스 배포를 확장 하는 것은이 자습서의 범위를 벗어나는 것입니다.Scaling out a database deployment across multiple servers is beyond the scope of this tutorial. 이 영역에 대 한 자세한 내용은 SQL Server 온라인 설명서를 참조 하세요.For more information on this area, please consult SQL Server Books Online.

예를 들어이 자습서 시나리오에서 TFS (Team Foundation Server)는 Contact Manager 솔루션을 관리 합니다.For example, in our tutorial scenario, Team Foundation Server (TFS) manages the Contact Manager solution. TFS 관리자 인 Rob Walters는 개발자가 필요에 따라 스테이징 환경에 대 한 배포를 트리거할 수 있는 빌드 정의를 만들었습니다.The TFS administrator, Rob Walters, has created a build definition that lets developers trigger a deployment to the staging environment as required.

대부분의 경우 최신 빌드를 스테이징 환경에 배포할 필요는 없습니다.Note that in most cases, you won't necessarily want to deploy the latest build to the staging environment. 대신 테스트 환경에서 이미 유효성을 검사 하 고 확인 한 특정 빌드를 배포 하려는 경우가 많습니다.Instead, you're a lot more likely to want to deploy a specific build that has already undergone validation and verification in the test environment.

솔루션 개요Solution Overview

이 시나리오에서는 다음과 같은 배포 요구 사항 분석에서 이러한 팩트를 추론할 수 있습니다.In this scenario, you can deduce these facts from an analysis of the deployment requirements:

  • 배포를 수행 하는 사용자 또는 프로세스 계정에는 스테이징 서버에 대 한 관리자 권한이 없으므로 스테이징 웹 서버에서 비관리자 배포를 지원 해야 합니다.The user or process account that performs the deployment won't have administrator privileges on the staging servers, so the staging web servers must support non-administrator deployment. 따라서 원격 에이전트가 아닌 웹 배포 처리기를 사용 하도록 스테이징 웹 서버를 구성 해야 합니다.As such, you'll need to configure the staging web servers to use the Web Deploy Handler rather than the remote agent.
  • 스테이징 환경에는 여러 웹 서버가 포함 되어 있지만 단일 클릭 또는 자동 배포를 지원 해야 하므로 WFF (웹 팜 프레임 워크)를 사용 하 여 서버 팜을 만들어야 합니다.The staging environment includes multiple web servers, but it needs to support one-click or automated deployment, so you'll need to use the Web Farm Framework (WFF) to create a server farm. 이 방법을 사용 하 여 응용 프로그램을 하나의 웹 서버 (주 서버)에 배포할 수 있으며, WFF는 스테이징 환경의 다른 모든 웹 서버에서 배포를 복제 합니다.Using this approach, you can deploy an application to one web server (the primary server), and WFF will replicate the deployment on all the other web servers in the staging environment.
  • 배포를 수행 하는 사용자 또는 프로세스 계정에는 데이터베이스를 만들 수 있는 권한이 있어야 합니다.The user or process account that performs the deployment must have permissions to create databases. 따라서 원격 액세스 및 배포를 지원 하도록 데이터베이스 서버를 구성 하는 것 외에도, 데이터베이스 서버의 dbcreator 서버 역할에 계정을 추가 해야 합니다.As such, you'll need to add the account to the dbcreator server role on the database server, in addition to configuring the database server to support remote access and deployment.

이러한 작업을 완료 하기 위해 필요한 모든 정보를 제공 하는 항목입니다.These topics provide all the information you need in order to complete these tasks:

추가 참고 자료Further Reading

일반적인 개발자 테스트 환경을 구성 하는 방법에 대 한 지침은 시나리오: 웹 배포용 테스트 환경 구성을 참조 하세요.For guidance on configuring a typical developer test environment, see Scenario: Configuring a Test Environment for Web Deployment. 일반적인 프로덕션 환경을 구성 하는 방법에 대 한 지침은 시나리오: 웹 배포용 프로덕션 환경 구성을 참조 하세요.For guidance on configuring a typical production environment, see Scenario: Configuring a Production Environment for Web Deployment.