클라우드 전환이 점점 가속화되면서, 기존 온프레미스 환경에서 AWS로의 마이그레이션을 고려하는 기업과 개인 사용자가 많아지고 있습니다. VMware ESXi에서 운영 중인 가상 머신(VM)을 AWS로 이전하는 과정을 작성했습니다.
이번 글에서는 awscli 를 이용하여 빠른 마이그레이션을 해보았습니다.
전제 조건
- 가상 서버에 AWS CLI가 설치 및 설정되어 있어야 합니다.
- 마이그레이션할 데이터를 저장할 S3 버킷이 있어야 합니다. (사용할 버킷: arn:aws:s3:::sungbin-mgn-bucket)
- IAM 역할 및 권한이 할당되어 있어야 합니다.
1. AWS VM Import/Export 활성화
AWS에서 VMware 기반 가상 머신을 가져오기 위해 VM Import/Export 기능을 활성화해야 합니다.
1-1. AWS CLI 설정
로컬 머신에서 AWS CLI를 설정합니다.
aws configure
- AWS Access Key ID: 입력
- AWS Secret Access Key: 입력
- Default region name: ap-northeast-2
- Default output format: json
1-2. S3 버킷 확인
마이그레이션할 VM 이미지를 업로드할 S3 버킷이 준비되어 있는지 확인합니다.
aws s3 ls
aws s3 ls s3://sungbin-mgn-bucket
만약 존재하지 않는다면, 다음 명령어로 버킷을 생성합니다.

2. VMware ESXi에서 OVF/OVA 이미지 생성
서버를 종료하고, ESXi에서 가상 머신을 OVA(VMDK 포함) 또는 VMDK 파일로 내보냅니다.
- vSphere Client 접속 → 대상 VM 선택 → Export OVF
- export

- 저장

- 저장 확인

- 참고) OVF -> OVA 변환 방법 (https://sungbin-park.tistory.com/73)
- 다운로드된 파일을 AWS S3에 업로드

- ova 의 경우 용량이 크기에, 시간이 많이 소요됨

3. VM Import 시작 (AMI 변환)
AWS는 OVA/VMDK를 직접 AMI로 변환하는 기능을 콘솔(UI)에서 제공하지 않음. CloudShell 이용 필요
- VM Import 역할 생성
aws iam create-role --role-name vmimport --assume-role-policy-document '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "Service": "vmie.amazonaws.com" },
"Action": "sts:AssumeRole"
}
]
}'
- 역할에 S3 및 EC2 Import 권한 추가
aws iam put-role-policy --role-name vmimport --policy-name vmimport-policy --policy-document '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::sungbin-mgn-bucket",
"arn:aws:s3:::sungbin-mgn-bucket/*"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:ModifySnapshotAttribute",
"ec2:CopySnapshot",
"ec2:RegisterImage",
"ec2:Describe*"
],
"Resource": "*"
}
]
}'
- VM Import 실행 (OVA -> AMI 변환)
aws ec2 import-image --cli-input-json '{
"Description": "CentOS7 ESXi Migration",
"DiskContainers": [
{
"Description": "CentOS7 VM",
"Format": "ova",
"UserBucket": {
"S3Bucket": "sungbin-mgn-bucket",
"S3Key": "master.ova"
}
}
]
}'
- 변환 상태 확인 (시간이 오래 걸린다)
aws ec2 describe-import-image-tasks

"StatusMessage": "converting"

"Status": "Completed

4. 생성된 AMI 확인 (Management Console 사용)
- AWS 콘솔에서 EC2 서비스로 이동합니다.
- 왼쪽 메뉴에서 이미지 → AMI를 선택합니다.

5. EC2 인스턴스 생성 (Management Console 사용)
- AMI 선택 단계에서 변환된 AMI를 선택합니다.

공인 IP 할당 받은 뒤 접속 가능 여부 확인
- CentOS 이기 때문에, Instance COnnect 가 아닌 Putty 로 사용

- 정말로 같음을 확인

마이그레이션을 통해 배운 점
1. 온프레미스 환경에서 클라우드로의 이전이 점점 쉬워지고 있다
과거에는 온프레미스 환경에서 클라우드로 이전하는 과정이 복잡하고 까다로웠지만, AWS의 VM Import/Export 기능과 UI 지원을 이용하면 비교적 간편하게 기존 VMware 환경을 AWS로 옮길 수 있습니다. 이를 통해 클라우드 전환에 대한 부담이 줄어들었으며, 다양한 기업이 손쉽게 마이그레이션을 고려할 수 있는 환경이 조성되었습니다.
2. CLI 활용 장점
AWS CLI를 이용하면 UI 없이도 쉽게 마이그레이션이 가능. 적극 추천!
'☁️Cloud > AWS' 카테고리의 다른 글
로컬 MariaDB → AWS DMS 마이그레이션 실습 (0) | 2025.04.18 |
---|---|
AWS MGN을 이용한 마이그레이션 (0) | 2025.03.16 |
AWS IAM Access Key 생성 가이드 (1) | 2025.03.14 |
Auto Scaling 임계값(Threshold) 설정 기준 (0) | 2025.02.18 |
AWS Distributed Load Testing (DLT) on AWS Fargate 상세 설정 방법 (1) | 2025.02.15 |