ASP.NET 웹 애플리케이션을 AWS Elastic Beanstalk로 마이그레이션

대화형 Windows Web Application Migration Assistant(WWAMA) 사용

개요

이 실습의 목적은 Windows Web Application Migration Assistant(WWAMA)를 사용하여 샘플 ASP.NET 웹 애플리케이션을 완전관리형 AWS Elastic Beanstalk 환경으로 마이그레이션하는 것입니다. Windows Web Application Migration Assistant에 대한 추가 정보는 여기에서 확인할 수 있습니다.

예상 결과

샘플 ASP.NET 웹 애플리케이션이 완전관리형 AWS Elastic Beanstalk 환경으로 마이그레이션됩니다.

사전 조건

EC2 인스턴스, 키 페어, 보안 그룹, IAM 사용자 및 Elastic Beanstalk 환경을 생성하려면 AWS 계정과 IAM 권한이 필요합니다. 이 자습서는 마이그레이션을 위한 소스 웹 애플리케이션이 될 EC2 인스턴스에서 샘플 웹 사이트를 자동으로 프로비저닝하는 AWS CloudFormation 템플릿을 배포합니다.  

자습서 소개
시간 15분                                           
요금 프리 티어 적격
사용 사례 Windows 애플리케이션 마이그레이션
제품 AWS Elastic Beanstalk
대상 개발자
레벨 초보자
최종 업데이트 날짜 2020/3/30

1. AWS에 가입하기

이 자습서에서 사용되는 CloudFormation 템플릿은 t2.micro EC2 인스턴스를 시작합니다. t2.micro 인스턴스 유형은 프리 티어에 포함됩니다. 다른 인스턴스 유형을 선택하는 경우 EC2 요금이 발생합니다. EC2 요금 페이지에서 EC2 요금을 추산할 수 있습니다.

 

계정이 있습니까? 로그인

2. 설정 및 구성

샘플 웹 사이트를 호스트할 EC2 인스턴스를 CloudFormation을 사용하여 시작합니다. 그런 다음에 필요한 IAM 권한을 설정합니다.

a. CloudFormation을 통해 EC2 인스턴스 시작

CloudFormation을 사용하여 US-East-1에서 EC2 인스턴스를 시작합니다.

CloudFormation 스택 시작 >>

그런 다음에 [다음]을 클릭합니다.

WWAMA - CFN

기존 키 페어를 선택하거나, 아직 없는 경우에는 키 페어를 생성합니다. 그런 다음에 [다음]을 클릭합니다.

WWAMA - 2

[스택 옵션 구성] 화면에서 [다음]을 클릭합니다. [검토] 화면 아래쪽에서 [스택 생성]을 클릭합니다.  

 

WWAMA - 3

스택이 생성되면 상태가 'CREATE_COMPLETE'로 변경되는 것을 볼 수 있습니다.

 

WWAMA - 5

b. IAM 사용자 생성

IAM 콘솔에 로그인 >>

왼쪽 탐색 메뉴에서 [사용자]를 클릭한 후 [사용자 추가]를 클릭합니다.

사용자 이름 MigrationUser를 입력하고, [프로그래밍 방식 액세스] 확인란을 선택하고, [다음:권한]을 클릭합니다.

WWAMA - 6

[기존 정책 직접 첨부]를 클릭하고 검색 창에 Beanstalk를 입력하여 정책을 필터링합니다.

다음 AWS 관리형 정책의 확인란을 클릭한 후 [다음:태그]를 클릭합니다.

  • IAMReadOnlyAccess
  • AWSElasticBeanstalkFullAccess

 

WWAMA - 8

[다음:검토]를 클릭한 후 [사용자 생성]을 클릭합니다.


 

 

WWAMA - 9

사용자가 생성된 후에 화면이 나타나면 [CSV 다운로드]를 클릭합니다.

 

 

WWAMA - 10

3. EC2 콘솔에 로그인하고 WWAMA 도구를 실행하도록 설정

a. EC2 콘솔로 이동 및 로그인

여기에서 EC2에 로그인 >>

EC2 콘솔에 로그인되었으면 WWAMA 인스턴스를 선택하고 [연결]을 클릭합니다.

WWAMA - launch-instance

[원격 데스크톱 다운로드] 파일을 클릭하고 RDP 파일을 저장합니다. 그런 다음에 [암호 받기]를 클릭하고 키 페어 파일을 업로드하여 Windows Server 암호를 가져옵니다. 암호가 일반 텍스트로 표시됩니다. 다음 단계에서 필요하므로 복사합니다.

 

 

WWAMA - RDP_LI

앞서 저장한 RDP 파일을 사용하여 EC2 인스턴스에 로그인하고 암호를 제공합니다.

 

 

b. EC2 Windows Server에서 PowerShell 터미널 열기

관리자 권한으로 PowerShell 터미널을 열고 아래의 오른쪽 샘플에 제공된 명령을 실행하여 AWS 자격 증명을 구성합니다. MigrationUser를 생성하는 동안 ACCESS_KEYSECRET_ACCESS_KEY를 앞서 다운로드한 .CSV에 있는 값으로 대체합니다.

 

WWAMA - 13
PS C:\> Import-Module AWSPowerShell
PS C:\> Set-AWSCredential -AccessKey ACCESS_KEY -SecretKey SECRET_ACCESS_KEY -StoreAs default

c. Migration Assistant 파일 압축 해제

Migration Assistant는 CloudFormation 템플릿에 의해 C:\에 미리 다운로드되어 있습니다. 파일 이름은 wwama.zip입니다.

wwama.zip을 마우스 오른쪽 버튼으로 클릭하고 도우미를 압축 해제합니다.

WWAMA - 14

d. 마이그레이션 전에 샘플 웹 사이트 보기

