BLOG

vmware 상에 있는 OS의 aws ec2로의 이전
작성일: 2016-03-24

VMware에서 운영중인 시스템을 AWS의 Import를 이용하여 AWS로 이전이 가능합니다.

 
관련된 docs문서는 아래와 같습니다
이제부터 VMware에서 운영중인 OS를 AWS의 EC2로 이전시켜보도록 하겠습니다.
 

# 테스트 환경

 – VMware Version : 12.0.1 build-3160714
 – VM-image
  -> OS : CentOS release 6.5 (Final)
  -> Kernel : 2.6.32-431.el6.x86_64

 

이전할 OS에 접속하여 네트워크 장치의 설정이 ONBOOT=yes와 BOOTPROTO=dhcp로 설정을 확인하고,

 

aws 환경을 고려하여 가상장치 중에서 cd-rom은 제거합니다.
vmware에 올린 centos이 설정을 마친 후, 아래와 같이 ovf로 export합니다.
진행하게 되면 아래와 같이 파일들이 생성됩니다.
생성된 파일중, vmdk 파일을 S3에 업로드 합니다.
업로드하는 방식에는 cli를 이용하는 방법과 콘솔을 이용하는 방법 중 익숙한 방법으로 업로드 합니다.
IAM에서 유저를 생성 후, S3에 대한 권한을 부여합니다.
root권한의 AccessKeyId로도 가능하겠지만, AWS에서는 root권한으로의 작업은 권장하지 않는 것으로 알고 있습니다.
Import시, 생성한 유저 ID를 사용하는 것이 아니라, AccessKeyId만 사용합니다.
S3의 vmdk파일을 스냅샷으로 옮기는 과정은 aws cli를 이용하여 진행하였습니다.
aws cli의 설치 및 셋팅은 아래의 url을 참고하여 설치를 진행하면 됩니다.
설치 후, cli 상에서 명령어가 제대로 안된다면 명령프롬프트(CMD)에서 aws configure를 입력 후, 설정을 한 후 진행하시면 됩니다.
aws cli를 이용하여 아래와 같이 입력합니다.

aws ec2 import-snapshot –cli-input-json "{  \"Description\": \"centos\", \"DiskContainer\": { \"Description\": \"First CLI snap\", \"Url\": \"https://s3-ap-northeast-1.amazonaws.com/s3tester1124/AMI/CentOS_64-bit-disk1.vmdk" }, \"ClientToken\": \"abc\" }"

 

위 내용 중 수정할 부분입니다.

 


aws ec2 describe-import-snapshot-tasks –cli-input-json
“{  \”Description\”: \”centos\”, \”DiskContainer\”: { \”Description\”: \”First CLI snap\”, \”Url\”:
==> centos : description입니다. 임의 수정가능합니다.
\”S3상의 vdmk경로?AWSAccessKeyId=키값
==> S3상의 vdmk경로 : S3에 올린 vdmk파일의 경로를 넣습니다.
==> AWSAccessKeyId : S3의 권한이 있는 키값을 넣습니다.
&Expires=2015-12-12&Signature=signature\” }, \”ClientToken\”: \”abc\” }”
==> Expires=2015-12-12 : 해당 스냅샷의 생명주기관련 설정입니다. 해당 구문은 삭제 하여도 영향은 없었습니다.
==> abc : 토큰방식으로 진행되는 듯하며, 반복시 이 값을 변경시켜야합니다.
        ex.) abc1, 111.. 등…

 

위 명령어를 실행하게 되면 아래와 같은 내용이 명령프롬프트에 출력이 됩니다.
Idimport-snap-ffvjqyy7이라는 것이 Description에 기재된 스냅샷이 현재 pending 중입니다.
용량에 따라 시간 경과는 다르지만 17G기준으로 약 10분정도 기다리면 아래와 같이 스냅샷이 생성됩니다.
(17G는 Vmware에서 이미지의 Disk 크기의 용량입니다.)
시간이 10분여로 걸리는 이유는 vmdk 파일의 경우 1G이하의 용량이었지만,
생성된 스냅샷의 용량은 vmware에서 초기 설정시 입력한 용량과 동일한 용량으로 생성이 되기때문입니다.
이 작업 에 생성한 vmware의 용량은 17G였습니다.
이렇게 생성된 스냅샷을 이용하여 ec2를 생성하면 됩니다.
 
콘솔상에서 create image를 이용하여 AMI를 생성 후, launch하여 원하는 타입으로 ec2 생성이 가능합니다.
 
EC2 생성시 적용하는 role, SG(Security Group), VPC, Subnet, Routing의 설정은 생략하지만,
 
목적에 맞게 설정하여 사용하시기바랍니다.
 
관리포트(ex. ssh, rdp)들이 외부 anyware로 열려있는 것은 권장하지 않습니다.
 
이상 VMware상의 OS를 AWS로의 이전 가이드였습니다.