ASP.NET 호스팅 옵션(VB)ASP.NET Hosting Options (VB)

Scott Mitchellby Scott Mitchell

PDF 다운로드Download PDF

ASP.NET 웹 응용 프로그램은 일반적으로 로컬 개발 환경에서 디자인, 작성 및 테스트를 수행할 준비가 되 면 프로덕션 환경에 배포 해야 합니다.ASP.NET web applications are typically designed, created, and tested in a local development environment and need to be deployed to a production environment once it is ready for release. 이 자습서에서는 배포 프로세스에 대 한 개략적인 개요를 제공 하 고이 자습서 시리즈를 소개 합니다.This tutorial provides a high-level overview of the deployment process and serves as an introduction to this tutorial series.

소개Introduction

웹 응용 프로그램은 일반적으로 사이트에서 작업 하는 프로그래머 에게만 액세스할 수 있는 개발 환경에서 디자인, 작성 및 테스트 됩니다.Web applications are typically designed, created, and tested in a development environment that is accessible only to the programmers working on the site. 응용 프로그램을 릴리스할 준비가 되 면 사이트를 인터넷의 모든 사용자가 액세스할 수 있는 프로덕션 환경으로 이동 합니다.Once the application is ready to be released, it is moved to a production environment where the site can be accessed by anyone on the Internet. 이 배포 프로세스는 다음과 같은 다양 한 문제를 야기 합니다.This deployment process introduces a number of challenges:

  • 프로덕션 환경이 있어야 하 고 ASP.NET 응용 프로그램을 배포 하기 전에 적절히 설정 해야 합니다. 또한 프로덕션 환경은 최신 보안 패치를 사용 하 여 최신 상태로 유지 해야 합니다.A production environment must exist and be properly setup before an ASP.NET application can be deployed; moreover, the production environment must be kept up to date with the latest security patches.
  • 올바른 태그 파일, 코드 파일 및 지원 파일 집합을 개발 환경에서 프로덕션 환경으로 복사 해야 합니다.The correct set of markup files, code files, and support files must be copied from the development environment to the production environment. 데이터 기반 응용 프로그램의 경우 데이터베이스 스키마 및/또는 데이터도 복사 해야 할 수 있습니다.For data-driven applications, this might require copying the database schema and/or data, as well.
  • 두 환경 간의 구성 차이가 있을 수 있습니다.There may be configuration differences between the two environments. 개발 환경에서 사용 되는 데이터베이스 연결 문자열 또는 전자 메일 서버는 프로덕션 환경과 다를 수 있습니다.The database connection string or email server used in the development environment will likely be different than the production environment. 응용 프로그램의 동작은 환경에 따라 달라질 수 있습니다.What's more, the behavior of the application may depend on the environment. 예를 들어 개발 중에 오류가 발생 하는 경우 오류 세부 정보가 화면에 표시 될 수 있지만 프로덕션 환경에서 오류가 발생 하면 사용자에 게 친숙 한 오류 페이지가 표시 되 고 개발자에 게 전자 메일로 전송 되는 오류 정보가 표시 됩니다.For example, when an error occurs in development the error's details can be displayed on screen, but when an error occurs in production, a user-friendly error page should be displayed instead, and the error details emailed to the developers.

프로덕션 환경을 설정 하 고 유지 관리 하는 첫 번째 과제를 필요성 제거. 많은 개인과 기업은 프로덕션 환경을 웹 호스팅 공급자에 게 아웃소싱 합니다.To obviate the first challenge - setting up and maintaining a production environment - many individuals and businesses outsource their production environments to web hosting providers. 웹 호스팅 공급자는 사용자를 대신 하 여 프로덕션 환경을 관리 하는 회사입니다.A web hosting provider is a company that manages the production environment on your behalf. 다양 한 가격 및 서비스 수준이 있는 수많은 웹 호스트 공급자가 있습니다. 이러한 서비스 공급자를 찾는 방법에 대 한 팁은 "웹 호스트 공급자 찾기" 섹션을 참조 하세요.There are countless web host providers, each with varying prices and service levels; see the "Finding a Web Host Provider" section for tips on locating such a service provider.

