기본 IIS 마이그레이션 수행 - AWS Elastic Beanstalk

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기본 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: ...

검색 출력 이해

상세 출력은 마이그레이션 계획을 위해 다음과 같은 중요한 정보를 제공합니다.

Sites

검색 출력에는 서버의 모든 IIS 사이트가 나열됩니다. 각 사이트는 이름(예: "기본 웹 사이트", "인트라넷", "API.Internal")으로 식별되며 순차적으로 번호가 매겨집니다. 서버에 여러 사이트가 있는 경우 eb migrate 명령은 마이그레이션 전략에 따라 각 사이트를 개별적으로 또는 함께 패키징하고 배포할 수 있습니다.

바인딩

프로토콜 바인딩은 사이트에서 사용하는 프로토콜(HTTP/HTTPS)과 해당 프로토콜이 작동하는 포트를 나타냅니다. 바인딩 정보에는 도메인 기반 라우팅 구성을 정의하는 호스트 헤더 요구 사항이 포함됩니다.

Applications

애플리케이션 경로는 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

웹 배포가 서버에 설치되지 않은 경우 Microsoft 웹 플랫폼 설치 관리자 다운로드 페이지에서 다운로드할 수 있습니다.

첫 번째 마이그레이션

기본 웹 사이트의 기본 마이그레이션부터 살펴보겠습니다. 다음 예제는 가장 간단한 명령인를 보여줍니다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 상태 명령의 출력에는 인스턴스 상태, 애플리케이션 응답 지표 및 시스템 리소스 사용률이 표시됩니다.
eb logs 명령을 사용하여 로그에 액세스하여 문제를 해결합니다.
PS C:\migrations_workspace> eb logs --zip

eb logs 명령은 .elasticbeanstalk/logs 디렉터리에 로그를 다운로드합니다. 자세한 내용은 Amazon CloudWatch Logs에서 Elastic Beanstalk 사용 단원을 참조하십시오.

인스턴스에 연결

마이그레이션 중에 키 페어를 지정한 경우 직접 문제 해결을 위해 RDP를 사용하여 인스턴스에 연결할 수 있습니다.

Elastic Beanstalk 콘솔에 액세스

해당 환경의 환경 관리 콘솔을 통해 환경의 상태, 로그 및 구성 속성을 볼 수 있습니다.

마이그레이션 아티팩트 관리

eb migrate 명령은 마이그레이션 프로세스 중에 로컬 아티팩트를 생성합니다. 이러한 아티팩트에는 민감한 정보가 포함되어 있으며 시간이 지남에 따라 상당한 디스크 공간을 소비할 수 있습니다. 다음 예제와 같이 cleanup 하위 명령을 사용하여 이러한 아티팩트를 관리합니다.

PS C:\migrations_workspace> eb migrate cleanup Are you sure you would like to cleanup older artifacts within ./migrations/? (Y/N):

확인 없이 강제 정리하려면 --force 옵션을 사용합니다.

PS C:\migrations_workspace> eb migrate cleanup --force

정리 프로세스는 ./migrations/latest 디렉터리에서 가장 최근에 성공한 마이그레이션을 보존하고 이전 마이그레이션 디렉터리를 제거합니다.