기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
기본 IIS 마이그레이션 수행
이 섹션에서는 eb migrate 명령을 사용해 IIS 애플리케이션을 Elastic Beanstalk으로 마이그레이션하는 과정을 설명합니다.
IIS 환경 탐색
변경을 수행하기 전에 서버에 어떤 리소스가 존재하는지 파악해야 합니다. 먼저 다음 예시와 같이 eb migrate explore을 실행해 IIS 사이트를 탐색하세요.
PS C:\migrations_workspace>eb migrate explore
이 명령은 IIS 사이트를 표시합니다. 다음 목록을 참조하세요.
Default Web Site
Intranet
API.Internal
Reports
바인딩, 애플리케이션, 가상 디렉터리를 포함한 각 사이트의 자세한 구성을 보려면 다음 예시와 같이 --verbose 옵션을 추가하세요.
PS C:\migrations_workspace>eb migrate explore --verbose
다음 목록은 해당 명령이 제공하는 환경에 대한 종합 정보를 보여 줍니다.
1: Default Web Site:
- Bindings:
- *:80:www.example.com
- *:443:www.example.com
- Application '/':
- Application Pool: DefaultAppPool
- Enabled Protocols: http
- Virtual Directories:
- /:
- Physical Path: C:\inetpub\wwwroot
- Logon Method: ClearText
- Application '/api':
- Application Pool: ApiPool
- Enabled Protocols: http
- Virtual Directories:
- /:
- Physical Path: C:\websites\api
- Logon Method: ClearText
2: Intranet:
...
3. API.Internal:
...
4. Reports:
...
검색 출력 이해
자세한 출력은 마이그레이션 계획에 중요한 다음 정보를 제공합니다.
- 사이트
-
탐색 출력에는 서버의 모든 IIS 사이트가 나열됩니다. 각 사이트는 이름(예: "Default Web Site", "Intranet", "API.Internal")으로 식별되며 순차적으로 번호가 매겨집니다. 서버에 여러 사이트가 있는 경우,
eb migrate명령은 마이그레이션 전략에 따라 각 사이트를 개별적으로 또는 함께 패키징하고 배포할 수 있습니다. - 바인딩
-
프로토콜 바인딩은 사이트가 사용하는 프로토콜(HTTP/HTTPS)과 운영되는 포트를 보여 줍니다. 바인딩 정보에는 도메인 기반 라우팅 구성을 정의하는 호스트 헤더 요구 사항이 포함됩니다.
- 애플리케이션
-
애플리케이션 경로는 IIS 구성 내에서 루트 및 중첩된 애플리케이션 구조를 모두 보여 줍니다. 애플리케이션 풀 할당은 보안 및 리소스 관리를 위해 애플리케이션이 서로 어떻게 격리되는지를 나타냅니다.
- 가상 디렉터리
-
물리적 경로 매핑은 콘텐츠가 파일 시스템에 있는 위치를 나타냅니다. 인증 설정은 마이그레이션 후에도 유지해야 하는 특별한 액세스 요구 사항을 보여 줍니다.
마이그레이션 준비
환경을 파악한 후 서버가 필수 조건을 충족하는지 확인하세요. 먼저 다음 PowerShell 명령으로 IIS 버전을 확인하세요.
PS C:\migrations_workspace>Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\InetStp\" -Name MajorVersion
IIS 7.0 이상이 필요합니다. 마이그레이션 도구는 애플리케이션 패키징에 Web Deploy 3.6을 사용합니다. 다음 명령으로 설치 상태를 확인하세요.
PS C:\migrations_workspace>Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3" -Name InstallPath
서버에 Web Deploy가 설치되어 있지 않은 경우, Microsoft Web Platform Installer
첫 번째 마이그레이션
기본 웹 사이트의 기본 마이그레이션부터 시작해 보겠습니다. 다음은 가장 단순한 명령인 eb migrate를 설명하는 예입니다.
PS C:\migrations_workspace>eb migrate
이 명령은 다음 예시 출력과 같이 일련의 자동화된 단계를 시작합니다.
Identifying VPC configuration of this EC2 instance (i-0123456789abcdef0)
id: vpc-1234567890abcdef0
publicip: true
elbscheme: public
ec2subnets: subnet-123,subnet-456,subnet-789
securitygroups: sg-123,sg-456
elbsubnets: subnet-123,subnet-456,subnet-789
Using .\migrations\latest to contain artifacts for this migration run.
Generating source bundle for sites, applications, and virtual directories...
Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip
마이그레이션 도구는 배포 아티팩트를 포함하는 구조화된 디렉터리를 생성합니다. 다음 목록은 디렉터리 구조를 보여 줍니다.
C:\migration_workspace\
└── .\migrations\latest\
└── upload_target\
├── DefaultWebSite.zip
├── aws-windows-deployment-manifest.json
└── ebmigrateScripts\
├── site_installer.ps1
├── permission_handler.ps1
└── >other helper scripts<
마이그레이션 제어
마이그레이션 프로세스를 보다 세밀하게 제어하려면 다음 명령을 사용해 마이그레이션할 사이트를 정확하게 지정할 수 있습니다.
PS C:\migrations_workspace>eb migrate --sites "Default Web Site,Intranet"
다음 예시 명령처럼 환경 이름과 애플리케이션 이름을 사용자 지정할 수도 있습니다.
PS C:\migrations_workspace>eb migrate ` --sites "Default Web Site" ` --application-name "CorporateApp" ` --environment-name "Production"
전체 옵션 목록은 eb migrate 섹션을 참조하세요.
진행 상황 모니터링
마이그레이션 중에 eb migrate는 실시간 상태 업데이트를 제공합니다. 다음 출력 예시를 참조하세요.
... Creating application version Creating environment... This may take a few minutes 2024-03-18 18:12:15 INFO Environment details for: Production Application name: CorporateApp Region: us-west-2 Deployed Version: app-230320_153045 Environment ID: e-abcdef1234 Platform: 64bit Windows Server 2019 v2.7.0 running IIS 10.0 Tier: WebServer-Standard-1.0 CNAME: production.us-west-2.elasticbeanstalk.com Updated: 2024-03-20 15:30:45 2025-03-18 18:12:17 INFO createEnvironment is starting. 2025-03-18 18:12:19 INFO Using elasticbeanstalk-us-east-1-180301529717 as Amazon S3 storage bucket for environment data. 2025-03-18 18:12:40 INFO Created security group named: sg-0fdd4d696a26b086a 2025-03-18 18:12:48 INFO Environment health has transitioned to Pending. Initialization in progress (running for 7 seconds). There are no instances. ... 2025-03-18 18:23:59 INFO Application available at EBMigratedEnv-arrreal3.us-east-1.elasticbeanstalk.com. 2025-03-18 18:24:00 INFO Successfully launched environment: EBMigratedEnv-arrreal3
마이그레이션 확인
환경이 준비되면 Elastic Beanstalk은 배포를 검증할 수 있는 여러 방법을 제공합니다.
- 애플리케이션에 액세스
-
웹 브라우저에서 애플리케이션 URL(CNAME)을 열어 정상적으로 동작하는지 확인하세요.
- 환경 상태 확인
-
eb health 명령을 사용해 환경의 상태를 확인하세요.
PS C:\migrations_workspace>eb health다음 화면 이미지는 인스턴스 상태, 애플리케이션 응답 지표, 시스템 리소스 사용률을 보여 줍니다.
- 문제가 있는 경우 로그에 액세스하기 위해 eb logs 명령을 사용해 문제를 해결하세요.
-
PS C:\migrations_workspace>eb logs --zipeb logs 명령은 로그를
.elasticbeanstalk/logs디렉터리로 다운로드합니다. 자세한 내용은 Amazon CloudWatch Logs에서 Elastic Beanstalk 사용 섹션을 참조하세요. - 인스턴스에 연결
-
마이그레이션 중 키 페어를 지정한 경우, RDP를 사용해 인스턴스에 연결하여 직접 문제를 해결할 수 있습니다.
- Elastic Beanstalk 콘솔에 액세스
-
환경 관리 콘솔을 통해 환경 상태, 로그 및 구성 속성을 확인할 수 있습니다.
마이그레이션 아티팩트 관리
이 eb migrate 명령은 마이그레이션 과정에서 로컬 아티팩트를 생성합니다. 이 아티팩트에는 민감한 정보가 포함될 수 있으며 시간이 지나면서 상당한 디스크 공간을 사용할 수 있습니다. 다음 예시와 같이 cleanup 하위 명령을 사용해 이러한 아티팩트를 관리하세요.
PS C:\migrations_workspace>eb migrate cleanupAre you sure you would like to cleanup older artifacts within ./migrations/? (Y/N):
확인 없이 강제 정리하려면 --force 옵션을 사용하세요.
PS C:\migrations_workspace>eb migrate cleanup --force
정리 과정에서는 ./migrations/latest 디렉터리에 가장 최신의 성공적인 마이그레이션만 유지하고 이전 마이그레이션 디렉터리는 삭제합니다.