웹 호스트 공급자가 관리 하는 프로덕션 환경에 ASP.NET 웹 응용 프로그램을 배포 하는 것과 관련 된 단계를 살펴보는 일련의 자습서 중 첫 번째입니다.This is the first in a series of tutorials that look at the steps involved in deploying an ASP.NET web application to a production environment managed by a web host provider. 이러한 자습서를 진행 하면서 다음을 살펴보겠습니다.Over the course of these tutorials we will examine:

  • 웹 호스트 공급자에 배포 해야 하는 파일입니다.What files need to be deployed to the web host provider.
  • 배포 프로세스를 간소화 하기 위한 도구입니다.Tools for streamlining the deployment process.
  • 데이터베이스를 배포 하는 방법How to deploy a database.
  • 프로덕션 환경에서 웹 사이트 관리 도구를 모방 하는 방법과 함께 SQL 기반 멤버 자격 및 역할 공급자를 사용 하는 데이터베이스를 배포 하기 위한 팁입니다.Tips for deploying a database that uses the SQL-based Membership and Roles provider, along with ways to mimic the Website Administration Tool in a production environment.
  • 개발 중에 변경 된 사항을 사용 하 여 프로덕션 환경에서 데이터베이스를 원활 하 게 업데이트 하기 위한 전략입니다.Strategies for smoothly updating the database in production with changes made during development.
  • 프로덕션에서 발생 하는 오류를 기록 하는 기술 및 오류가 발생할 때 개발자에 게 알리는 방법Techniques for logging errors that occur on production, and ways to notify developers when an error occurs.

이러한 자습서는 간결 하 게 만들어 프로세스를 시각적으로 안내 하는 다양 한 스크린 샷를 사용 하는 단계별 지침을 제공 합니다.These tutorials are geared to be concise and to provide step-by-step instructions with plenty of screen shots to walk you through the process visually. 이 개최 자습서에서는 ASP.NET 배포 프로세스에 대 한 개요와 웹 호스팅 공급자를 찾는 방법에 대해 설명 합니다.This inaugural tutorial provides an overview of the ASP.NET deployment process and advice on finding a web hosting provider. 이제 시작하겠습니다.Let's get started!

ASP.NET 배포 프로세스 개요An Overview of the ASP.NET Deployment Process

간단히 말해서 ASP.NET 응용 프로그램 배포에는 다음 세 단계가 포함 됩니다.In a nutshell, deploying an ASP.NET application involves the following three steps:

  1. 프로덕션 환경에서 웹 응용 프로그램, 웹 서버 및 데이터베이스를 구성 합니다.Configure the web application, web server, and database in the production environment.
  2. ASP.NET 페이지, 코드 파일, Bin 폴더의 어셈블리 및 CSS 및 JavaScript 파일과 같은 HTML 관련 지원 파일을 동기화 합니다.Synchronize the ASP.NET pages, code files, the assemblies in the Bin folder, and HTML-related support files like CSS and JavaScript files.
  3. 데이터베이스 스키마 및/또는 데이터를 동기화 합니다.Synchronize the database schema and/or data.

웹 응용 프로그램에 대 한 구성 정보는 일반적으로 Web.config 파일에 있으며, 데이터베이스 연결 문자열, 오류 처리 조건, URL 재작성 규칙 및 전자 메일 서버 정보를 포함 합니다.The configuration information for a web application is typically located in the Web.config file, and includes database connection strings, error handling criteria, URL rewriting rules, and email server information. 이러한 정보는 개발 중인 응용 프로그램과 프로덕션 환경에 있는 동일한 응용 프로그램에 대해 다를 수 있습니다.Oftentimes this information is different for an application in development versus the same application in production. 예를 들어 응용 프로그램을 개발할 때 프로덕션 데이터베이스에 대해 테스트 하지 않도록 개발 데이터베이스를 사용 하는 것이 가장 좋습니다.For instance, when developing an application it's best to use a development database so that you're not testing against the production database. 따라서 일반적으로 데이터베이스 연결 문자열은 개발과 프로덕션 응용 프로그램 마다 다릅니다.As a result, the database connection strings typically differ between development and production applications. 이러한 차이로 인해 배포 중 일부에는 웹 응용 프로그램의 구성 정보를 변경 하는 작업이 포함 됩니다.Due to these differences, part of deployment involves making changes to the web application's configuration information.

