

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

# EC2로 리플랫포밍
<a name="replatform-to-ec2"></a>

AWS의 Cloud Migration Factory 솔루션을 사용하면 데이터 스토어에 정의된 구성에서 EC2 인스턴스 그룹을 자동으로 시작하여 EBS 볼륨이 연결된 EC2 인스턴스를 배포할 수 있습니다. 이를 통해 새 EC2 인스턴스를 프로비저닝하여 AWS CloudFormation을 통해 리플랫포밍하고 단일 CMF 사용자 인터페이스 내에서 AWS MGN을 사용하여 온프레미스 서버를 리호스팅할 수 있습니다. 이 기능을 사용하려면 먼저 데이터 스토어에 서버 정의가 포함되어 있어야 합니다. 이 문제가 해결되면 서버를 웨이브에 연결해야 합니다. EC2 인스턴스를 시작하기로 결정하면 사용자는 웨이브에 대해 다음과 같은 동작을 할 수 있습니다.
+ EC2 입력 검증
+ EC2 CF 템플릿 생성
+ EC2 배포

## 사전 조건
<a name="prerequisites-1"></a>

리플랫포밍 속성 액세스를 추가할 수 있는 권한

## 스크립트 실행 플랫폼 선택
<a name="script-execution-platform-selection"></a>

자동화 스크립트를 배포하기 전에 필요에 가장 적합한 컴퓨팅 플랫폼을 결정합니다.
+  **기존 자동화 서버**: 복잡한 종속성, 여러 프로그래밍 언어 또는 특정 OS 요구 사항이 필요한 시나리오에 가장 적합
+  **SSM 자동화 문서**: 온프레미스 환경에 액세스할 필요가 없는 표준 Python 기반 자동화 스크립트에 권장

## 초기 구성
<a name="initial-configuration"></a>

새 EC2 인스턴스의 구성은 사용자 인터페이스를 사용하여 새 서버 항목을 만들거나 서버 항목이 포함된 CSV 인테이크 양식을 가져오는 방식으로 수행됩니다. 이러한 정의는 AWS CMF 인스턴스가 배포된 동일한 AWS 계정 내의 S3 버킷에 저장된 AWS CloudFormation 템플릿으로 변환됩니다. S3 

### 사용자 인터페이스 정의
<a name="user-interface-definition-1"></a>

EC2로 리플랫포밍 기능과 함께 사용할 AWS Cloud Migration Factory 데이터 스토어에서 서버를 정의할 때 서버를 **리플랫포밍**의 **마이그레이션 전략**으로 구성해야 합니다. **리플랫포밍**을 선택하면 이 기능에 필요한 추가 속성이 화면에 표시됩니다. 기능이 작동하려면 다음 속성을 채워야 합니다.

#### 필수 속성
<a name="required-attributes"></a>

 **AMI Id** - EC2 인스턴스를 시작하는 데 사용되는 Amazon Machine Image의 ID입니다.

 **가용 영역** - EC2 인스턴스가 배포될 AZ입니다.

 **루트 볼륨 크기 **- 인스턴스에 대한 루트 볼륨의 GB 단위 크기입니다.

 **인스턴스 유형** - 사용할 EC2 인스턴스 유형입니다.

 **보안 그룹 ID** - 인스턴스에 할당된 보안 그룹 목록입니다.

 **서브넷 ID** -이 EC2 인스턴스를 할당할 서브넷 ID입니다.

 **테넌시** - 현재 EC2로 리플랫포밍 통합에 지원되는 유일한 옵션은 **공유**입니다. 다른 옵션은 템플릿이 생성될 때 **공유**로 대체됩니다.

#### 선택적 속성
<a name="optional-attributes"></a>

 **세부 모니터링 활성화** - 세부 모니터링을 활성화하려면 확인합니다.

 **추가 볼륨 이름** - 추가 EBS 볼륨 이름 목록입니다. 목록의 각 항목은 **크기** 및 **유형** 목록과 동일한 줄에 매핑되어야 합니다.

 **추가 볼륨 크기 **- 추가 EBS 볼륨 크기 목록입니다. 목록의 각 항목은 **이름** 및 **유형** 목록과 동일한 줄에 매핑되어야 합니다.

 **추가 볼륨 유형** - 추가 EBS 볼륨 유형 목록입니다. 목록의 각 항목은 **이름** 및 **크기** 목록과 동일한 줄에 매핑되어야 합니다. 지정하지 않을 경우 모든 볼륨의 기본값은 **gp2**입니다.

 **볼륨 암호화를 위한 EBS KMS 키 ID** - EBS 볼륨이 암호화되는 경우 **키 ID**, 키 **ARN, 키** **별칭** 또는 **별칭 ARN을** 지정합니다.

 **EBS 최적화 활성화** - **EBS 최적화**를 켜려면 선택합니다.

 **루트 볼륨 이름** - 제공된 옵션 중에서 선택합니다. 지정하지 않으면 ID가 사용됩니다.

 **루트 볼륨 유형** - 생성할 볼륨의 EBS 유형을 제공합니다. 지정하지 않으면 기본값은 **gp2**입니다.

### 인테이크 양식 정의
<a name="intake-form-definition-1"></a>

