EC2 VM Export 내보내기 AWS to IDC
업데이트:
VM Export 를 사용해서 이미지 내보내기
EC2 VM Import, Export 는 콘솔에서는 작업이 안되며 AWS CLI를 사용해서 이미지를 만들어야한다.
EC2에서 사용하고 있는 모든 이미지를 지원하는 것이 아닌 일부의 AMI에서만 VM Export 기능을 사용할 수 있으니 확인해야 한다.
EC2에서 운영중인 모든 운영체제를 외부로 뺄 수 있는게 아니라 공식문서에서 나열된 일부 운영체제만 가져오기와 내보내기 기능을 지원하고 있다.
- Microsoft Window Server 2008,2012, Window 7,8,8.1,10 등
- Amazon Linux 2
- CentOS, Bebian, Fedora, RHEL 일부버전, Ubuntu 12.04, … 18.04, 20.04 등
인스턴스 VM 내보내기 하는 방법
- 옮기고자 하는 인스턴스의 ID를 확인
- 옮길 S3의 버킷 정책 수정
- 설정하지 않고 넘어가면 버킷에 아무리 퍼블릭 엑세스를 주더라도 접근이 안되어 에러가 발생한다.
- 아래 에러해결 부분에 설명한 버킷 ACL 설정을 진행하여야한다.
- aws cli 를 실행할 위치에 config.json 파일을 생성하여 Container foramt과 내보낼 S3 버킷 위치 지정
-
{ "ContainerFormat": "ova", "DiskImageFormat": "VMDK", "S3Bucket": "my-ec2-export-s3-bucket", "S3Prefix": "vms/" }
- DiskImageFormat 은 “VMDK”, “RAW”, “VHD” 중 선택 가능
- VMDK (Virtual Machine Disk)의 약자로 가상머신에서 사용하는 가상 머신 디스크이다.
- VHD (Virtual Hard Disk)로 가상 하드 디스크이다.
- VMWare에서는 주로 VMDK 형식이 일반적이라 VMDK로 선택하여 진행한다.
-
- aws cli가 가능한 위치에서 아래 명령어 입력
aws ec2 create-instance-export-task --instance-id i-00947d57800000000 --target-environment vmware --export-to-s3-task file://config.json
- ec2 관련 권한이 없다면 실행 가능한 프로파일로 변경하여 진행
- ex)
aws ec2 create-instance-export-task --instance-id i-00947d57800000000 --target-environment vmware --export-to-s3-task file://config.json --profile admin --region ap-northeast-2
- 해당 명령어를 입력하여 작업이 시작되면 해당 인스턴스의 터미널 연결이 잠시 끊기게된다. 수분 정도 였던거같음.
에러 해결
첫번째 에러
An error occurred (NotExportable) when calling the CreateInstanceExportTask operation: This instance has multiple volumes attached. Please remove additional volumes.
인스턴스에 2개의 EBS가 붙어있어서 진행이 안되었다. df 명령어로 어떤 볼륨을 사용하지 않는지 확인해서 EBS 콘솔에 들어가 볼륨분리를 한 후 진행하여야 한다.
공식문서에 인스턴스 내보내기를 위한 고려 사항으로 제약사항들이 설명되어있으므로 참고해야한다.
두번째 에러
READ_ACL and WRITE permissions are required on the destination bucket.
에러가 나올 시 에는 옮길 S3 버킷의 ACL 설정이 빠진것 이다.
https://docs.aws.amazon.com/ko_kr/vm-import/latest/userguide/vmexport.html#vmexport-prerequisites 를 참고하여 ACL 편집에 들어가 Region에 맞는 ID값을 확인해 다른 AWS 계정에 대한 엑세스
에 계정을 추가해야한다.
권한은 객체 쓰기, 버킷 ACL 읽기 를 추가해줘야한다.
세번째 에러
Error parsing parameter '--export-to-s3-task': Expected: '=', received: 'EOF' for input:
export-to-s3-task 옵션에 입력이 잘못된 것이다. file:// 을 붙여주고 경로와 파일명을 지정해줘야한다.
aws ec2 create-instance-export-task --instance-id i-00947d57800000000 --target-environment vmware --export-to-s3-task file://config.json
VM Export 완료 시 결과물
4G 용량의 ova 파일이 만들어지는데 약 40분정도가 걸린것 같다. 이제 다운받아 외부에서 자유롭게 import 하여 사용하면 된다.
참고 문서 aws ec2 create-instance-export-task 에 대한 명령어 상세 정보를 확인해야 될때는 https://docs.aws.amazon.com/cli/latest/reference/ec2/create-instance-export-task.html 에서 확인 가능하다.
댓글남기기