웹 응용 프로그램 구성 변경 외에도 1 단계에서는 웹 서버와 데이터베이스에 대 한 구성이 필요할 수 있습니다.In addition to web application configuration changes, Step 1 also may entail configuration for the web server and database. 예를 들어 ASP.NET 페이지가 웹 서버의 디렉터리에서 파일을 만들거나 삭제 하는 경우 이러한 파일 시스템 수정을 허용 하도록 웹 서버를 구성 해야 합니다.For example, if an ASP.NET page creates or deletes files from a directory on the web server then the web server needs to be configured to permit these file system modifications. 마찬가지로 데이터베이스에 적용 해야 하는 사용 권한 또는 인증 설정이 있을 수 있습니다.Similarly, there may be permission or authentication settings that need to be made to the database.

2 단계에서는 개발 환경과 프로덕션 환경 간에 필수 ASP.NET 페이지 및 지원 파일 집합을 동기화 해야 합니다.Step 2 involves synchronizing the set of essential ASP.NET pages and support files between the development and production environments. 두 환경 간에 동기화 해야 하는 ASP.NET 관련 파일의 특정 집합은 Visual Studio에서 만든 프로젝트의 형식에 따라 다르며 다음 자습서에서 배포 해야 하는 파일을 결정하는 방법에 대 한 설명입니다.The particular set of ASP.NET-related files that need to be synchronized between the two environments depends on the type of project you created in Visual Studio, and is the discussion in the next tutorial, Determining What Files Need to Be Deployed. 세 번째와 네 번째 자습서- FTP를 사용 하 여 사이트 배포Visual Studio를 사용 하 여 사이트 배포 -이러한 파일을 동기화 하기 위한 다양 한 도구 및 기술을 살펴봅니다.The third and fourth tutorials - Deploying Your Site Using FTPand Deploying Your Site Using Visual Studio - examine different tools and techniques for syncing these files.

데이터 기반 응용 프로그램을 빌드할 때 일반적으로 두 개의 데이터베이스를 사용 합니다. 하나는 개발과 프로덕션에 하나씩 있습니다.When building data-driven applications there are typically two databases being used: one for development and one on production. 개발 중에 개발 데이터베이스의 스키마를 수정 하 여 새 테이블, 열, 저장 프로시저 및 트리거를 포함 하거나 기존 데이터베이스 개체를 제거 하거나 이름을 바꿀 수 있습니다.During development, the development database's schema may be modified to include new tables, columns, stored procedures, and triggers, or may be modified to remove or rename existing database objects. 이러한 변경이 수행 되는 시간과 응용 프로그램이 프로덕션에 배포 되는 시간 사이에 개발 및 프로덕션 데이터베이스는 동기화 되지 않습니다. 이 비동기는 배포 프로세스 중에 수정 해야 합니다.Between the time that these changes are made and the time the application is deployed to production, the development and production databases are out of sync. This asynchrony needs to be fixed during the deployment process. 이러한 문제는 이후 자습서에서 살펴볼 것입니다.These challenges will be examined in future tutorials.

웹 호스트 공급자 찾기Finding a Web Host Provider

ASP.NET 응용 프로그램은 .NET Framework 및 인터넷 정보 서비스 (IIS)가 설치 되어 있는 모든 웹 서버에 배포할 수 있습니다.ASP.NET applications can be deployed to any web server that has the .NET Framework and Internet Information Services (IIS) installed. 인터넷에 대 한 광대역 연결이 있고 들어오는 웹 요청을 허용 하도록 라우터를 구성 하는 방법을 알고 있는 경우 개인 컴퓨터에서 사이트를 호스트할 수 있습니다.You could host a site from your personal computer, assuming you had a broadband connection to the Internet and the know how to configure your router to allow incoming web requests. 회사에 따라 인트라넷에 있는 컴퓨터에서 사이트를 호스트할 수도 있습니다.You could also host a site from a computer in an intranet, as many companies do. 그러나 이러한 자습서에서는 웹 호스트 공급자를 사용 하 여 웹 사이트를 호스트 하는 방법을 중점적으로 다룹니다.The focus of these tutorials, however, is hosting your website with a web host provider.

Note

