☁️Cloud/AWS

OVA 파일로 VMware → AWS 이전하기! EC2 마이그레이션 완전 정리

terranbin 2025. 3. 14. 15:59
728x90
SMALL

클라우드 전환이 점점 가속화되면서, 기존 온프레미스 환경에서 AWS로의 마이그레이션을 고려하는 기업과 개인 사용자가 많아지고 있습니다. VMware ESXi에서 운영 중인 가상 머신(VM)을 AWS로 이전하는 과정을 작성했습니다.

이번 글에서는 awscli 를 이용하여 빠른 마이그레이션을 해보았습니다.


전제 조건

  1. 가상 서버에 AWS CLI가 설치 및 설정되어 있어야 합니다.
  2. 마이그레이션할 데이터를 저장할 S3 버킷이 있어야 합니다. (사용할 버킷: arn:aws:s3:::sungbin-mgn-bucket)
  3. 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

  • 저장

  • 저장 확인

  • 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 사용)

  1. AWS 콘솔에서 EC2 서비스로 이동합니다.
  2. 왼쪽 메뉴에서 이미지 → AMI를 선택합니다.


5. EC2 인스턴스 생성 (Management Console 사용)

  1. AMI 선택 단계에서 변환된 AMI를 선택합니다.

 

공인 IP 할당 받은 뒤 접속 가능 여부 확인

  •  CentOS 이기 때문에, Instance COnnect 가 아닌 Putty 로 사용
  • 정말로 같음을 확인

마이그레이션을 통해 배운 점

1. 온프레미스 환경에서 클라우드로의 이전이 점점 쉬워지고 있다

과거에는 온프레미스 환경에서 클라우드로 이전하는 과정이 복잡하고 까다로웠지만, AWS의 VM Import/Export 기능과 UI 지원을 이용하면 비교적 간편하게 기존 VMware 환경을 AWS로 옮길 수 있습니다. 이를 통해 클라우드 전환에 대한 부담이 줄어들었으며, 다양한 기업이 손쉽게 마이그레이션을 고려할 수 있는 환경이 조성되었습니다.

2. CLI 활용 장점

AWS CLI를 이용하면 UI 없이도 쉽게 마이그레이션이 가능. 적극 추천!

LIST