본문 바로가기
AWS/AWS 구축

[AWS Migration]AWS EC2 마이그레이션(OVA)

by aws-evan 2022. 3. 2.
반응형

AWS EC2 마이그레이션

1. VM Import

  • 기존 VM -> OVA 형식 추출

1.1 Vmware Workstaion OVA 추출

- File -> Export to OVF

 

ovf → ova 확장자 변경

2. AWS CLI 설치

2.1 CLI 설정

#aws configure
access key : 
secret access key :
region :
format : JSON

3. CLI S3 Import

  • 사전 작업 : 로컬 환경 → S3 Import 하기 위함 Plicy 정책 만들기

참조 문서(필수 서비스 역할) : https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html)

3.1 IAM Policy 생성하기

vi vmpolicy.json

3.2 vmimport 권한 부여

  • VM Import/Export 하기 위한 권한
{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": { "Service": "vmie.amazonaws.com" },
         "Action": "sts:AssumeRole",
         "Condition": {
            "StringEquals":{
               "sts:Externalid": "vmimport"
            }
         }
      }
   ]
}

3.3 vmimport 정책 적용

aws iam create-role --role-name vmimport --assume-role-policy-document "file://vmpolicy.json"

3.4 OVA → AMI 변환 권한 부여

  • s3polic.json 파일 생성
  • evan-import : S3 Bucket 이름
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetBucketLocation",
            "s3:GetObject",
            "s3:ListBucket" 
         ],
         "Resource":[
            "arn:aws:s3:::evan-import",
            "arn:aws:s3:::evan-import/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "ec2:ModifySnapshotAttribute",
            "ec2:CopySnapshot",
            "ec2:RegisterImage",
            "ec2:Describe*"
         ],
         "Resource":"*"
      }
   ]
}
aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document "file://s3policy.json"

3.5 OVA 이미지 S3 업로드

aws s3 cp **Windows_Server_2016.ova** s3://**S3 Bucket Name**

3.6 OVA → AMI 변환하기 위한 Json 파일

[
  {
    "Description": "My Server OVA",
    "Format": "ova",
    "UserBucket": {
        "S3Bucket": "S3 Bucket Name",
        "S3Key": "파일명.ova"
    }
  }
]

3.7 OVA → AMI 변환 명령어

  • file://”경로”
#절대경로
aws ec2 import-image --description "My Server OVA" --disk-containers "file:///Users/kimjintae/Study/AWS_CLI/S3/containers.json"

#상대경로
aws ec2 import-image --description "My Server OVA" --disk-containers file://containers.json

3.8 AMI 변환 확인(CLI)

aws ec2 describe-import-image-tasks --import-task-ids "ImportTaskId 명"

3.9 AMI → EC2 생성하기

  • 인스턴스 시작
  • 프리티어는 사용 불가(ova 작업한 스펙이 프리티어 스펙이 아니라 적용 불가)

리눅스는 제약 조건이 존재하여 작업 전 확인 필수 입니다.

  • 리눅스 / Uninx 제약 조건 참조

Kernel 버전 확인

#uname -r

kernel 확인(Ubuntu)

**#Ubuntu**
dpkg -l | grep -i linux-image

**#Centos** 
hostnamectl | grep Kernel

 

 

반응형

'AWS > AWS 구축' 카테고리의 다른 글

[AWS ALB] Application Load Balancer Access Log 수집  (0) 2021.11.08
[AWS ELB] AWS Elastic Load Balance 생성  (0) 2021.09.06

댓글