IIS 는 Microsoft의 엔터프라이즈급 웹 서버입니다.IIS is Microsoft's enterprise-grade web server. Windows Server 2008 및 특정 버전의 windows Vista와 같은 비 홈 버전의 Windows와 함께 제공 됩니다.It ships with the non-Home editions of Windows, such as Windows Server 2008 and certain editions of Windows Vista. Visual Studio에는 ASP.NET Development 웹 서버가 포함 되어 있으므로 개발 환경에서 ASP.NET 응용 프로그램을 제공 하기 위해 IIS를 설치할 필요가 없습니다.You do not need to install IIS to serve ASP.NET applications in a development environment, as Visual Studio includes the ASP.NET Development Web Server. 그러나 ASP.NET Development 웹 서버는 로컬 연결만 허용 하므로 프로덕션 환경에서 사용할 수 없습니다.However, the ASP.NET Development Web Server only accepts local connections and therefore cannot be used in a production environment.

웹 호스트 공급자에 사이트를 배포 하려면 먼저를 사용 하 여 비즈니스를 수행할 회사를 결정 해야 합니다.Before you can deploy your site to a web host provider you must first decide what company to do business with. Marketplace에는 수많은 웹 호스팅 회사가 있습니다. "웹 호스팅 회사"를 검색 하면 500만 개 이상의 결과가 반환 됩니다.There are countless web hosting companies in the marketplace; a search for "web hosting company" returns more than five million results. 사용자에 게 적합 한 항목을 찾으려면 어떻게 해야 하나요?How do you find the one that's right for you? 자주 사용 하는 검색 엔진은 다양 한 호스팅 서비스를 비교 하 고 대조 하는 TophostsHostCritique와 같은 웹 사이트와 마찬가지로 좋은 출발점이 됩니다.Your favorite search engine is a good starting place, as are websites like TopHosts and HostCritique, which compare and contrast various hosting services. 동료와 동료에 게 권장 사항을 요청 하는 것도 좋습니다. ASP.NET 포럼호스팅 오픈 포럼 에서 권장 사항을 요청할 수도 있습니다.I also advise asking your colleagues and coworkers for any recommendations; you can also ask for recommendations at the Hosting Open Forum here at the ASP.NET Forums.

웹 호스팅 회사는 일반적으로 공유 호스팅 계획과 전용 호스팅 계획을 제공 합니다.Web hosting companies typically offer shared hosting plans and dedicated hosting plans. 공유를 호스팅하는 단일 웹 서버는 수백 개의 다른 웹 사이트를 호스트 하는 경우 수십 개를 호스트 합니다.With shared hosting a single web server hosts dozens if not hundreds of different websites. 전용 호스트를 사용 하 여 사이트와 사이트를 단독으로 제공 하는 회사의 컴퓨터를 임대 합니다.With dedicated hosting you lease a computer from the company that serves your site and your site alone. 공유 호스팅 계획에는 ASP.NET 페이지에 대 한 지원, Microsoft Access 데이터베이스를 사용 하는 기능, 5gb의 디스크 공간 및 $9.95에 대 한 100 GB의 월 대역폭 트래픽이 포함 될 수 있습니다.A shared hosting plan might include support for ASP.NET pages, the ability to work with Microsoft Access databases, 5 GB of disk space, and 100 GB of monthly bandwidth traffic for $9.95 per month. 또 다른 공유 호스팅 계획에는 ASP.NET 페이지에 대 한 지원, Microsoft SQL Server 2008 데이터베이스 서버에 대 한 액세스, 10gb의 디스크 공간 및 $19.95에 대 한 250 GB의 월 대역폭 트래픽이 포함 될 수 있습니다.Another shared hosting plan might include support for ASP.NET pages, access to the Microsoft SQL Server 2008 database server, 10 GB of disk space and 250 GB of monthly bandwidth traffic for $19.95 per month. 전용 호스팅 계획은 일반적으로 매월 수백 달러의 비용을 절감 하지만 공유 호스팅 옵션 보다 더 나은 성능과 제어를 제공 합니다.Dedicated hosting plans are usually much more expensive, costing several hundred dollars per month, but offer better performance and more control than shared hosting options. 선택 하는 계획은 예산, 웹 사이트에서 받는 트래픽 양 및 필요한 기능에 따라 달라 집니다.What plan you choose depends on your budget, how much traffic your website receives, and the features you anticipate you'll need.

