

목차
- 이관 개요 및 환경 정리
- 사전 준비 (백업/점검)
- IIS 설정 백업 방법
- 웹사이트 파일/데이터베이스 이전
- IIS 설정 복원 및 재구성 (2012)
- 테스트 및 마이그레이션 체크리스트
- FAQ & 문제 해결 팁
1. 이관 개요 및 환경 정리
- 이관 전 서버: Windows Server 2008 R2 Enterprise (IIS 7.5)
- 이관 후 서버: Windows Server 2012 Standard (IIS 8.0)
- 목적: 특정 사이트만 이전 (전체가 아님)
- 주요 서비스: ASP/ASP.NET 웹사이트, MSSQL 연동, FTP 등
2. 사전 준비 (백업/점검)
체크리스트
- 웹사이트 파일 백업 (웹 루트 폴더 전체)
- IIS 설정 백업 (ApplicationHost.config/메타베이스 등)
- DB 백업 (필요 시 .bak, 또는 DUMP)
- SSL 인증서 백업 (필요시)
- 방화벽/포트 확인 (HTTP/HTTPS, FTP 등)
- 서버 IP/도메인 정보 메모
- Windows Update (신규 서버에 최신 보안 패치 적용)
상세 설명
- 백업은 두 번! (실제 복사, 그리고 자동화 스크립트/도구)
- 운영 중인 사이트라면 이관 시점을 사전에 정해두는 것이 안전
3. IIS 설정 백업 방법
3-1. ApplicationHost.config 내보내기
(IIS 7.0 이상은 메타베이스 대신 ApplicationHost.config 기반임)
# PowerShell을 '관리자 권한'으로 실행
cd "C:\Windows\System32\inetsrv"
appcmd add backup myBackup
결과물: C:\Windows\System32\inetsrv\backup\myBackup\
3-2. 사이트별 구성 내보내기 (특정 사이트만)
사이트명 확인:
appcmd list site
특정 사이트만 내보내려면:
appcmd list site "사이트명" /config /xml > D:\Backup\site_config.xml
3-3. 웹사이트 파일 백업
- 일반적으로 C:\inetpub\wwwroot\ 또는 커스텀 경로
- 해당 사이트 루트 전체 복사:
robocopy "C:\inetpub\wwwroot\YourSite" "D:\Backup\YourSite" /E
- FTP 등 별도 서비스 폴더도 동일하게
3-4. SSL 인증서 백업
- 인증서 MMC에서 내보내기(개인키 포함, .pfx)
- IIS 관리 콘솔 → 서버 인증서 → 내보내기
4. 웹사이트 파일/데이터베이스 이전
- 백업해둔 웹사이트 폴더를 신규 서버로 복사
- DB는 .bak 파일로 복원하거나, Export/Import
- SSL 인증서는 MMC로 Import
5. IIS 설정 복원 및 재구성 (2012)
5-1. IIS 역할 및 필요 컴포넌트 설치
- IIS 설치 (서버 관리자 → 역할 및 기능 추가)
- ASP/ASP.NET, CGI 등 필요한 구성요소 추가
- 32비트 지원(필요시), ISAPI, Windows 인증 등 옵션 확인
5-2. 사이트 Import
(전체 백업/복원이 아니라면 수동 등록 추천)
A. ApplicationHost.config 복원
- 전체 환경 복원 필요시:
appcmd restore backup myBackup
- 주의: 전체 복원은 기존 설정을 덮어씌우니 신규 서버에서 조심히 테스트할 것!
B. 사이트 개별 등록
- IIS 관리자에서 ‘사이트 추가’
- 포트/호스트헤더/인증/애플리케이션 풀 등 원본과 동일하게 구성
- site_config.xml 직접 Import는 지원 안 하므로, GUI에서 수동 입력이 일반적
- Application Pool은 .NET 버전/모드(Integrated/Classic), 32비트 지원 여부 확인
C. SSL 인증서 설치
- 인증서 MMC → 인증서 가져오기
- IIS 관리 콘솔에서 바인딩에 인증서 연결
D. hosts 파일 등 도메인 매핑(테스트 목적)
6. 테스트 및 마이그레이션 체크리스트
- 사이트 정상 동작 여부 (HTTP/HTTPS)
- DB 연결 및 쿼리 정상 작동
- 파일 업로드/다운로드, 세션, 쿠키 등 정상 여부
- 이벤트 로그 오류 여부 확인 (이벤트 뷰어)
- 외부 접근성 (방화벽, 포트)
- 관리자 페이지/FTP 등 부가 서비스 정상여부
- 백업/복원 시 권한 문제(권한 상속/계정) 체크
7. FAQ & 문제 해결 팁
Q1. 백업한 appcmd 설정이 바로 Import가 안될 때?
→ 2008R2와 2012는 구조상 거의 동일하지만, 일부 컴포넌트/경로 차이로 인해 직접 GUI에서 재등록이 더 안전
Q2. 인증서 내보내기 오류
→ 인증서 MMC에서 ‘개인키 포함’ 옵션 반드시 체크
Q3. 권한 오류
→ 웹 루트 폴더는 IIS_IUSRS, NETWORK SERVICE에 읽기/쓰기 권한 필요
Q4. 바인딩 충돌
→ 기존과 동일한 포트 사용시 중복에 유의 (특히 80, 443)
Q5. 전체 구성 백업과 사이트별 구성 내보내기 차이
→ 전체 백업/롤백용, 사이트별 내보내기는 부분 이관/문서화용
| 백업 범위 | IIS 전체 | 지정한 사이트(1개) |
| 용도 | 전체 환경 복구/마이그레이션 | 특정 사이트만 복구/이관 |
| 복원 방법 | appcmd restore backup | 수동 생성 참고자료 |
| 실제 파일 | 시스템 폴더에 저장 | 원하는 경로에 XML로 저장 |
| 일반적 활용 | 서버 전체 백업/롤백 | 일부 사이트 백업/이관 |
참고자료 Ref.
https://learn.microsoft.com/ko-kr/iis/
IIS 설명서
IIS에 대해 알아봅니다.
learn.microsoft.com
Getting Started with AppCmd.exe
AppCmd.exe is the single command line tool for managing IIS 7 and above. It exposes all key server management functionality through a set of intuitive manage...
learn.microsoft.com
실무에서 가장 많이 발생하는 이슈는 권한/경로 문제, SSL 인증서 이슈와 서버간 Application Pool 호환성이니 반드시 체크리스트 기반으로 차근차근 진행하는 게 안전하다 😓
'Develop > DevOps' 카테고리의 다른 글
| [nssm] 윈도우(window)에서 JAR 파일 서비스로 등록하기 🤡🍯🐝 (12) | 2025.04.24 |
|---|---|
| newman 을 이용하여 node 서버 부하 테스트 및 pm2 클러스트 모드 사용 / 커넥션 풀 사용하여 부하 예방하기 🐝 (6) | 2024.11.12 |
| [모니터링] 프로메테우스 + 그라파나 모니터링 시스템 구축하기 (feat micrometer) (70) | 2024.02.14 |
| 아파치 카프카(APACHE Kafka) 그게 도대체 뭔데 😤 카프카 기본 개념에 대해 알아보자 (93) | 2023.11.17 |
| 자주 사용하는 linux 필수 명령어 모음 (2) | 2023.07.23 |