IIS 7 에서 Appcmd.exe 커맨드라인 명령을 통해 IIS 7 설정 파일을 백업할 수 있지만 포함된 사이트에 대한 Web.config 파일이나 해당 사이트의 콘텐츠에 대해서는 백업을 받지 못해 조금 아쉽다는 생각이 듭니다. 하지만 방법이 없는 것이 아닙니다. 웹 배포 도구(Web Deployment Tool)는 웹 서버에서 마이그레이션, 배포, 동기화 등으로 주로 사용됩니다만 쉬운 패키지 기능을 활용하여 백업과 복원 용도로 사용해 볼 수도 있습니다. 이번 포스팅에서는 웹 배포 도구(Web Deployment Tool) 2.0 을 사용하여 IIS 7 웹 서버 정보와 콘텐츠를 패키징 하여 내보내기/가져오기 하는 방법을 소개해 드립니다.
1. 웹 배포 도구(Web Deployment Tool) 개요
가. 웹 배포 도구는 IIS 웹 서버, 웹 응용 프로그램 및 웹 사이트의 마이그레이션, 관리, 배포를 간편하게 할 수 있도록 지원하는 확장 기능으로 인터넷 정보 서비스 관리자에서 사용할 수 있는 GUI 환경 그리고 커맨드라인 명령 도구를 모두 지원합니다. 주요 기능은 아래와 같습니다.
출처 : 웹 배포 도구(x64) - http://www.microsoft.com/downloads/ko-kr/details.aspx?FamilyID=c7ca4240-5427-42ba-bd46-29a755549e37
IIS 6.0 및 IIS 7.0 간에 쉽게 웹 응용 프로그램 마이그레이션
마이그레이션 프로세스를 시작하기 전에 비호환성을 확인하고 제안된 변경을 미리 보는 방법으로 IIS 6.0에서 IIS 7.0으로의 마이그레이션에 대한 계획을 단순화합니다.미리 잠재적인 문제에 대해 파악하는 것은 잘못된 것을 미리 수정할 수 있으며,마이그레이션을 단순화할 수 있습니다.
효율적으로 서버 팜 동기화
웹 배포 도구를 사용하면 원본 및 대상 콘텐츠 간의 차이를 검색하고 동기화가 필요한 이러한 변경 내용만 전송하여 IIS 7.0 서버 팜 전반에서 사이트, 응용 프로그램 또는 서버를 효율적으로 동기화할 수 있습니다.이 도구는 특정 사이트에 대해 동기화할 구성, 콘텐츠, 데이터베이스 및 인증서를 자동으로 확인하여 동기화 프로세스를 단순화합니다.기본 동작 외에도 COM, GAC, 레지스트리 설정 등, 동기화에 대한 추가 공급자를 지정하는 옵션이 있습니다.
더욱 쉽게 웹 응용 프로그램 패키징, 보관 및 배포
웹 배포 도구를 사용하면 SQL 데이터베이스 등의 설치된 웹 응용 프로그램의 구성 및 콘텐츠를 패키징하고 이 패키지를 저장하거나 다시 배포하는 데 사용할 수 있습니다.관리 권한이 없어도 IIS 관리자를 사용하여 이 패키지를 배포할 수 있습니다.또한 웹 배포 도구는 Visual Studio 2010과 통합되어 개발자가 웹 응용 프로그램을 웹 서버에 배포하는 작업을 간소화할 수 있도록 도와줍니다.
2. Web Deployment Tool 2.0 설치
가. 다운로드 및 설치
64-bit version: http://download.microsoft.com/download/8/9/B/89B754A5-56F7-45BD-B074-8974FD2039AF/WebDeploy_amd64_en-US.msi
32-bit version: http://download.microsoft.com/download/8/9/B/89B754A5-56F7-45BD-B074-8974FD2039AF/WebDeploy_x86_en-US.msi
또는 http://download.microsoft.com 또는 http://www.iis.net/download/webdeploy 또는 웹 플랫폼 설치 관리자를 통해서도 다운로드 및 설치하실 수 있습니다. 별다른 설정 없이 기본 설정 대로 설치하시면 됩니다.
3. 패키지 내보내기
웹 배포 도구를 설치하면 아래와 같이 '배포' 메뉴에 생성됩니다. 현재 IIS 7 웹 서버에 구성된 전체 설정과 콘텐츠를 내보내기 한 뒤 가져오는 절차입니다.
가. 배포 - 서버 패키지 내보내기
나. 패키지 콘텐츠 선택 및 고급 설정
다. 고급 설정에 포함된 ACL(Access Control List) 설정을 True 로 변경할 경우 웹 사이트 콘텐츠에 포함된 폴더 및 파일들의 ACL 권한 정보를 포함하여 패키징하게 됩니다. 기본값은 False 로 ACL 정보를 포함하지 않습니다. 현재 설정과 동일한 ACL 권한을 유지하기 위해서는 True 로 변경하시면 됩니다.
라. 매개 변수 추가
서로 다른 설정으로 여러 서버에 패키지를 배포할 때, 매개 변수 추가 옵션을 사용하게 되며, 패키지 내 parameters.xml 파일로 정보가 저장됩니다. 배포 대상 서버의 설정에 맞게 해당 파일을 수정하면 되며 추후 패키지를 가져오기 할 때, 대화형으로 해당 매개 변수 값을 지정할 수 있습니다.
마. 기본값으로 ZIP 확장자로 패키지를 저장합니다.
바. 패키지 내보내기 세부 정보 및 요약 결과
4. 패키지 가져오기
IIS 정보 서비스 관리자에서 Default Web Site, XE 2개의 사이트를 삭제하고 XE 사이트의 실제 경로인 C:\XE 폴더를 모두 삭제한 뒤 패키지를 가져와서 복원해 보도록 합니다.
가. 사이트가 모두 삭제된 상태에서 ;서버 또는 사이트 패키지 가져오기' 메뉴를 클릭합니다.
나. 패키지 선택
다. 가져올 콘텐츠 선택 (모두)
라. 현재 IIS 7 구성 정보와 패키지 데이터 간 차이점이 있는 콘텐츠 정보를 모두 덮어씁니다.
마. 변경 사항이 없는 Default Web Site 의 콘텐츠 폴더와 파일을 제외하고 이 외 XE 폴더와 콘텐츠, 그리고 IIS 7 구성정보 파일에 대한 정보를 패키지 자료로부터 가져와서 업데이트 되었습니다.
바. 삭제했던 사이트와 XE 실제 경로 C:\XE 폴더의 콘텐츠가 모두 복원되었습니다.
처음에도 소개 드렸듯이 웹 배포 도구의 주요 기능은 마이그레이션, 동기화, 배포 등의 용도로 사용하게 됩니다만 이렇게 백업과 복원의 용도로도 사용할 수 있기에 이번 포스팅을 통해 소개 드렸습니다. 지금까지 소개 드린 여러 가지 방법으로 데이터를 안전하게 백업하실 수 있습니다. 적절한 백업 정책을 계획하여 소중한 데이터를 안전하게 백업하시기 바랍니다.
작성자 : Lai Go / 작성일자 : 2010.01.18