인테이크 양식에는 csv 파일의 단일 행에 데이터 스토어를 사용하여 여러 유형의 레코드를 만들거나 업데이트하기 위한 세부 정보가 포함될 수 있으므로 관련 데이터를 가져올 수 있습니다. 다음 예시에서는 가져오는 동안 웨이브, 애플리케이션 및 서버 레코드가 자동으로 생성되고 상호 연관됩니다.

예: 인테이크 양식


| 열 이름 | 예시 데이터 | 필수 | 참고 | 
| --- | --- | --- | --- | 
| wave\_name |  `wave1`  | 예 |  | 
| app\_name |  `app1`  | 예 |  | 
| aws\_accountid |  `1234567890`  | 예 |  | 
| server\_name |  `Server1`  | 예 |  | 
| server\_fqdn |  `Server1`  | 예 |  | 
| server\_os\_family |  `linux`  | 예 |  | 
| server\_os\_version |  `Amazon`  | 예 |  | 
| server\_tier |  `Web`  | 아니요 |  | 
| server\_environment |  `Dev`  | 아니요 |  | 
| subnet\_IDs |  `subnet-xxxxxxx`  | 예 |  | 
| securitygroup\_ID |  `sg-yyyyyyyyyy`  | 예 |  | 
| instanceType |  `m5.large`  | 예 |  | 
| iamRole |  `ec2customrole`  | 아니요 |  | 
| 테넌시 |  `Shared`  | 예 |  | 
| r\_type |  `Replatform`  | 예 |  | 
| root\_vol\_size |  `50`  | 예 |  | 
| ami\_id |  `ami-zzzzzzzzzz`  | 예 |  | 
| availabilityzone |  `us-west-2a`  | 예 |  | 
| root\_vol\_type |  `gp2`  | 아니요 |  | 
| add\_vols\_size |  `40:100`  | 아니요 |  | 
| add\_vols\_type |  `gp2:gp3`  | 아니요 |  | 
| ebs\_optimized |  `false`  | 아니요 |  | 
| ebs\_kmskey\_id |  `1111-1111-1111-1111`  | 아니요 |  | 
| detailed\_monitoring |  `true`  | 아니요 |  | 
| root\_vol\_name |  `Server1_root_volume`  | 아니요 |  | 
| add\_vols\_name |  `Server1_root_volumeA: Server1_root_volumeB`  | 아니요 |  | 

접수 양식을 가져오려면 AWS의 Cloud Migration Factory 솔루션으로 가져오는 다른 데이터와 동일한 프로세스를 따르세요.

## 배포 동작
<a name="deployment-actions"></a>

### EC2 입력 검증
<a name="ec2-input-validation"></a>

인스턴스 파라미터를 정의한 후에는 먼저 웨이브 동작인 **리플랫포밍** > **EC2** > **EC2 입력 검증**을 실행해야 합니다. 이 동작은 유효한 CloudFormation 템플릿을 생성하기 위해 각 서버에 올바른 파라미터가 모두 제공되었는지 확인합니다.

**참고**  
이 검증은 현재 입력 매개 변수가 유효한지 확인하지 않고 각 서버 정의에 입력 매개 변수가 존재하는지만 확인합니다. 템플릿을 만들기 전에 값이 정확한지 확인해야 하며, 그렇지 않으면 템플릿 배포가 실패합니다.

### EC2 CloudFormation 템플릿 생성
<a name="ec2-generate-cloud-formation-template"></a>

웨이브에 포함된 모든 서버의 정의가 확인되면 CloudFormation 템플릿을 생성할 수 있습니다. 이 작업을 수행하려면 웨이브 동작(**리플랫포밍** > **EC2** > **EC2 CF 템플릿 생성**)을 실행합니다. 이 동작은 현재 진행 중인 각 애플리케이션에 대해 CloudFormation 템플릿을 생성하며, 이 애플리케이션의 서버에는 **리플랫포밍**의 **마이그레이션 전략**이 있습니다. 다른 마이그레이션 전략이 정의된 서버는 템플릿에 포함되지 않습니다.

실행되면 각 애플리케이션의 템플릿이 S3 버킷에 저장됩니다. **-gfbuild-cftemplates **는 AWS의 Cloud Migration Factory 솔루션이 배포될 때 자동으로 생성되었습니다. 이 버킷의 폴더 구조는 다음과 같습니다.
+ [대상 AWS 계정 ID]
+ [웨이브 이름]
  +  **CFN\_Template\_** ** \\\_ ** ** "0"yaml ** 

생성 동작을 실행할 때마다 새 버전의 템플릿이 S3 버킷에 저장됩니다. 템플릿의 S3 URIs는 알림에 제공되며, 배포 전에 필요에 따라 이러한 템플릿을 검토하거나 편집할 수 있습니다.

CloudFormation 템플릿은 현재 다음과 같은 CloudFormation 리소스 유형을 생성합니다.
+ AWS::EC2::Instance
+ AWS::EC2::Volume
+ AWS::EC2::VolumeAttachment

### EC2 배포
<a name="ec2-deployment"></a>

새 EC2 인스턴스를 배포할 준비가 되면 웨이브 동작 **리플랫포밍** > **EC2** > **EC2 배포**를 통해 **EC2 배포** 동작을 시작할 수 있습니다. 이 작업은 웨이브의 각 애플리케이션에 대해 최신 버전의 CloudFormation 템플릿을 사용하고 AWS CloudFormation을 통해 선택한 대상 계정에 이러한 템플릿을 배포합니다.