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

2025. 3. 14. 15:59·☁️Cloud/AWS
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

  • 저장

  • 저장 확인

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

  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

'☁️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
'☁️Cloud/AWS' 카테고리의 다른 글
  • 로컬 MariaDB → AWS DMS 마이그레이션 실습
  • AWS MGN을 이용한 마이그레이션
  • AWS IAM Access Key 생성 가이드
  • Auto Scaling 임계값(Threshold) 설정 기준
terranbin
terranbin
Studying Computer Science
  • terranbin
    Engineer
    terranbin
  • 전체
    오늘
    어제
    • 분류 전체보기 (129)
      • ☁️Cloud (42)
        • AWS (38)
        • MS Azure (4)
      • 🐳 Infra (1)
        • System (12)
        • DRBD (3)
      • 🔌Network (8)
      • 🔹Storage (8)
      • 🔹Kubernetes (15)
      • 🔹 DevOps (8)
      • 🔹Study (4)
      • 🔹Install (6)
      • 🔹ETC (2)
      • 🔹PostMan (6)
      • 🔹Openstack (3)
      • 🔹RcloneView (6)
      • 🔹Test (0)
      • 🔹Debug (2)
      • 🔹DBMS (2)
  • 블로그 메뉴

    • 홈
  • 링크

    • sungbin
    • Github
  • 공지사항

  • 인기 글

  • 태그

    S3
    rocky8
    terraform
    centos7
    aws dlt
    AWS
    rocky9
    Google Drive
    설치
    kubectl
    SAA
    rcloneview
    kubernetes
    postman
    distributed load testing
    EBS
    EC2
    network
    ceph
    OpenStack
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
terranbin
OVA 파일로 VMware → AWS 이전하기! EC2 마이그레이션 완전 정리
상단으로

티스토리툴바