웹 호스트 공급자를 선택할 때 중요 한 두 가지 고려 사항은 고객 서비스 및 서비스 품질입니다.Two important considerations when choosing a web host provider are customer service and quality of service. 질문이 나 구성 문제가 있는 경우 응답을 받을 때까지 웹 호스트의 기술 지원팀에 문제를 제출 하는 데 얼마나 걸립니까?If you have a question or a configuration problem, how long does it take from submitting your problem to the web host's helpdesk until you get a response? 회사 서비스의 안정성How reliable are the company's services? 데이터베이스 중단이 자주 발생 하나요?Do they frequently have database outages? 전자 메일 서버를 오프 라인으로 전환 하는 빈도How often does their email server go offline? 언제 든 지 회사에 고객 서비스 정책에 대 한 작동 시간 및 조회에 대 한 세부 정보를 제공 하도록 요청할 수 있지만, 더 surefire 온라인 포럼, 뉴스 그룹 및 전자 메일을 통해 수행할 수 있는 현재 및 과거 고객의 피드백을 요청 하는 것입니다. .You can always ask a company to provide details about their uptime and inquire about their customer service policy, but a more surefire way is to solicit the feedback of current and past customers, which you can do through online forums, newsgroups, and email listservs.

Note

일부 웹 호스팅 회사는 .NET 또는 램프 (pache , M ysql 및 P HP)와 같은 특정 기술 스택에 비즈니스를 집중 하므로 선택한 회사에서 ASP.NET 응용 프로그램을 호스트 하는지 확인 합니다.Some web hosting companies focus their business on a particular technology stack, such as .NET or LAMP (L inux, A pache, M ySQL, and P HP), so make sure that the company you select hosts ASP.NET applications. 또한 응용 프로그램을 빌드하는 데 사용 하는 ASP.NET 버전을 지원 하는지 확인 합니다.Also check to ensure that they support the version of ASP.NET you are using to build your application. 데이터 기반 응용 프로그램을 빌드하는 경우 웹 호스트에서 사용 중인 것과 동일한 데이터베이스 서버 및 버전을 제공 하는지 확인 합니다.And if you are building a data-driven application, make sure that the web host offers the same database server and version that you are using.

요약Summary

ASP.NET 웹 응용 프로그램은 일반적으로 로컬 개발 환경에서 디자인, 생성 및 테스트 됩니다.ASP.NET web applications are typically designed, created, and tested in a local development environment. 버전을 릴리스할 준비가 되 면 프로덕션 환경으로 이동 됩니다.Once a version is ready for release, it is moved to a production environment. 개인용 컴퓨터 또는 회사 내의 서버에서 ASP.NET 웹 사이트를 호스트할 수 있지만 많은 기업과 개인이 웹 호스트 공급자에 게 호스팅을 아웃소싱 하도록 선택 합니다.While it is possible to host ASP.NET websites on your personal computer or on servers within your company, many businesses and individuals choose to outsource their hosting to a web host provider.

이 자습서 시리즈는 웹 호스트 공급자에 ASP.NET 응용 프로그램을 배포 하는 단계를 살펴보고 일반적인 문제를 살펴봅니다.This tutorial series examines the steps for deploying an ASP.NET application to a web host provider, exploring common challenges. 이 자습서에서는 ASP.NET 배포 프로세스에 대 한 개략적인 개요를 제공 하 고 적절 한 웹 호스트 공급자를 찾기 위한 팁을 제공 했습니다.This tutorial offered a high-level overview of the ASP.NET deployment process and gave tips for finding a suitable web host provider. 다음 자습서에서는 웹 사이트를 배포할 때 프로덕션 환경에 복사 해야 하는 ASP.NET 관련 파일을 살펴봅니다.The next tutorial looks at what ASP.NET-related files need to be copied to the production environment when deploying your website.

행복 한 프로그래밍Happy Programming!

특별 해 주셔서 감사 합니다.Special Thanks To...

이 자습서 시리즈는 많은 유용한 검토자가 검토 했습니다.This tutorial series was reviewed by many helpful reviewers. 이 자습서의 리드 검토자는 Teresa Murphy입니다.Lead reviewer for this tutorial was Teresa Murphy. 예정 된 MSDN 문서를 검토 하는 데 관심이 있나요?Interested in reviewing my upcoming MSDN articles? 그렇다면 mitchell@4GuysFromRolla.com에서 줄을 삭제 합니다.If so, drop me a line at mitchell@4GuysFromRolla.com.