EC2 Windows Server 인스턴스에서 웹 브라우저를 열고 http://localhost/로 이동합니다. Migration Assistant가 마이그레이션할 샘플 웹 사이트가 표시됩니다.

WWAMA - localhost_LI

4. Migration Assistant 실행

a. MigrateIISWebsiteToElasticBeanstalk.ps1 스크립트 시작

앞서 연 PowerShell 터미널에서 마이그레이션 스크립트를 시작합니다.

자격 증명 파일의 위치를 묻는 메시지가 표시됩니다. ENTER 키를 눌러 건너뜁니다.

AWS 프로파일 이름을 묻는 메시지가 표시되면 default를 입력합니다.

   

PS C:\> .\MigrateIISWebsiteToElasticBeanstalk.ps1

b. AWS 리전 선택

Elastic Beanstalk 환경을 실행할 AWS 리전을 입력합니다. 예: us-east-1. Elastic Beanstalk를 사용할 수 있는 AWS 리전의 목록은 AWS 일반 참조에서 AWS Elastic Beanstalk 엔드포인트 및 할당량을 참조하십시오.

 

Enter the AWS Region (default us-east-1):

c. 마이그레이션할 웹 애플리케이션 선택

아래 예와 같이 IIS 서버에서 실행 중인 모든 웹 사이트가 검색되고 나열됩니다.

 

 

WWAMA - 16

숫자 2를 입력하여 샘플 사이트를 마이그레이션합니다.

Enter the number of the website to migrate: (default 1):

d. 연결 문자열 업데이트

그다음에는 위에서 선택한 연결 문자열을 업데이트하라는 메시지가 표시됩니다. 이 애플리케이션에는 연결 문자열이 없으므로 ENTER 키를 누릅니다.

다음 메시지가 나타납니다.

"The migration assistant didn't find any connection strings."

Enter the number of the connection string you would like to update, or press ENTER:

e. Elastic Beanstalk 애플리케이션 설정

그다음에는 새 Elastic Beanstalk 애플리케이션의 이름을 지정합니다.

 

 

Windows Server 버전을 선택하라는 메시지가 표시되면 ‘6’을 입력하고 Enter 키를 누릅니다.

Enter a unique name for your new Elastic Beanstalk application:
WWAMA - 17

애플리케이션을 실행할 인스턴스 유형을 입력합니다. t2.micro를 입력합니다. 전체 목록은 Amazon EC2 인스턴스 유형을 참조하십시오.

Enter the instance type (default t3.medium) : t2.micro

그러면 Migration Assistant가 애플리케이션을 Elastic Beanstalk로 마이그레이션합니다.

 

WWAMA - 18

마이그레이션이 완료되면 CLI에 성공 메시지가 표시됩니다.

 

WWAMA - 19

5. Elastic Beanstalk에서 호스트하는 웹 애플리케이션으로 이동

이제 사이트가 성공적으로 마이그레이션되었으므로 웹 사이트가 가동되고 실행 중인지 확인합니다.

a. 웹 브라우저에서 액세스

PowerShell 스크립트의 출력에서 URL을 가져올 수 있습니다.

URL을 웹 브라우저에 입력하면 이제 Elastic Beanstalk에서 실행되는 웹 애플리케이션을 보게 됩니다.

 

WWAMA - 20
WWAMA - 21

b. Elastic Beanstalk 콘솔에서 액세스

AWS 콘솔에서 Elastic Beanstalk 환경을 볼 수도 있습니다. 애플리케이션을 배포한 곳과 동일한 리전에 대한 콘솔을 보고 있는지 확인합니다. 왼쪽의 메뉴를 사용하여 웹 애플리케이션으로 무엇을 할 수 있는지 자유롭게 살펴봅니다.

 

WWAMA - 22

6. 리소스 정리

이 마지막 단계에서는 모든 리소스를 정리하고 삭제합니다.

a. Elastic Beanstalk 애플리케이션 삭제

Elastic Beanstalk 콘솔로 이동하고 오른쪽의 [Actions] 메뉴를 클릭합니다. 그런 다음 [Terminate Environment]를 선택합니다.

 

 

WWAMA - 22

b. CloudFormation 스택 삭제

CloudFormation 콘솔로 이동하고, 실습을 시작할 때 생성한 CloudFormation 스택 WWAMAStack을 삭제합니다.

 

 

축하합니다!

Windows Web Application Migration Assistant(WWAMA)를 사용하여 샘플 ASP.NET 웹 애플리케이션을 완전관리형 Elastic Beanstalk 환경으로 마이그레이션하는 데 성공했습니다.


AWS Elastic Beanstalk는 Java, .NET, PHP, Node.js, Python, Ruby, Go, Docker를 사용하여 Apache, Nginx, Passenger, IIS와 같은 친숙한 서버에서 개발된 웹 애플리케이션 및 서비스를 간편하게 배포하고 조정할 수 있는 서비스입니다.

코드를 업로드하기만 하면 Elastic Beanstalk가 용량 프로비저닝, 로드 밸런싱, Auto Scaling부터 시작하여 애플리케이션 상태 모니터링에 이르기까지 배포를 자동으로 처리합니다. 이뿐만 아니라 애플리케이션을 실행하는 데 필요한 AWS 리소스를 완벽하게 제어할 수 있으며 언제든지 기본 리소스에 액세스할 수 있습니다.

자세히 알아보려면 AWS Elastic Beanstalk를 방문하십시오.

이 자습서가 유용했습니까?

감사합니다.
좋아하는 사항을 알려주세요.
실망을 드려 죄송합니다.
오래되었거나 혼란스럽거나 부정확한 사항이 있습니까? 피드백을 제공하여 이 자습서를 개선할 수 있도록 도와주십시오.